JamesHarrison / openob

The Open Outside Broadcast project for radio contribution links and studio-transmitter links.
158 stars 34 forks source link

Raspberry Pi audio still glitchy #11

Closed JamesHarrison closed 10 years ago

JamesHarrison commented 11 years ago

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.

JamesHarrison commented 11 years ago

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

sreimers commented 11 years ago

Hi James,

I've documented some general Raspberry PI audio tweaks

JamesHarrison commented 11 years ago

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

naxxfish commented 11 years ago

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

https://github.com/raspberrypi/firmware/issues/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 f893cf1e1af049d6c3214eee154e2110b7bf460e :

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).

snbdman commented 11 years ago

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

naxxfish commented 11 years ago

Should have been added in commit f893cf1e (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/JamesHarrison/openob/issues/11#issuecomment-22512253 .

snbdman commented 11 years ago

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 f893cf1e (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/JamesHarrison/openob/issues/11#issuecomment-22512253 .

— Reply to this email directly or view it on GitHub.

JamesHarrison commented 11 years ago

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.

JamesHarrison commented 10 years ago

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