[sip-comm-dev] Test New Echo Canceller


#1

Hi,

... just a quick test for the new echo canceller:
I called - as usual - my Asterisk server's echo test application. Wow - it improved a lot!

There used to be a strong screeching feedback - almost immediately after connecting. That is gone. I could even point the microphone to the speakers. There is a feedback in such a case - but it fades out instead of getting stronger.

So the new echo canceller does what it supposed to do.

Observations:
- Switching video on decreases cancelling accuracy (obviously because latency goes up). But it is still tolerable. (there is still that issue with video - showing only 1/4 of the image)
- Switching to full screen will bring back the old screeching sound immediately -obviously latency goes bezerq then.
- Getting rid of Pulse Audio by changing the audio settings to alsa (or the name of the sound card) in port audio doesn't work anymore. It used to be quite good, bus as of now, build 3133, the sound gets crackeling with a lot of drop outs.

My system:
Acer Travelmate 5720, Ubuntu Maverick

Hope I could help you
Conrad

···

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hi,

... just a quick test for the new echo canceller:
I called - as usual - my Asterisk server's echo test application. Wow - it improved a lot!

There used to be a strong screeching feedback - almost immediately after connecting. That is gone. I could even point the microphone to the speakers. There is a feedback in such a case - but it fades out instead of getting stronger.

So the new echo canceller does what it supposed to do.

Observations:
- Switching video on decreases cancelling accuracy (obviously because latency goes up). But it is still tolerable. (there is still that issue with video - showing only 1/4 of the image)
- Switching to full screen will bring back the old screeching sound immediately -obviously latency goes bezerq then.
- Getting rid of Pulse Audio by changing the audio settings to alsa (or the name of the sound card) in port audio doesn't work anymore. It used to be quite good, bus as of now, build 3133, the sound gets crackeling with a lot of drop outs.

  A note regarding pulseaudio: PulseAudio is on top of ALSA, switching between them makes marginal difference because either way portaudio sends the stuff to alsa then pulseaudio takes it from alsa.
  The problem here that this portaudio implementation is flaky (at least for me on Debian Squeeze 32-bit) - sometimes i get 100% cpu when i make a call sometimes 30-40. Sometimes i get conyinuously crackling sound, sometimes crystal clear.
  The first time when i make a call just after starting sip communicator i almost always get 100% cpu using java process, after that is random. Restarting pulseaudio seems to substantially lower the chances of getting 100% cpu, but then i have to do this periodically which is not nice because some apps (like Skype) have to be restarted too (it seems they fail to reestablish connection to the pulseaudio process if this is restarted).
These issues happen regardless that i have echo cancellation+noise reduction enabled or disabled. This points to a portaudio-pulseaudio interoperability issue in general. Please look into this.

···

On Tue, 07 Dec 2010 01:53:09 +0200, Conrad Beckert <conrad_videokonferenz@gmx.de> wrote:

My system:
Acer Travelmate 5720, Ubuntu Maverick

Hope I could help you
Conrad

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

--
Have a nice day,

Kertesz Laszlo

Using Opera's revolutionary email client: http://www.opera.com/mail/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

Hi Kertész László,

The problem here that this portaudio implementation is flaky

What does get the 100% - portaudio, Java or PulseAudio?

Nothing of this happens on my machine. A top command shows high cpu load of Java (around 80%) and the usual suspects such as xorg. Pulseaudio is peaceful (around 5-10% usage). (please see top command of ordinary audio call below)

My test config is: SC calling the echo test on my Asterisk server and pointing the mike to the speakers. A working echo canceller prevents a feedback.

On my rather strong machine everything works fine - unless I switch to full screen wideo. This obviously blocks something and latency goes up and the echo canceller stops working (out of buffer)

This latency sticks - it doesn't go away when I deactivate video. Not even hanging up and redialing helps. Only waiting for a couple of minutes without calling, lets the echo canceller work again.

But even without video after a while the echo gets stronger and a screeching feedback starts. It happens when "doing something" with SC - such as chatting, switching windows etc.

I suspect the voice data get queued up somewhere because something prevents SC from fetching the audio packets in time. Obviously the respective buffer is big enough. This could also be caused by lack of memory and the Java garbage collection getting into the way.

How would I be able to track better, what's going on in my machine? Is there a way to look into the different Java threads (as with top for the processes) and record this?

See my processes:

top - 20:01:23 up 20:09, 3 users, load average: 1.41, 1.20, 0.96
Tasks: 178 total, 4 running, 172 sleeping, 2 stopped, 0 zombie
Cpu(s): 40.6%us, 19.0%sy, 0.0%ni, 40.1%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1016396k total, 952520k used, 63876k free, 29044k buffers
Swap: 3004148k total, 80096k used, 2924052k free, 447000k cached

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5187 beccon 20 0 751m 144m 35m S 61 14.6 7:20.56 java
1181 root 20 0 114m 29m 18m R 31 3.0 10:43.75 Xorg
2825 beccon 20 0 408m 114m 23m S 10 11.6 8:52.56 firefox-bin
3734 beccon 20 0 166m 64m 15m S 7 6.5 4:37.21 plugin-containe
1802 beccon 9 -11 160m 16m 15m R 6 1.6 1:10.38 pulseaudio

Greetings
Conrad

···

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hey Kertesz,

На 07.12.10 09:58, Kertesz Laszlo написа:

These issues happen regardless that i have echo cancellation+noise
reduction enabled or disabled. This points to a portaudio-pulseaudio
interoperability issue in general. Please look into this.

Indeed, we can try and look into this but it would be very helpful if
you could first ping the folks at portaudio.

WDYT?

Emil

···

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#5

Hi Kertész László,

The problem here that this portaudio implementation is flaky

What does get the 100% - portaudio, Java or PulseAudio?

The java process.
PulseAudio is between 10-30% (mostly ~15-20).
The issue is that these things happen randomly. Sometimes i got it working well.
Typically i test it with echo test to our Asterisk server (through VPN).

Sometimes i use it for actual calls - these have higher chance to get java to use 100% CPU. I dont use video since our Asterisk server doesnt support it and i call mainly landlines or sip phones. As i said, restarting PulseAudio always helps so it is definitely a pulseaudio-portaudio (or portaudio-alsa) issue here. I use Debian Squeeze with the stock pulseaudio (compiled 9.22 aswell but it caused more trouble than it solved).

···

On Tue, 07 Dec 2010 21:16:25 +0200, Conrad Beckert <conrad_videokonferenz@gmx.de> wrote:

Nothing of this happens on my machine. A top command shows high cpu load of Java (around 80%) and the usual suspects such as xorg. Pulseaudio is peaceful (around 5-10% usage). (please see top command of ordinary audio call below)

My test config is: SC calling the echo test on my Asterisk server and pointing the mike to the speakers. A working echo canceller prevents a feedback.

On my rather strong machine everything works fine - unless I switch to full screen wideo. This obviously blocks something and latency goes up and the echo canceller stops working (out of buffer)

This latency sticks - it doesn't go away when I deactivate video. Not even hanging up and redialing helps. Only waiting for a couple of minutes without calling, lets the echo canceller work again.

But even without video after a while the echo gets stronger and a screeching feedback starts. It happens when "doing something" with SC - such as chatting, switching windows etc.

I suspect the voice data get queued up somewhere because something prevents SC from fetching the audio packets in time. Obviously the respective buffer is big enough. This could also be caused by lack of memory and the Java garbage collection getting into the way.

How would I be able to track better, what's going on in my machine? Is there a way to look into the different Java threads (as with top for the processes) and record this?

See my processes:

top - 20:01:23 up 20:09, 3 users, load average: 1.41, 1.20, 0.96
Tasks: 178 total, 4 running, 172 sleeping, 2 stopped, 0 zombie
Cpu(s): 40.6%us, 19.0%sy, 0.0%ni, 40.1%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1016396k total, 952520k used, 63876k free, 29044k buffers
Swap: 3004148k total, 80096k used, 2924052k free, 447000k cached

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5187 beccon 20 0 751m 144m 35m S 61 14.6 7:20.56 java
1181 root 20 0 114m 29m 18m R 31 3.0 10:43.75 Xorg
2825 beccon 20 0 408m 114m 23m S 10 11.6 8:52.56 firefox-bin
3734 beccon 20 0 166m 64m 15m S 7 6.5 4:37.21 plugin-containe
1802 beccon 9 -11 160m 16m 15m R 6 1.6 1:10.38 pulseaudio

Greetings
Conrad

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

--
O zi buna,

Kertesz Laszlo

Using Opera's revolutionary email client: http://www.opera.com/mail/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net