I've had a successful year building and using devices using the CLAC (cirrus logic audio card) since my last visit (http://www.element14.com/community/message/151149/l/re-cirrus-logic-audio-card-working-on-the-raspberry-pi-2#151149). Returning to this discussion area a year later, I still see lots of good work by individuals, and still some frustration. I thought I'd quickly recount my experience to those who helped me - I used Ragnar Jensen's .deb's and got help from him that was invaluable. It is remarkable what is achieved here - on the back of volunteer help - despite people's frustrations and little (no?) input from the manufacturer.
The device I build is an outdoor audio recorder in a waterproof box with a battery. In 2014 it was used with a USB microphone, until I found the Cirrus Logic card. It's been used in 2015 to monitor bird populations by ornithologists. They have collected several terabytes of audio data used for research. The performance has been good - the only device that had to be replaced was literally lost-in-the-forest (the deployer forgot where it was located - so it is surrendered to future archaeology). There have been no hardware failures (20 devices deployed over about 6 months, each recording permanently for as long as the USB battery pack allowed - about 5 days then cycled every week).
The device stores audio in 10-minute long audio files on the SD card, timestamped, and divided into folders one-per-day. I use the really basic "arecord" to do the recording, sending a signal (USR1 via a cronjob) to it every 10 minutes to split the audio file. There is no break in the recording at file-boundaries so you can subsequently concatenate the wav files seamlessly (no clicks, no gaps, no overlaps) - this is necessary for the stats which the ornithologists want. The time-of-day is read at boot-time from the "piface shim" RTC, which works in conjunction with the CLAC without doing anything clever. I found a good source of microphones for outdoor use recently (micbooster.com in the UK) which use the Primo EM172.Z1 capsule, which I hope to use widely in the coming season (2016).
The "user experience" is to flash a SD card with my customised ".img", plug it into the unit, turn on the power bank, close the waterproof lid and walk away. Data recovery involves visiting the recorder, collecting (or swapping) the SD card (and battery), and then copying to your PC back in the lab. This is easy on Mac and Linux, but windows is a nuisance as it won't read my bespoke third FAT partition containing the audio. (This partition is created and formatted at first-boot and uses up all the remainder of the SD card space thereby fully utilising any size of SD card - I recommend 32 or 64Gb cards). Users can pre-customize their images by replacing a special /boot/recorder.conf file (which is read/write-able from Windows - nice). Config options include mic-gain, sample-rate (16/32/44.1KHz). It will have to support stereo/mono for this year (see below).
Plans for the coming year:
(*top priority*) leaarn how to emulate!!!. Developing by ferrying SD cards between my PC and the Raspberry Pi hardware is unmanageably tedious. (looking at pilfs. XEC design has vanished, I find this whole topic hard to get into). I just want to run a few commands on a stock raspbian to install my code, and upgrade to the CLAC-enabled kernel - to produce a ship-able "img" to users, but I currently boot a bare metal Raspberry pi to do this).
1) try the WittyPi (from UUgear) power manager so we can have a calendar of when to record. Hopefully shut down the pi when not in use, and reboot when recording should re-start.
2) move to stereo recording with microphones separated by a meter or so - this will allow direction-of-source analysis to be done back in the lab (x-correlation between L+R). With a pair of such devices pointing at the same outdoor scene, we can triangulate to find the location of the source of the sound (bird, or whatever). (Ironically I spent a lot of time fussing with .asoundrc files to get mono working last year)
3) Integrate using larger 12v batteries (SLA or vehicle batteries) to get deployments of a month or more. This needs a low-loss 12v to 5V (or 3.3v?) regulator.
4) losslessly compress (flac) audio files to increase storage capacity on SD card. (tricky with arecord + kill -USR1) - consider move to gstreamer.
5) move to latest raspbian - integrating 4.? kernel, systemd (does rc.local still work?).
6) Power : does the raspberry pi zero give any saving on power usage (crikey! - no header pins, what a hassle).
7) ultrasound for bats.
I'm sticking with the arm-V6 raspberry pi's (version A+) as the pi-2 (V7) is too power hungry. I'll shortly have to catch up with all the posts on this site regarding what has changed since a year ago. HiassofT's stuff looks interesting and good old Ragnar is hopefully still around. Systemd, jessie, kernel-4.1, device-tree are on my mind.
Note that I don't sell these. I've built a few for friends, but most are assembled by users (they are pretty easy to assemble with my guidance on the phone and email). I'll upload a public copy of the .img if there is any interest - but it is a year old (based on raspbian from February 2015, I think...)
So life is good, and these devices work well. A huge thanks to those who have made this happen. There are real consequences of this work (for a few PhD students, and some British birds at least).
Happy new year to you all.
Images for fun:
First is the bare recorder.
Second is the B+ with piface shim RTC ready for CLAC installation.
Third is the unit in waterproof box, ready to deploy (this is an older version using USB microphone - so no cirrus card on this one).
Fourth is another of the old-fashioned USB mics - this time the anatomy. Note: I've given up on the power-off switch - nobody used it.