BigTom
Hi,
This is very early days in my Nerves journey. Does anyone know what route to take for getting good quality audio recording on Nerves (probably a Raspberry Pi)? Toying with the idea of building a long running bird song recorder for ecological research and wondered if this was at the “sure just use this library” end of the spectrum or at the “read these 8 specs then implement them as a C NIF” end?
Also, I have assumed “high end” is more than a jack/USB mike is capable of but maybe I am overthinking it?
Thanks
Trending in Questions
Hey guys,
I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly
Do you guys have any suggestions what is the best prac...
New
Hello!
Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app.
I creat...
New
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New
Anyone here using Honeybadger?
My Honeybadger account is being overwhelmed with noise from some bots. Seeing a lot of
Bandit.HTTPError...
New
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
Other Trending Topics
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
There are three potential reasons for members of this forum to have a look at https://vutuv.de
You are tired or annoyed of LinkedIn.
Yo...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixir-ls
- #ai
- #elixirconf-us
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 6- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
gus
I would say that the problem greatly depends on the hardware you are using. There are many types of microphones and interfaces but you will likely want to use a HAT with an I2S interface or use a USB sound card.
For the quality of the recordings, I think the biggest factor will be the actual microphone, as the characteristics (such as directionality, frequency range, etc) can vary drastically. I suggest you go with whatever is easiest to acquire and get started with (especially some sort of kit from Adafruit or Sparkfun, as they have good docs)
From the software side, fortunately it all looks pretty similar. Audio is typically handled in the kernel, so you’ll have to customize the nerves system for the board you’re using to add the driver. You might also want to add the alsa package for interacting with the drivers such as recording audio files.
There’s lots of resources and help in the community if you get stuck on this part
al2o3cr
What’s your power budget look like for this application? A lot of fancy audio capture stuff is going to assume you’re either plugged in (studio etc) or only want to use it for a couple hours (live performance and similar)
The simplest (but also probably biggest + most power-hungry) approach would be to use a USB audio capture device or a microphone with one integrated (usually called a “USB mic”).
Other options:
The other neat thing that can be done with the tiny I2S microphones is using a bunch of them and then applying post-processing (similar to techniques used in radar) to form directional “beams” that can be adjusted after recording. This would naturally involve a LOT more data (dozens of audio streams) but could produce results that are impossible with a mono or stereo signal.
D4no0
Does RPI support I2S at hardware level?
lawik
I have built membrane with the portaudio library for Nerves but never got to testing it. Should work fine for getting raw audio into Elixir for processing and media pipeline fun.
The challenge is almost certainly in getting a good microphone setup as mentioned above.
al2o3cr
I believe so:
BigTom
Thanks for this, with current progress and solar and batteries I am pretty confident I can meet the power needs within my budget (unless I am orders of magnitude wrong).
I am starting from a VERY LOW level of knowledge here so I will be starting as simple as possible. OTOH - sounds very cool!