Published code for Raspberry Pi

A project log for High Performance Audio ADC for Machine Learning

A system that can record high quality audio (24 bit, 48kHz 120db SNR) continuously and unattended outdoors.

Filip MulierFilip Mulier 07/31/2021 at 13:190 Comments

I put the working Raspberry Pi code out on github.  It is capable of running on a Pi Zero W writing to either a USB stick or a large microsd (64GB) using about 240mA.  My power source is ~12v with a stepdown regulator.  This draws <100mA at 12 volts.

Recording is controlled by editing a configuration script.  The script allows control over the recording format (ogg, flac, opus).  I recommend either opus for lossy compression (~100MB/hr) or flac (~600MB/hr) for lossless.  The script controls the file chunking, I have used 1 hr files.  So far I have run for multiple days, generating up to 120 files on an hourly basis.   Script also controls the gain settings of the ADC, currently analog and digital gain settings.  Metadata collection settings are also set here.

Following metadata is stored in each audio file (most visible in Rythmbox or other music players)

Date, Title, Artist, Album, Genre, Location, Comment (used for recording gain), tracknumber, tracktotal

A couple odd issues: