Rasberry Pi and active crossover revolution

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
On windows, where do you connect the inputs/outputs?

I would recommend against using an ADC that is built into any SoC. It is likely 8 or 10bit (there is no publicly available datasheet for the BCM2835 SoC used in the R-Pi). The designers of these chips are not considering an audio application for these ports.
 
As this is planned for a home theatre environment, take the analogue feeds from the av processor feed them into an analogue input on the raspberry and the filter the signal to provide the relevant frequencies and adjustment before outputting as an analogue signals to the amps.

'feed them into an analogue input on the raspberry' 'before outputting as an analogue signals to the amps'.

Yes, there's an analogue jack. Probably 2 channel.

Yes, the pi supports audio over HDMI. 8 channels of PCM.

You might, at a stretch, feed stereo into the jack and feed 2 * 3 bandlimited channels of audio out the HDMI.

The A/D quality on the pi is an unknown quantity as of yet, but it is unlikely to be of hi-fi quality. Then you have to D/A the 6 signals from the HDMI. Good luck with that one.

You could plug in 3 or 4 stereo USB audio interfaces, but to get even reasonable quality you will need to buy Behringer UCA202s. That's not cheap anymore. You can get ones for a few dollars, http://www.amazon.com/Virtual-5-1-s...5A0Y/ref=sr_1_2?ie=UTF8&qid=1328053822&sr=8-2 but the quality is marginal. It says 5.1 but I can only see connections for 2 in, 2 out. Has the USB got enough bandwidth? If you wanted 5.1 for HT? This is probably still your best bet for a simple, cheap stereo system with off-the-shelf parts.

I'm waiting with bated breath to get my own pi, but I don't think it'll do what you want. Not at a quality standard that will impress a lot of people here.Prove me wrong, but I think you'd be better building a standalone device with A/Ds and D/As, a DSP and a low jitter clock. It'll require some expertise. You could give it a USB port and talk to it using a raspberry pi.
 
What is 'analogue digital to analogue conversion'?

Also, how would multiple separate software (or hardware for that matter) ASRCs solve the clock distribution issue either for that matter? If you want master clock sync between the RPi mounted at left/right speakers you'd need to force that issue more directly imo.

Here, a single steady stream must be distributed into separately running clocks for each channel / even speaker. The same scenario as jackd or pulseaudio feeding independent soundcards. In these cases asrc is being used, to convert between the central clock (incoming) and the independent
one (outgoing). AFAIK libsamplerate is used for the purpose in jackd and pulseaudio.



Is the clock sync between the DAC for each speaker a big issue? As long as there is a matching amount of audio signal buffered at each localised RPi/DSP module AND you have a properly implemented network with very low packet loss/latency tehn you should negate any time delay between audio from L/R speakers. The phase noise and jitter on the digital signal leaving the RPi for digital to analogue conversion is then mainly dependent on the implementation of audio source/DAC after the RPi surely?

The clocks are independent and will deviate fast. In this scenario every millisecond of time difference counts. Furthermore, the buffers in the chain would under/overflow soon.

Another option would be feeding the output sound device with single common clock signal. This option for the OMAP ASoC was discussed here before. Definitely not a simple solution.
 
'feed them into an analogue input on the raspberry' 'before outputting as an analogue signals to the amps'.

Yes, there's an analogue jack. Probably 2 channel.

Yes, the pi supports audio over HDMI. 8 channels of PCM.

You might, at a stretch, feed stereo into the jack and feed 2 * 3 bandlimited channels of audio out the HDMI.

The A/D quality on the pi is an unknown quantity as of yet, but it is unlikely to be of hi-fi quality. Then you have to D/A the 6 signals from the HDMI. Good luck with that one.

You could plug in 3 or 4 stereo USB audio interfaces, but to get even reasonable quality you will need to buy Behringer UCA202s. That's not cheap anymore. You can get ones for a few dollars, http://www.amazon.com/Virtual-5-1-s...5A0Y/ref=sr_1_2?ie=UTF8&qid=1328053822&sr=8-2 but the quality is marginal. It says 5.1 but I can only see connections for 2 in, 2 out. Has the USB got enough bandwidth? If you wanted 5.1 for HT? This is probably still your best bet for a simple, cheap stereo system with off-the-shelf parts.

I'm waiting with bated breath to get my own pi, but I don't think it'll do what you want. Not at a quality standard that will impress a lot of people here.Prove me wrong, but I think you'd be better building a standalone device with A/Ds and D/As, a DSP and a low jitter clock. It'll require some expertise. You could give it a USB port and talk to it using a raspberry pi.

With my idea I will need one analogue input and two output (2 way speakers) per raspberry so there will not be any necessity for 8 channel though hdmi to a dac however, sound is an unknown but if I don't try I wont know. At the worst I end up with some new toys to play with - I'm thinking xbmc clients attached to the back of each tv in the house.
 
I'll ask this another way, do you know what the voltage swing on the output of your source is?

Worst case for what my understanding of your proposal (feed analogue signal into the GPIO port) is actually that you end with a fried/partially working RPi. If you need 2ch in/out then use the headphone output (I personally would use an off board DAC, but for proof of the concept, it will work) and use a usb based input interface like the behringer suggested before. Its actually exactly what is suggested on the RPi FAQ for microphone connection.


@phofman, I'm still wrapping my brain around how ASRC/libsamplerate is being applied here, I've got no practical experience with jackd and first thing I do when installing linux is try to remove pulseaudio from the audio chain. This is just a habbit after some bad experiences in the past. Pulseaudio 1.0 does have some nice new features now that I'd like to try out someday soon. Do you have any links to diagrams showing how these are all linked together or articles/threads on the subject?
 
@phofman, I'm still wrapping my brain around how ASRC/libsamplerate is being applied here, I've got no practical experience with jackd and first thing I do when installing linux is try to remove pulseaudio from the audio chain. This is just a habbit after some bad experiences in the past. Pulseaudio 1.0 does have some nice new features now that I'd like to try out someday soon. Do you have any links to diagrams showing how these are all linked together or articles/threads on the subject?

Multiple soundcards mean multiple clocks, unless the clocks are provided by a single external clock source which is rather complicated to do in RP.

But all these cards must play at sync since they are fed from a single data source. This source has some speed (usually one of the soundcards is chosen as master, but theoretically it can be any source of e.g. 48kHz playback timing such as high-precision timer).

So we have a single input clock and multiple output clocks. Since their ratio will never be exactly 1.00000 (each clock runs at a slightly different pace), you must use ASRC. And libsamplerate can do that.

See e.g.

[SOLVED] two soundcards with jack - Ubuntu Forums

Ubuntu Forums - View Single Post - [ubuntu] Jack with multiple sound cards?

Modules ? PulseAudio
 
I understood that the customer orders were for this batch completing manufacture.
They've not yet left the factory, so they've not been recalled

This is the first batch and it is all model B
No model As have been produced yet (and with the demand for model B may still be some time off)
 
You will probably need something like "brutefir" as convolver for doing the active crossover or some kind of drc.

I think if brutefir will be in the repos, it is possible to do some stereo concolving (e.g Roomcorrection) on Rpi.

A search on the Koji for ARM Fedora turns up negative for brutefir.

Why use FIR, anyway? Easy phase linearity through symmetric impulse responses?

New OS project, "elegantIIR," perhaps?

Best,

∫f(t)exp(jst)dt
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.