Re: Getting rid of echo for callers.

2008-08-29 Thread Daniel Selinger
Ok, to clarify some of the questions in the followups, some additional
info, some of it could also be found here: 

http://wiki.openmoko.org/wiki/Freerunner_Hardware_Issues#Poor_Audio_Quality
also with some different tweaks to settings, but the same controls.
http://wiki.openmoko.org/wiki/Freerunner_Hardware_Issues#Better_mixer_settings

These .state files are files where mixersettings for alsa are stored in.
These .state files are stored at /usr/share/openmoko/scenarios.
These .state files have specified names and are loaded at specified
events.

For example gsmhandset.state is loaded every time you start make/receive
a phone call without a headset plugged in. (gsmheadset.state gets loaded
when you make/receive a phone call with headset plugged) Don't exactly
know what the others are for, maybe the is some info on the wiki.

Adjusting this settings with a GUI (e.g. alsamixer) _only_ works when a
phone call is actively running and is lost when the call ends. In order
to store them and use them on every call, you have to manually edit
gsmhandset.state in the directory specified above. (do this by ssh to
the phone) 
In my opinion alsamixer is pretty unuseable with the
freerunner as it shuffles aroud between the .state files in /scenarios
all the time and overwrites your changed settings.

Answers to specific questions:
1. As for hearing the other person, it was quite a quiet environment and
tested with one phone on the one and the other on the other ear. But it
sounded loud enough for me. Will do a test outside today. May be
necessary to tweak the settings, but should be good values to start
with. Maybe also Hardware depending.

2. The state file is loaded aka refreshed on beginning of every
phonecall without a headset


Ok, i hope i haven't forgotten anything, don't hesitate to ask :)



___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-29 Thread Daniel Selinger

Sry, but saying alsamixer is unuseable was a damn ugly lie ^^

In fact it is extremely helpfull to experiment with the settings while a
phone call is active and the other person can tell you if it get's
better.

1. SSH into the Phone (Info about that on the wiki)
2. start alsamixer.
Make a call to someone (you notice all controls change, thats when
the gsmhandset.state file is loaded) - fiddle around with the mentioned
settings until you have what you want.
3. exit alsamixer
4. call 'alsactl store -f gsmhandsetnew.state'
5. you can now diff the files and do whatever you want ^^
6. If you want to apply them for every call just rename
gsmhandsetnew.state to gsmhandset.state and backup the old file.

The controls have the same names within alsamixer, just without the
Volume if a recall correctly. The only thing i couldn't find in
alsamixer was Mic2 Capture Volume, but i'm quite sure i just didn't
look for it enough.

rgds Daniel

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-29 Thread Mike Baroukh
If I understand correctly, it's not so easy : the problems are for 
others personns.
- you have to give the phone to somebody,
- ask him to go away
- call him
- ssh remotely into your phone.
- ask him to speak while you use alsamixer don't forget to give him a book).

and this, if you can ssh remotely.
Else, you have to ssh from another computer to the computer on wich the 
phone is plugged via usb.
So Easy ...

What I don't understand is why the settings have to be phone dependant.
If I'm not wrong, this settings depends not of the phone but of the gsm 
operator.
If it's true, maybe we may add a wiki page depending on the operator, 
isn't it ?
And if it's true, why not add gsm event that, on connect will choose the 
appropriate .state file depending on wich operator is currently in use ?

Mike


Daniel Selinger a écrit :
 Sry, but saying alsamixer is unuseable was a damn ugly lie ^^

 In fact it is extremely helpfull to experiment with the settings while a
 phone call is active and the other person can tell you if it get's
 better.

 1. SSH into the Phone (Info about that on the wiki)
 2. start alsamixer.
 Make a call to someone (you notice all controls change, thats when
 the gsmhandset.state file is loaded) - fiddle around with the mentioned
 settings until you have what you want.
 3. exit alsamixer
 4. call 'alsactl store -f gsmhandsetnew.state'
 5. you can now diff the files and do whatever you want ^^
 6. If you want to apply them for every call just rename
 gsmhandsetnew.state to gsmhandset.state and backup the old file.

 The controls have the same names within alsamixer, just without the
 Volume if a recall correctly. The only thing i couldn't find in
 alsamixer was Mic2 Capture Volume, but i'm quite sure i just didn't
 look for it enough.

 rgds Daniel

 ___
 Openmoko community mailing list
 community@lists.openmoko.org
 http://lists.openmoko.org/mailman/listinfo/community
   

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-29 Thread Mikael Berthe
* Mike Baroukh [EMAIL PROTECTED] [2008-08-29 09:36 +0200]:
 
 What I don't understand is why the settings have to be phone dependant.
 If I'm not wrong, this settings depends not of the phone but of the gsm 
 operator.

I don't think so, I'm getting different results when I talk with people
using the same operator...
-- 
MiKael

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-29 Thread Andreas Zuber
Am Freitag, 29. August 2008 07.13:41 schrieb Dale Maggee:
 Daniel Selinger wrote:
  I've experimented with alsa settings for the last 3 hours and want to
  share my experience now.
  I was doing this on top of QTopia 4.3.2 and it's default
  gsmhandset.state file.
 
  The relevant mixer settings i found to, in my case completely eliminate
  the echo for the caller, are the following
  (Setting - Old Val - New Val):
 
  'Speaker Playback Volume' 127 - 100
  'Mono Playback Volume' 103 - 85
  'Mono Sidetone Playback Volume' 2 - 0
  'Bypass Playback Volume' 7 - 5
  'Mic2 Capture Volume' 0 - 3
 
  This settings removes the echo for the other person completely, at
  least for my hardware. I didn't hear any buzz either on my final
  testcalls, could be luck.
 
  The last thing remaining, is a bit of selfecho, which was also
  reduced with this settings but not away. (was as loud as the echo on the
  other phone with qtopia default gsmhandset.state). But didn't get away
  completely, but the other side doesn't hear anything of it.
 
  I also attach my gsmhandset.state for the case other distros have a
  different default file. (I was to lazy to check against .state of every
  distribution)
 
  If anyone has a configuration where he doesn't hear echo of himself
  talking at all, please please please provide me with an .state file, to
  check which controls are responsible for that!
 
  rgds Daniel
  

 These settings also removed my echo using 2007.2.

 woot!

 Note that using the settings you provided the other (non-neo) person was
 very quiet, I had to adjust one of the volume settings to be able to
 hear the other person (unfortunately I can't remember exactly which
 setting I changed, although I'm pretty sure it was the one labelled
 mono bypass in alsamixer. (set it at 100). Called my brother who had
 previously complained loudly and constantly about echo, and now he says
 there's no echo.

 I have never had problems of hearing an echo of myself, only complaints
 from everybody I talk to...

 this is awesome, thanks alot! :)

 -Dale


This is absolutly great, thx both of you!

I hope this gets fixed in the stable branch now. My tweak link list grows 
every day.

To OpenMoko.. is there a way to help you with the distribution? I don't like 
the idea of a personal repository for hotfixes like this, i think this should 
go directly to the official repo's. May be we can use git in a clever way to 
minimize the work you have with the integration of such changes. 

cheers
-- 
Andreas Zuber
Linux System-Ingenieur

Puzzle ITC GmbH
www.puzzle.ch

Telefon +41 31 370 22 00
Direkt  +41 31 370 22 49
Mobile  +41 79 766 25 51
Fax +41 31 370 22 01

Puzzle ist Mitglied der Eclipse Foundation: 
http://www.puzzle.ch/eclipse/

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-29 Thread Mav



Daniel Selinger wrote:
 
 
 I've experimented with alsa settings for the last 3 hours and want to
 share my experience now.
 I was doing this on top of QTopia 4.3.2 and it's default
 gsmhandset.state file.
 
 

Thanks a lot for your trick
The echo is now gone on Qtopia 4.3.2 and it's really a good news
As someone said, I can barely hear my correspondant but I guess it's only a
tune in the gsmhandset.state (I also tried to increase the Mono Bypass level
to 100 but it's not really improving situation (I will try with more than
100)

-- 
View this message in context: 
http://n2.nabble.com/Getting-rid-of-echo-for-callers.-tp791203p791863.html
Sent from the Openmoko Community mailing list archive at Nabble.com.


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Helping Openmoko distribution team (was: Re: Getting rid of echo for callers.)

2008-08-29 Thread Michael Shiloh


Andreas Zuber wrote:
snip
 
 I hope this gets fixed in the stable branch now. My tweak link list grows 
 every day.
 
 To OpenMoko.. is there a way to help you with the distribution? I don't like 
 the idea of a personal repository for hotfixes like this, i think this should 
 go directly to the official repo's. May be we can use git in a clever way to 
 minimize the work you have with the integration of such changes. 


Some of our developers are buried trying to keep up with new and old bug 
reports. Each one needs to be verified, checked for duplication, checked 
for whether it's been solved, and this is all before any real bug fixing 
takes place.

I don't want to speak for those developers, but I wonder if the 
community can help us with some of these tasks. I know that one of our 
main developers said that he spent some 30% of his time on this.

This would free up developer time to work on getting fixes into the distro.

Michael

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-29 Thread Al Johnson
On Friday 29 August 2008, Mikael Berthe wrote:
 * Mike Baroukh [EMAIL PROTECTED] [2008-08-29 09:36 +0200]:
  What I don't understand is why the settings have to be phone dependant.
  If I'm not wrong, this settings depends not of the phone but of the gsm
  operator.

 I don't think so, I'm getting different results when I talk with people
 using the same operator...

All these settings are doing is changing the gain of the mic and the playback 
volume in the earpiece. We have no control over the gain in either direction 
between your GSM modem and the other party. There will be a variation in the 
level of acoustic coupling between the earpiece and the mic of the Freerunner 
too. Whether the other party hears any echo depends on the gain around the 
whole loop, not just the bit we can control with alsamixer. This is before we 
get into differences in sensitivity to echo, or whether the telco might 
employ echo cancellation or suppression somewhere in the line. This is why 
you will find differences between calls to different people.

Any static mixer setting like this will be a compromise. To reduce the echo 
heard at the other end you can set the earpiece volume and mic gain to as low 
as you can get away with. How low this is will depend on your hearing, the 
background noise level, how loudly you speak, and how you hold the phone, 
plus the bits that are out of your control. This is why there are several 
gsmhandset.state files out there with different settings that people find 
work for them.

There are other things that may work better though. The wolfson audio chip has 
onboard active level control and noise gate functions which may be usable for 
echo suppression. This would drop the mic gain when you aren't speaking, 
cutting echo, but bring it up when you are speaking so that the other party 
can hear you. There is also a suggestion that the GSM chipset can do echo 
suppression. Finally we may be able to echo cancellation with the CPU.

If you want to try changing the settings I suggest you look at the wiki pages:
http://wiki.openmoko.org/wiki/Neo_1973_audio_subsystem
http://wiki.openmoko.org/wiki/WM8753
The mic level is controlled by Mic2 Capture Volume (control.48), Mono 
Sidetone Playback Volume (control.12) and Mono Playback Volume (control.5) 
while the earpiece volume is controlled by Bypass Playback Volume 
(control.6) and Speaker Playback Volume (control.4)

I've not detailed my attempts at getting the wolfson noise gate working as so 
far I've not found anything that's better than a compromise without the noise 
gate, and changing the noise gate settings doesn't affect things as I would 
expect. I guess I'm missing something about how it works. The first thing to 
do is to set the signal routing to send the mic2 signal through the ALC Mux, 
the left PGA then back down to the Mic Mux. This is the routing suggested for 
voice on the audio subsystem wiki page, but it is not how it is set in the 
supplied gsmhandset.state. Controls 59 through 62, the ALC Mixer xxx Capture 
Switch settings, are already set correctlywith Mic2 (60) true and the others 
false. Mic Sidetone Mux (63) should be set to 'Left PGA'. Now the fun 
starts ;-) I think Capture Left Mux (65) should be 'PGA' and the ALC 
controls are 28 through 37, but since playing with these doesn't give me the 
results I expect from an AGC or noise gate I think I'm missing something, 
probably in the capture settings to get the mic signal into the ALC. I hope 
this helps someone make more progress than I have, but I'll keep trying.

The possible GSM chipset capability is discussed in this thread:
http://lists.openmoko.org/pipermail/hardware/2008-August/000451.html

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-29 Thread Daniel Selinger
On Fri, 29 Aug 2008 03:10:39 -0700 (PDT)
Mav [EMAIL PROTECTED] wrote:


 Thanks a lot for your trick
 The echo is now gone on Qtopia 4.3.2 and it's really a good news
 As someone said, I can barely hear my correspondant but I guess it's
 only a tune in the gsmhandset.state (I also tried to increase the
 Mono Bypass level to 100 but it's not really improving situation (I
 will try with more than 100)

Yea, i tried these settings in real life conditions today, and also
must admit, that it is too silent for both sides. I think this should
be fixed by taking my original settings, and just putting up 'Speaker
Playback Volume to about 110 (should make the speaker on the
freerunner louder) and 'Mono Playback Volume' to 90-95 which should
make oneself louder for the other side. (Yes i know that sounds silly
as the control is called Playback Volume, but that is what i recognized
yesterday, lowering Mono Playback makes us more silent for the other
person. Have to confirm this again but i'm quite sure)

I just do this from memory, i will do my tests this tomorrow.

I think some repeating tuning will be nesecarry to fit every condition,
and maybe some echo isn't avoidable until we have more advanced
techniques to get rid of it.

But in my case this is a more than good improvement compared to default
settings.

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-28 Thread Mike Montour
Daniel Selinger wrote:

 This settings removes the echo for the other person completely, at
 least for my hardware. I didn't hear any buzz either on my final
 testcalls, could be luck.

With those settings, were the two of you still able to easily hear each 
other talking? Did you test in a quiet environment or one with some 
background noise?


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-28 Thread Dale Maggee
Daniel Selinger wrote:
 I've experimented with alsa settings for the last 3 hours and want to
 share my experience now.
 I was doing this on top of QTopia 4.3.2 and it's default
 gsmhandset.state file.

 The relevant mixer settings i found to, in my case completely eliminate
 the echo for the caller, are the following 
 (Setting - Old Val - New Val):
  
 'Speaker Playback Volume' 127 - 100
 'Mono Playback Volume' 103 - 85
 'Mono Sidetone Playback Volume' 2 - 0
 'Bypass Playback Volume' 7 - 5
 'Mic2 Capture Volume' 0 - 3

 This settings removes the echo for the other person completely, at
 least for my hardware. I didn't hear any buzz either on my final
 testcalls, could be luck.

 The last thing remaining, is a bit of selfecho, which was also
 reduced with this settings but not away. (was as loud as the echo on the
 other phone with qtopia default gsmhandset.state). But didn't get away
 completely, but the other side doesn't hear anything of it.

 I also attach my gsmhandset.state for the case other distros have a
 different default file. (I was to lazy to check against .state of every
 distribution)

 If anyone has a configuration where he doesn't hear echo of himself
 talking at all, please please please provide me with an .state file, to
 check which controls are responsible for that!

 rgds Daniel
 

   
These settings also removed my echo using 2007.2.

woot!

Note that using the settings you provided the other (non-neo) person was 
very quiet, I had to adjust one of the volume settings to be able to 
hear the other person (unfortunately I can't remember exactly which 
setting I changed, although I'm pretty sure it was the one labelled 
mono bypass in alsamixer. (set it at 100). Called my brother who had 
previously complained loudly and constantly about echo, and now he says 
there's no echo.

I have never had problems of hearing an echo of myself, only complaints 
from everybody I talk to...

this is awesome, thanks alot! :)

-Dale

my gsmhandset.state:

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 127
value.1 127
}
control.5 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 127'
iface MIXER
name 'Mono Playback Volume'
value 85
}
control.6 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 7'
iface MIXER
name 'Bypass Playback Volume'
value.0 5
value.1 5
}
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 7
}
control.12 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 7'
iface MIXER
name 'Mono Sidetone Playback Volume'
value 0
}
control.13 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 7'
iface MIXER

Re: Getting rid of echo for callers.

2008-08-28 Thread Jean-Eric Cuendet
  This settings removes the echo for the other person completely, at
  least for my hardware. I didn't hear any buzz either on my final
  testcalls, could be luck.


How did you change these settings? With alsamixer?
Is there a GUI to change sound propertiers? (kmix like)

And just another question: what is gsmhandset.state file?




 With those settings, were the two of you still able to easily hear each
 other talking? Did you test in a quiet environment or one with some
 background noise?


 ___
 Openmoko community mailing list
 community@lists.openmoko.org
 http://lists.openmoko.org/mailman/listinfo/community

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Getting rid of echo for callers.

2008-08-28 Thread Sarton O'Brien
On Friday 29 August 2008 15:20:53 Jean-Eric Cuendet wrote:
   This settings removes the echo for the other person completely, at
   least for my hardware. I didn't hear any buzz either on my final
   testcalls, could be luck.

 How did you change these settings? With alsamixer?
 Is there a GUI to change sound propertiers? (kmix like)

Alsamixer is available.

 And just another question: what is gsmhandset.state file?

It is the file that stores the state of the levels so you don't have to rejig 
every reboot :)

You could definitely spend a bit more time on the wiki. Most of the basic 
questions are answered there. Just a suggestion.

Sarton

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community