Hi Stuart,

Just a quick reply. (it's 11u30 PM here :-) )



On 14-04-13 23:13, Stuart Longland (VK4MSL) wrote:
> The Raspberry Pi model B mk 2 has a port which exposes all I²S signals.
>   You could hook it to one of these:
>
> http://littlebirdelectronics.com/products/codec-shield
> which is intended for Arduino, but I see no reason why it wouldn't work.
Looks interesting; but perhaps a bit "overkill" for what we need.

The A/D and D/A on this board are 24 bits. To give you an idea. The ADC 
and DAC on the dvrptr board (which is very good boards for GMSK) are ... 
10 bits and 12 bits!!!

What I also like to see is everything related to impedance matching to 
microphones, radio interfaces, buffering the GPIO ports and -why not- an 
interface between the RX/TX of the Pi and the CAT ports of the radio.
(it would be interesting for the RPi to know what frequency it is tuned 
to. If it tuned to an analog repeater frequency, it should better not 
use GMSK but only do "audio passthrough". Also, it is knows it on the 10 
or 4 meter band, it should perhaps better use the 2400 bps modem to 
reduce bandwidth.)





>>> USB audio devices with stereo inputs are not nearly as common.  Do you
>>> really expect the average user to be able to spot the difference from
>>> the packaging alone?
>> True.
>>
>> When doing experiments, I found out a number of odd things about USB
>> audio-dongles:
>> - some do not support stereo capture
>> - some say they support mono playback, but -in fact- do not
> No, they don't, it's Windows that supports up-conversion.  i.e. we need
> to use the plug: interface in ALSA.
I use portaudio (I moved from ALSA to portaudio to be less dependent on 
linux). On portaudio, you can talk directly to the hardware and ask its 
capabilities. It turns out that if you ask it "do you support 48 K, 16 
bit, mono playback", some of them may happily say "yes, of course", 
while in fact, they do not. You need to send it a stereo stream.

That's why I added the "forcestereo" option in my applications.


>> - quite a lot of them only support 44k1 and 48k sampling. Dongles
>> supporting 8 Khz sampling are in fact pretty rare
> Yep, once again, they "support" it by leaning on the OS driver to do the
> rate conversion.  Plus in David Rowe's experience, many are pretty
> rubbish at it even when they do support 8kHz.
I have a griphin iMic and that one does support 8 Khz and does it pretty 
good. But then this one of the more expensive devices.


>>> I don't see a problem with using two USB audio devices provided the
>>> underlying hardware can support it.
>> Well, today I've done an end-to-end test with two raspberry pi's which
>> did work pretty good, each using two usb audio-dongles.
>> The combination of forceing the speed of the USB bus to 12 Mbps (USB
>> 1.1) and using half-duplex on the audio-dongles seams to do it.
>> PTT-switching is done via GPIO (not ideal but good enough for a start).
> How difficult is it to achieve the force to 12Mbps?
Just add "dwc_otg.speed=1" to the first line of /boot/cmdline.txt and 
reboot.

This will completely disable USB 2.0 on the USB bus which fixes the 
"lost USB packets" issue. On the other hand, the speed of everything 
else you connect to the USB will also go down.
Also note that the ethernet device is also connected to the USB bus, so 
that will be impacted too!



> I'm looking at
> putting together a transceiver using the Rpi's GPIO4 pin as the
> reference for a local oscillator, using the aforementioned "CODEC
> shield" as the I/Q interface to the analogue frontend and USB audio for
> microphones/headsets.
Looks interesting. Can you elaburate on this?


> It'd be nice to be able to plug more than one headset in and have them
> both "playback" the received audio.  Do we know why full-duplex
> saturates the USB?
It only does so if you manually slow down the bus to USB 1.1 speed.

But I don't even understand this. USB 1.1 is supposted to be 12 Mbps and 
a full-duplex 48 Khz / 16 bit / stereo stream is (if I am correct) only 
1.5 Mbps.
Perhaps this is related to other devices on the bus (like the ethernet 
NIC). I don't know.


Note that the USB packetloss issue is only
- for USB 1.1 devices connected to the USB 2.0 bus
- only for reception!

So, if you only want to do playback, you should not be impacted.

Or, as "plan B", find yourself a couple of USB 2.0 audio-fobs.


73
Kristoff - ON1ARF

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to