Voice Quality: PortAudio vs WIN32 Direct Sound

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Benny,
   We have noticed a huge difference in voice quality (almost factor of 10
for jitter) between using portaudio and win32 direct sound implementation in
pjmedia. Using port audio implementation gives us choppy sound. I ran the
sndtest.exe with both implementations and the results are as below. No
significant difference is observed for portaudio after turning the
PJMEDIA_PREFER_DIRECT_SOUND flag also.

     Is there a way to tune the portaudio implementation so that we can have
better voice quality ? I understand that the dsound.c backend is unstable so
we would ideally want to stay away from using the win32 direct sound
implementation


 -------------------------PortAudio
implementation-----------------------------------

 11:45:37.994 os_core_win32. pjlib 0.7.0-trunk for win32 initialized
 11:45:38.073      pasound.c PA message: Pa_GetDeviceInfo: Num input
channels re
ported as 65535! Changed to 2.

 11:45:38.073      pasound.c PA message: Pa_GetDeviceInfo: Num output
channels r
eported as 65535! Changed to 2.

 11:45:38.229      pasound.c PortAudio sound library initialized, status=0
 11:45:38.229      pasound.c PortAudio host api count=3
 11:45:38.229      pasound.c Sound device count=8
 11:45:38.229          pjlib WinNT IOCP I/O Queue created (008F62F4)
 11:45:38.229      sndtest.c Found 8 devices:
 11:45:38.244      sndtest.c  0: Microsoft Sound Mapper - Input (capture=2,
play
back=0)
 11:45:38.244      sndtest.c  1: SoundMAX HD Audio (capture=2, playback=0)
 11:45:38.244      sndtest.c  2: Microsoft Sound Mapper - Output (capture=0,
pla
yback=2)
 11:45:38.244      sndtest.c  3: SoundMAX HD Audio (capture=0, playback=2)
 11:45:38.244      sndtest.c  4: Primary Sound Capture Driver (capture=2,
playba
ck=0)
 11:45:38.244      sndtest.c  5: SoundMAX HD Audio (capture=2, playback=0)
 11:45:38.244      sndtest.c  6: Primary Sound Driver (capture=0,
playback=2)
 11:45:38.244      sndtest.c  7: SoundMAX HD Audio (capture=0, playback=2)
 11:45:38.401      sndtest.c Testing playback device Primary Sound Driver
 11:45:38.401      sndtest.c Testing capture device Primary Sound Capture
Driver
 11:45:38.604      sndtest.c  Please wait while test is in progress (~11
secs)..
 11:45:49.651      sndtest.c  Dumping results:
 11:45:49.666      sndtest.c   Parameters: clock rate=8000Hz, 80
samples/frame
 11:45:49.666      sndtest.c   Playback stream report:
 11:45:49.666      sndtest.c    Duration: 9s.990
 11:45:49.666      sndtest.c    Frame interval: min=0.003ms, max=37.503ms
 11:45:49.666      sndtest.c    Jitter: min=9.982ms, avg=23.711ms, max=
37.498ms
 11:45:49.666      sndtest.c   Capture stream report:
 11:45:49.666      sndtest.c    Duration: 9s.990
 11:45:49.666      sndtest.c    Frame interval: min=0.003ms, max=36.672ms
 11:45:49.666      sndtest.c    Jitter: min=9.970ms, avg=23.711ms, max=
36.667ms
 11:45:49.666      sndtest.c   Checking for clock drifts:
 11:45:49.666      sndtest.c    No clock drifts is detected
 11:45:49.666      sndtest.c  Test completed with some warnings
  -------------------------PortAudio
implementation-----------------------------------


-----------------------------Win32 Direct
Sound---------------------------------------
 11:51:54.401 os_core_win32. pjlib 0.7.0-trunk for win32 initialized
 11:51:54.619       dsound.c DirectSound initialized, found 3 devices:
 11:51:54.619       dsound.c  dev_id 0: Primary Sound Capture Driver  (in=2,
out
=2)
 11:51:54.619       dsound.c  dev_id 1: SoundMAX HD Audio  (in=0, out=2)
 11:51:54.619       dsound.c  dev_id 2: SoundMAX HD Audio  (in=2, out=0)
 11:51:54.619          pjlib WinNT IOCP I/O Queue created (00975EBC)
 11:51:54.619      sndtest.c Found 3 devices:
 11:51:54.619      sndtest.c  0: Primary Sound Capture Driver (capture=2,
playba
ck=2)
 11:51:54.619      sndtest.c  1: SoundMAX HD Audio (capture=0, playback=2)
 11:51:54.619      sndtest.c  2: SoundMAX HD Audio (capture=2, playback=0)
 11:51:55.057      sndtest.c  Please wait while test is in progress (~11
secs)..

 11:52:06.166      sndtest.c  Dumping results:
 11:52:06.166      sndtest.c   Parameters: clock rate=8000Hz, 80
samples/frame
 11:52:06.166      sndtest.c   Playback stream report:
 11:52:06.166      sndtest.c    Duration: 10s.000
 11:52:06.166      sndtest.c    Frame interval: min=0.008ms, max=19.914ms
 11:52:06.166      sndtest.c    Jitter: min=0.963ms, avg=3.453ms, max=
19.880ms
 11:52:06.166      sndtest.c   Capture stream report:
 11:52:06.166      sndtest.c    Duration: 10s.000
 11:52:06.166      sndtest.c    Frame interval: min=0.026ms, max=19.179ms
 11:52:06.166      sndtest.c    Jitter: min=0.516ms, avg=2.362ms, max=
19.129ms
 11:52:06.166      sndtest.c   Checking for clock drifts:
 11:52:06.182      sndtest.c    No clock drifts is detected
 11:52:06.182      sndtest.c  Test completed with some warnings

 -----------------------------Win32 Direct
Sound---------------------------------------

 Regards,
-Amit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20071210/e2e76901/attachment.html 


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux