JamesHarrison/openob

Raspberry Pi audio still glitchy

JamesHarrison opened this issue · 9 comments

There's some problems even with PCM on the RPi being glitchy - this probably is a driver bug but wants at least addressing in documentation.

Implemented computational complexity tweaking - needs verification of suitable settings for the Pi

Hi James,

I've documented some general Raspberry PI audio tweaks

Thanks - I'll have a play and drop what works best for OpenOB into the docs!

This isn't entirely an OpenOB problem - it's more any USB device on the RPi.

Before fiq_fix in rpi-firmware, captured sound was a bit glitchy. After fiq_fix, it's on the whole unusable - the amount of data from the sound card lost makes the buffers underrun - introduces significant crackling, sample rate weirdness (it sounds as though the actual sample rate fluctuates, very bizarre).

I've raised this in the raspberrypi/firmware repo, and was confirmed by P33M

raspberrypi/firmware#197

The one upshot of this is that 32kHz sample rate might work sufficiently well to be usable, without any crackling or wobbly sample rate effects. To that end, we've got an option to specify samplerate on the transmitter side with --samplerate or -r in Hz.

I've tested the following with f893cf1 :

RPi end: Behringer UC202 (Raspbian with current firmware)
Remote end: IBM X31 laptop (Ubuntu 12.10)
Linked by: Wired ethernet
pi@raspberrypi$ openob remote_host test-link tx -r 32000 -a alsa -d hw:1 --complexity 2 remote_host
naxxfish@remote_host$ openob localhost test-link rx -a alsa

This seems to result in relatively clean audio being transmitted - albeit resampled in order to comply with opus's input pad caps (it won't accept 32kHz, only 48000, 24000, 16000, 12000 and 8000).

Is the samplerate argument available in OPENOB version 2.3.6? I have been trying to change the sample rate of an OPENOB stream using either the "-r" or "--samplerate" arguments. Both arguments produce "error: an unrecognized argument". Any thoughts to why this is not working? The encoder and the decoder are both Raspberry Pi's

sudo openob 1.1.1.1 test-link tx -d hw:1,0 -e opus -r 32000 1.1.1.1

the 1.1.1.1 address is just for example

Thanks

Should have been added in commit f893cf1 (the latest commit right now)
have you pulled that?
On Aug 12, 2013 6:58 PM, "snbdman" notifications@github.com wrote:

Is the samplerate argument available in OPENOB version 2.3.6? I have been
trying to change the sample rate of an OPENOB stream using either the "-r"
or "--samplerate" arguments. Both arguments produce "error: an unrecognized
argument". Any thoughts to why this is not working? The encoder and the
decoder are both Raspberry Pi's

sudo openob 1.1.1.1 test-link tx -d hw:1,0 -e opus -r 32000 1.1.1.1

the 1.1.1.1 address is just for example

Thanks


Reply to this email directly or view it on GitHubhttps://github.com//issues/11#issuecomment-22512253
.

How do I update to the latest comment? Is this different from the apt-get update command??

Thanks

Steve Smit
Desk 1 (651) 289 4419

On Aug 12, 2013, at 1:34 PM, "Chris Roberts" notifications@github.com wrote:

Should have been added in commit f893cf1 (the latest commit right now)
have you pulled that?
On Aug 12, 2013 6:58 PM, "snbdman" notifications@github.com wrote:

Is the samplerate argument available in OPENOB version 2.3.6? I have been
trying to change the sample rate of an OPENOB stream using either the "-r"
or "--samplerate" arguments. Both arguments produce "error: an unrecognized
argument". Any thoughts to why this is not working? The encoder and the
decoder are both Raspberry Pi's

sudo openob 1.1.1.1 test-link tx -d hw:1,0 -e opus -r 32000 1.1.1.1

the 1.1.1.1 address is just for example

Thanks


Reply to this email directly or view it on GitHubhttps://github.com//issues/11#issuecomment-22512253
.


Reply to this email directly or view it on GitHub.

To get the latest code you need to pull the code down manually (with git), go into the directory and run "sudo python setup.py install". You may want to uninstall the existing version you installed with easy_install/pip first. I only release new versions for stable code I've tested, and I've not had time to test this version yet.

Closing this ticket - Wolfson audio board is the 'fix'.