Freerunner audio channels

David Fokkema dfokkema at
Fri Aug 7 21:52:19 CEST 2009

On Fri, 2009-08-07 at 17:12 +0100, Al Johnson wrote:
> On Friday 07 August 2009, David Fokkema wrote:
> > - Why exactly are FR's different while I've never heard of Nokia users
> > needing to tweak mixer settings.
> Most phones have a simple volume up/down control, often a pair of buttons on 
> the left side of the handset. They hide most of the functionality of the mixer 
> chip which is fine so long as it what you want and what they chose to 
> implement are the same. So far nobody has written a similarly simple volume 
> control for the FR.

I understand that, but let me explain exactly why I think nobody has
written one, by describing an algorithm which you could use, according
to the 'one' statefile and information in the wiki:

Max out Mic2 Capture Volume (48), (almost) max out Mono Sidetone
Playback Volume (12), adjust Mono Playback Volume (5) as needed. So this
simple volume control script should only adjust (5). Sounds simple.

However, on _my_ freerunner, this resulted in _severe_ clipping, and the
connection was never silent when I didn't speak. That is, background
noise was sufficiently amplified to inhibit noise reduction, even when
(5) was so low I could just hear myself. Why? I don't know, maybe the
waveform? I had severe clipping, so maybe...

Reducing Mic2 (48) to its _lowest_ setting, in exact contradiction with
the wiki, greatly enhanced audio quality.

So, maybe that's why... When you think you've found something great,
lots of people start complaining on the mailing list that your volume
control just sucks.

> > - Why does setting Mic2 Capture Volume to 0 _not_ (almost) mute the mic?
> Mic2 has four fixed gain settings of +12dB, +18dB, +24dB and +30dB which are 
> represented by 0, 1, 2 and 3 in the alsa driver. Mute is not an option, though 
> IIRC you could switch that amp off. See page 20 of the Wolfson datasheet.

Ah, found it! Thanks for the pointer, excellent information. I'll read
this during some more lunch breaks, ;-)

> > - Why do we bypass the digital filters by using the sidetone path?
> The digital filters are for ADC and DAC which we aren't using in phone calls. 
> We are passing analogue signals through to the Calypso which has its own 
> filters, ADC and DAC. The only possibly useful bit there is the AGC/Noise 
> Gate, but AFAIK nobody has managed to get it to do anything useful so far.

Ah, I see. The 'nicer' diagram on the wiki, with all the alsa mixer
setting names has packed the ADC and DACs and their (hidden) outputs
into one black box. It is elaborated upon on the bottom of the page, but
it was not clear to me, thanks.

> Apps which record the phone call, or play sound  into the call, will be using 
> the ADC and DAC, so will include the filter blocks.

Makes sense.

> Remember that our use of the chip is not typical. Most would probably be using 
> the digital voice interface to connect to their GSM chipset instead of using 
> an analogue passthrough as we are. We use the voice interface for a digital 
> connection to the bluetooth module instead.

Couldn't we have used both? I mean, using the digital voice filters
(they seem nice) _and_ using a high quality bluetooth interface? Maybe I
misunderstand the wolfson docs (just browsing, ATM) but the wolfson
seems to be designed for this (smartphone (with voice filters) +

Thank you for your answers!

Best regards,


More information about the community mailing list