The value of this in contexts where data security is an issue cannot be understated
Big problems we see are that
The audio recorder saves a copy of the recording to disk, which has to be manually removed. At present our teams collect a lot of sensitive health data interviews and use RecForge Pro II. It is a very messy process to clean up the files after saving.
Audio files get big very quickly, putting strain on ability to upload media files with limited bandwidth. The Opus format sounds promising if 1 hour of interview comes in at less than 5 MB, but I haven't worked with Opus before and I would love to test an APK to see how this works in the field.
It would be good if the native audio system could be flexible in how it handles files
Audio file encryption using ODK form level encryption. Should work out of the box I guess.
Option to save copy of file to Android storage (in encrypted format)
Option not to send media file with data submission. i.e. leave data file on device but send data without attachments
Options for format, quality etc would be coded from within XLSForm specification.
RecForge II allows recording in opus, but strangely only in 48kHz. I've had very good results recording voice with AMR/3gp, though Opus claims to be even smaller. In my work AMR required 0.1 MB per minute at phone quality, which would be small enough for field contexts. Higher quality would be good for multi speaker or bad recording environments, though. This is why allowing users to specify the recording quality is quite important.
Audio quality can be configured from form definitions (XLSForm support pending a pyxform update planned for 12/8). Available options are currently normal, voice-only and low. Learn more in the spec discussion.
For v1.29, external recording will continue to be the default. This will make sure there is no disruption to ongoing projects and will give us a chance to make updates based on user feedback. We plan to change the default for new installs to built-in recording in v1.30. To turn on built-in recording, go to General Settings > Form management and uncheck "Use external app for audio recording". Alternately, use a form which specifies a recording quality (form settings always override Collect settings). There is a form on the default server named Internal audio recording with other questions which showcases this new functionality.
We have some updates planned for v1.30 based on feedback from @Tino_Kreutzer and others. If you see any issues with this feature or would like to suggest additions, please start a new thread. If the audio qualities provided are not sufficient for you, please join the discussion on a possible high quality option.