07.01.2015 15:14, Alexander E. Patrakov wrote: > I will retest with qemu (via its alsa backend) later today. Done, both for "pa" and "alsa" backends. I must say that soxr-based resamplers break a configuration that worked fine (except the initial period of several seconds) with speex-float-5. Namely, after some seconds of initial crackling (which is a KVM limitation), speex-float-5 produces clear sound for at least 5 minutes. soxr-based resamplers produce a constant stream of underruns. The (insane) configuration below is the one required to get somewhat-nonbroken audio from KVM running a Mac OS X guest. You cannot increase latency here, because we need to emulate the sound card driven by Mac OS X in their equivalent of tsched mode (which cannot be switched off) with quite strict scheduling safety margin (which cannot be configured). I.e., increasing latency would lead to qemu-level underruns where it fails to copy the sound data from the memory belonging to the emulated device in time and copies a piece of silence instead. Inside the guest, an mp3 file (44100 Hz stereo) was played using afplay through the VoodooHDA driver. On the host (which has an onboard snd-hda-intel card), pulseaudio was restricted to 48000 Hz using daemon.conf to force resampling. #!/bin/sh export QEMU_AUDIO_DRV=pa export QEMU_PA_SAMPLES=440 export PULSE_LATENCY_MSEC=8 # gets clamped to 2 ms for unknown reason export QEMU_AUDIO_TIMER_PERIOD=1000 nohup \ flock -n hda.dsk \ qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo -smp 2 \ -machine q35 \ -vga std -sdl \ -soundhw hda \ -usb -device usb-kbd -device usb-mouse \ -device isa-applesmc,osk="...(c)AppleComputerInc" \ -smbios type=2 \ -device ide-drive,bus=ide.2,drive=MacHDD \ -drive id=MacHDD,if=none,file=hda.dsk \ -netdev user,id=hub0port0 \ -device virtio-net,netdev=hub0port0,id=mac_vnet0 \ -monitor stdio \ </dev/null >/dev/null 2>&1 & (search Google for OSK0 and OSK1, the command line was mostly copy-pasted from http://blog.ostanin.org/2014/02/11/playing-with-mac-os-x-on-kvm/ ) Also, with PulseAudio forced to 44.1 kHz, FooBar2000 v1.2 (which uses DirectSound and thus, by default, resamples everything to 48 kHz) just plays silence (with a neverending stream of underruns in pulseaudio log) over soxr-vhq and works fine over speex-float-5. soxr-hq and soxr-mq also work fine with wine. If you don't have Mac OS X, you can also reproduce the first bug (which, BTW, also applies to -mq and -hq) with paplay: paplay --latency-msec=8 any-44100hz-stereo-file.flac Note again: there are constant underruns in this case in the pulseaudio log, which are not present with speex-based resamplers. Or you can just dismiss the issue, because the testcases just request latency that cannot be satisfied with soxr. -- Alexander E. Patrakov