Re: GSM buzz and gsmhandset.state
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Somebody in the thread at some point said: | On Thu, 23 Oct 2008 22:04:36 +0800, matt_hsu wrote: |> Can I know which hardware version do you use? A5 or A6? I used your |> state files to try my A5. It seems that it could reduce the buzzing |> noise. |> But it could not get rid of it all. | | /proc/cpuinfo says it's A6 (0360), while frameworkd (Debian) says A5. | It's the one with capacitor on SD clock lines. Should be A6 if I remember | the text on the PCB correctly. It should be an A6, right. | Seems that I was lucky with getting no buzz at all, most of the time it | is still audible (not hurting ears anymore though). | | Investigating further, I recorded Mic1 and Mic2 while calling directly on | the FreeRunner (switched to a modified capturehandset.state with | increased recording levels while calling): | | http://wiki.openmoko.org/images/3/34/Lmic1_Rmic2-interference-call.wav Hey great work doing and documenting all this! | (no headset connected, both mic capture volumes 3, only mic1 routed | through ALC_MIX, mic2 directly to right PGA). | | Snippet of the waveform: | http://wiki.openmoko.org/wiki/Image:Lmic1_Rmic2-interference-call.png | | A voicebox recording of the buzzing before the "fix": | http://wiki.openmoko.org/images/7/71/FR_GSM_buzz.wav | | After the "fix", the voicebox did not record endlessly anymore and | recognized the remaining buzz as silence. | | Looking at the first recording, it is visible that Mic1 signal is | inverted by the path it takes through the wolfson chip. Sadly it does not | seem to be possible to mix inverted Mic1 and Mic2 in hardware without | going through ADC - doing so on the PC reduced noise somewhat... I wonder | if that could be done in software on the FreeRunner, recording both mic | signals, deducing from Mic1 when contamination occurs, extracting the | according waveform from Mic2 signal, and then subtracting the extracted | (average) buzzing waveform from Mic2 whenever Mic1 levels get over a | certain threshold - and then playing back the resulting signal over | either PCM or voice codec to the GSM modem. I think that plan might be | thwarted by full duplex restrictions by the chip, as I did not succeed | yet to play back recorded audio while still recording without heavy | artifacts (clicking, a lot of noise). That is a cool idea, but the match is bad comparing mic1 and mic2 waveform from your great image on the wiki page. Mic2 seems to have more capacitance that smooths the response to the impulses. | Turning off sidetone mic on MONO MIXER (control 77) and playing back | music over Hi-Fi DAC/PCM to mono interface / GSM resulted in buzz-free | (though a little distorted, did not tweak much) music experience on the | phone called. This basically confirms that signals get contaminated | through MIC path. Yes it seems to be this way: nice test. | I did not succeed yet in playing back recorded MIC signals over the voice | codec/voice DAC without the signals leaving the wolfson chip (loopback) - | is that actually possible? If I understand you mean to capture the DAC output at the ADC input? This does seem to be possible via this recmix thing, it can bring monomix output back into the right ADC input. - -Andy -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iEYEARECAAYFAkkBOAAACgkQOjLpvpq7dMqxqQCfQIfjT2xxQiHAAK1drokSA+fE 7+IAn29qNaCvRF82UZ5iR1dRZ4cCHZVp =+4lA -END PGP SIGNATURE- ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: GSM buzz and gsmhandset.state
On Thu, 23 Oct 2008 17:48:51 +0100, Andy Green wrote: > As I understood what Matt explained today, it seemed there was a danger > that what these changes did was simply attenuate all the mic audio alike > along with the buzz. > > It would be highly interesting clue if that was not the case... If I am not horribly mistaken by all the knobs and dials that I turned, it is actually possible to have higher mic amplification when mic audio is routed through PGA than otherwise. Signal to noise ratio (or rather signal to buzz ratio) is getting way better! I just made another test call with the original profile (no buzzing this time, bummer) and then switched to the modified gsmhandset.state and back repeatedly. The modified profile made a faint buzzing appear - however, mic audio was louder on the receiving end of the conversation. It was described to me to be just like the difference between being talked to by a person facing away from you (original profile) and a person talking to you face to face (modified profile). Another point made was that mic amplification seems to be a little high with my new settings, resulting in a bit of distortion or clipping. Greetings, Jan ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: GSM buzz and gsmhandset.state
On Thu, 23 Oct 2008 22:04:36 +0800, matt_hsu wrote: > Can I know which hardware version do you use? A5 or A6? I used your > state files to try my A5. It seems that it could reduce the buzzing > noise. > But it could not get rid of it all. /proc/cpuinfo says it's A6 (0360), while frameworkd (Debian) says A5. It's the one with capacitor on SD clock lines. Should be A6 if I remember the text on the PCB correctly. Seems that I was lucky with getting no buzz at all, most of the time it is still audible (not hurting ears anymore though). Investigating further, I recorded Mic1 and Mic2 while calling directly on the FreeRunner (switched to a modified capturehandset.state with increased recording levels while calling): http://wiki.openmoko.org/images/3/34/Lmic1_Rmic2-interference-call.wav (no headset connected, both mic capture volumes 3, only mic1 routed through ALC_MIX, mic2 directly to right PGA). Snippet of the waveform: http://wiki.openmoko.org/wiki/Image:Lmic1_Rmic2-interference-call.png A voicebox recording of the buzzing before the "fix": http://wiki.openmoko.org/images/7/71/FR_GSM_buzz.wav After the "fix", the voicebox did not record endlessly anymore and recognized the remaining buzz as silence. Looking at the first recording, it is visible that Mic1 signal is inverted by the path it takes through the wolfson chip. Sadly it does not seem to be possible to mix inverted Mic1 and Mic2 in hardware without going through ADC - doing so on the PC reduced noise somewhat... I wonder if that could be done in software on the FreeRunner, recording both mic signals, deducing from Mic1 when contamination occurs, extracting the according waveform from Mic2 signal, and then subtracting the extracted (average) buzzing waveform from Mic2 whenever Mic1 levels get over a certain threshold - and then playing back the resulting signal over either PCM or voice codec to the GSM modem. I think that plan might be thwarted by full duplex restrictions by the chip, as I did not succeed yet to play back recorded audio while still recording without heavy artifacts (clicking, a lot of noise). Turning off sidetone mic on MONO MIXER (control 77) and playing back music over Hi-Fi DAC/PCM to mono interface / GSM resulted in buzz-free (though a little distorted, did not tweak much) music experience on the phone called. This basically confirms that signals get contaminated through MIC path. I did not succeed yet in playing back recorded MIC signals over the voice codec/voice DAC without the signals leaving the wolfson chip (loopback) - is that actually possible? Cheers, Jan ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: GSM buzz and gsmhandset.state
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Somebody in the thread at some point said: | Jan R wrote: |> Hi all! |> |> The GSM buzzing noise was unbearable for anybody I called, and it was |> indeed louder than my voice - that's why I had a look at the wolfson data |> sheet and the ALSA channel map on the wiki and fiddled a bit... |> | Hi Jan, | | Can I know which hardware version do you use? A5 or A6? | I used your state files to try my A5. It seems that it could reduce the | buzzing noise. | But it could not get rid of it all. As I understood what Matt explained today, it seemed there was a danger that what these changes did was simply attenuate all the mic audio alike along with the buzz. It would be highly interesting clue if that was not the case... - -Andy -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iEYEARECAAYFAkkAqusACgkQOjLpvpq7dMp4FwCeIQWbLSFeLmoMQZ1hNIMc/Fq9 5+oAnA47MKkxXtVLotmUXN4s/qODJml2 =6+dU -END PGP SIGNATURE- ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: GSM buzz and gsmhandset.state
Matthias Apitz wrote: > El día Thursday, October 23, 2008 a las 10:04:36PM +0800, matt_hsu escribió: > >> Jan R wrote: >>> Hi all! >>> >>> The GSM buzzing noise was unbearable for anybody I called, and it was >>> indeed louder than my voice - that's why I had a look at the wolfson data >>> sheet and the ALSA channel map on the wiki and fiddled a bit... >>> >> Hi Jan, >> >> Can I know which hardware version do you use? A5 or A6? >> I used your state files to try my A5. It seems that it could reduce the >> buzzing noise. >> But it could not get rid of it all. > > Same here. How can I figure out which hardware version I own? Open the case and remove the battery. There is a small label with the revision printed on it. Ciao, Rainer ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: GSM buzz and gsmhandset.state
Am Donnerstag, den 23.10.2008, 16:11 +0200 schrieb Matthias Apitz: > El día Thursday, October 23, 2008 a las 10:04:36PM +0800, matt_hsu escribió: > > > Jan R wrote: > > > Hi all! > > > > > > The GSM buzzing noise was unbearable for anybody I called, and it was > > > indeed louder than my voice - that's why I had a look at the wolfson data > > > sheet and the ALSA channel map on the wiki and fiddled a bit... > > > > > Hi Jan, > > > > Can I know which hardware version do you use? A5 or A6? > > I used your state files to try my A5. It seems that it could reduce the > > buzzing noise. > > But it could not get rid of it all. > > Same here. How can I figure out which hardware version I own? [EMAIL PROTECTED]:~# cat /proc/cpuinfo|grep Revision Revision: 0350 :M: ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: GSM buzz and gsmhandset.state
El día Thursday, October 23, 2008 a las 10:04:36PM +0800, matt_hsu escribió: > Jan R wrote: > > Hi all! > > > > The GSM buzzing noise was unbearable for anybody I called, and it was > > indeed louder than my voice - that's why I had a look at the wolfson data > > sheet and the ALSA channel map on the wiki and fiddled a bit... > > > Hi Jan, > > Can I know which hardware version do you use? A5 or A6? > I used your state files to try my A5. It seems that it could reduce the > buzzing noise. > But it could not get rid of it all. Same here. How can I figure out which hardware version I own? Thx matthias -- Matthias Apitz Manager Technical Support - OCLC GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e <[EMAIL PROTECTED]> - w http://www.oclc.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ A computer is like an air conditioner, it stops working when you open Windows Una computadora es como aire acondicionado, deja de funcionar si abres Windows ___ Openmoko community mailing list community@lists.openmoko.org http://lists.openmoko.org/mailman/listinfo/community
Re: GSM buzz and gsmhandset.state
Jan R wrote: > Hi all! > > The GSM buzzing noise was unbearable for anybody I called, and it was > indeed louder than my voice - that's why I had a look at the wolfson data > sheet and the ALSA channel map on the wiki and fiddled a bit... > Hi Jan, Can I know which hardware version do you use? A5 or A6? I used your state files to try my A5. It seems that it could reduce the buzzing noise. But it could not get rid of it all. Cheers, Matt > First thing I noticed was that according to http://wiki.openmoko.org/ > images/2/2c/WM8753_BlockDiagram_GSM_handset.png , the recorded audio was > routed through one of the PGAs on the GTA01. For a reason I could not > find anywhere, it is now routed directly from MIC_MUX to the Mono mixer > on the right side of the diagram on GTA02. > > Switching 'Mic Sidetone Mux' (control 63) to either of the PGAs (left or > right) immediately lowers interference noise by an enormous amount at the > same 'Mono Playback Volume' (control 5). > > Routing audio through ALC_MIX and subsequently the left PGA did lower the > volume for the called person a bit. > > With the modified gsmhandset.state, the buzzing noise is occasionally > fading in and out and has a very low volume in comparison to the previous > state. With a bit of luck, buzzing fades out at some point and does not > return for 40 seconds or so. > > > Changes to om-testing daily feed gsmhandset.state (20081020): > > control.4 'Speaker Playback Volume' lowered to 100 from 127 to reduce > echo for call(ed|ing) person. > > control.12 'Mono Sidetone Playback Volume' increased to 6 from 2 > > control.48 'Mic2 Capture Volume' increased to 2 from 0 > > control.63 'Mic Sidetone Mux' set to 'Right PGA' > > > > Hope this helps somebody apart from me to use the FreeRunner as a > phone. :) > > Greetings, > Jan > > > > For convenience, the whole modified gsmhandset.state file: > > state.neo1973gta02 { > control.1 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 255' > iface MIXER > name 'PCM Volume' > value.0 0 > value.1 0 > } > control.2 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 255' > iface MIXER > name 'ADC Capture Volume' > value.0 0 > value.1 0 > } > control.3 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 127' > iface MIXER > name 'Headphone Playback Volume' > value.0 0 > value.1 0 > } > control.4 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 127' > iface MIXER > name 'Speaker Playback Volume' > value.0 100 > value.1 100 > } > control.5 { > comment.access 'read write' > comment.type INTEGER > comment.count 1 > comment.range '0 - 127' > iface MIXER > name 'Mono Playback Volume' > value 103 > } > control.6 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 7' > iface MIXER > name 'Bypass Playback Volume' > value.0 7 > value.1 7 > } > control.7 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 7' > iface MIXER > name 'Sidetone Playback Volume' > value.0 0 > value.1 0 > } > control.8 { > comment.access 'read write' > comment.type INTEGER > comment.count 2 > comment.range '0 - 7' > iface MIXER > name 'Voice Playback Volume' > value.0 0 > value.1 0 > } > control.9 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Headphone Playback ZC Switch' > value.0 false > value.1 false > } > control.10 { > comment.access 'read write' > comment.type BOOLEAN > comment.count 2 > iface MIXER > name 'Speaker Playback ZC Switch' > value.0 false > value.1 false > } > control.11 { > comment.access 'read write' > co
GSM buzz and gsmhandset.state
Hi all! The GSM buzzing noise was unbearable for anybody I called, and it was indeed louder than my voice - that's why I had a look at the wolfson data sheet and the ALSA channel map on the wiki and fiddled a bit... First thing I noticed was that according to http://wiki.openmoko.org/ images/2/2c/WM8753_BlockDiagram_GSM_handset.png , the recorded audio was routed through one of the PGAs on the GTA01. For a reason I could not find anywhere, it is now routed directly from MIC_MUX to the Mono mixer on the right side of the diagram on GTA02. Switching 'Mic Sidetone Mux' (control 63) to either of the PGAs (left or right) immediately lowers interference noise by an enormous amount at the same 'Mono Playback Volume' (control 5). Routing audio through ALC_MIX and subsequently the left PGA did lower the volume for the called person a bit. With the modified gsmhandset.state, the buzzing noise is occasionally fading in and out and has a very low volume in comparison to the previous state. With a bit of luck, buzzing fades out at some point and does not return for 40 seconds or so. Changes to om-testing daily feed gsmhandset.state (20081020): control.4 'Speaker Playback Volume' lowered to 100 from 127 to reduce echo for call(ed|ing) person. control.12 'Mono Sidetone Playback Volume' increased to 6 from 2 control.48 'Mic2 Capture Volume' increased to 2 from 0 control.63 'Mic Sidetone Mux' set to 'Right PGA' Hope this helps somebody apart from me to use the FreeRunner as a phone. :) Greetings, Jan For convenience, the whole modified gsmhandset.state file: state.neo1973gta02 { control.1 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 255' iface MIXER name 'PCM Volume' value.0 0 value.1 0 } control.2 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 255' iface MIXER name 'ADC Capture Volume' value.0 0 value.1 0 } control.3 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 127' iface MIXER name 'Headphone Playback Volume' value.0 0 value.1 0 } control.4 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 127' iface MIXER name 'Speaker Playback Volume' value.0 100 value.1 100 } control.5 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 127' iface MIXER name 'Mono Playback Volume' value 103 } control.6 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 7' iface MIXER name 'Bypass Playback Volume' value.0 7 value.1 7 } control.7 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 7' iface MIXER name 'Sidetone Playback Volume' value.0 0 value.1 0 } control.8 { comment.access 'read write' comment.type INTEGER comment.count 2 comment.range '0 - 7' iface MIXER name 'Voice Playback Volume' value.0 0 value.1 0 } control.9 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Headphone Playback ZC Switch' value.0 false value.1 false } control.10 { comment.access 'read write' comment.type BOOLEAN comment.count 2 iface MIXER name 'Speaker Playback ZC Switch' value.0 false value.1 false } control.11 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 - 7' iface MIXER name 'Mono Bypass Playback Volume' value 0 } control.12 { comment.access 'read write' comment.type INT