SPDIF 4 to 8 second delay

Jabbaz

Member
2004-12-03 10:02 pm
Toronto
I want to build a simple device that will apply a set delay of about 4 or 8 seconds to a SPDIF signal. Device will input SPDIF and output delayed SPDIF and will have a bypass switch.

I found this thread which recommends the TPA5052 however it has a maximum delay of 170ms so I would need 25 or more of these chips in series to achieve the delay I want.

Is there a more practical approach?

Application background for those interested: I am a remote recordist and often do recordings in large reverberant spaces. I monitor the recorded signal using high-isolation headphones, however some of the direct sound from the performance still leaks through and clouds the monitored signal. I am hoping a significantly delayed version of the signal will allow me to psycho-acoustically separate the recorded sound from the direct sound.

Effects processors already exist which do this, however they are expensive and large because they perform many other signal processing tasks (reverb, eq, chorus, etc) in addition to delay.
 

Jabbaz

Member
2004-12-03 10:02 pm
Toronto
I've looked around at simple solutions involving just SPDIF receiver IC -> delay IC -> SPDIF transmitter IC, but none seem to offer the delay length I'm looking for.

I think I need to parallelize the serial bit stream, write it into FIFO memory, then after a counted number of clock cycles, start reading the FIFO memory into a device which re-serializes the data and passes it back to the SPDIF receiver.

Am I over-complicating this, or am I on the right track? Not sure what devices to use to do the serialize/parallelize function.
 

Jabbaz

Member
2004-12-03 10:02 pm
Toronto
Use a DSP with a suitable amount of memory. Some SHARC DSP's have the SPDIF functionality built into them such as the ADSP-3136x family except for the ADSP-31363.

Thanks for the pointer. How much of a time investment is it to learn to do something like this? I ask as someone who finished his Electrical Engineering degree 6 years ago and hasn't touched the knowledge since then. The datasheet and the manuals look only about 30% comprehensible to me ::eek:

I imagine that once it's all set up and connected with the necessary supporting ICs that the delay code itself would be trivial... at least compared to coding a filter or convolution algorithm.

Do you have to buy the $500 evaluation board and software to be able to program the chip? Is there much likelihood of a newbie learning the architecture without the evaluation board?
 
Thanks for the pointer. How much of a time investment is it to learn to do something like this? I ask as someone who finished his Electrical Engineering degree 6 years ago and hasn't touched the knowledge since then. The datasheet and the manuals look only about 30% comprehensible to me ::eek:

I imagine that once it's all set up and connected with the necessary supporting ICs that the delay code itself would be trivial... at least compared to coding a filter or convolution algorithm.

Do you have to buy the $500 evaluation board and software to be able to program the chip? Is there much likelihood of a newbie learning the architecture without the evaluation board?

You can buy the evaluation board which has on board codecs and peripherals and then you only have to focus on writing the code which is a major hurdle if you haven't written any code before.

As far as designing you can use the evaluation board as a starting point but then you have to learn to use a schematic capture package and pcb layout package in order to design your own board.

The other avenue is to look at some of the Blackfin eval boards which hook up to National Instruments Virtual Laboratory software or alternatively Altium sell a similar setup that works with their own software.

Altium NanoBoard 3000
 

Jabbaz

Member
2004-12-03 10:02 pm
Toronto
Would a laptop/netbook computer be too complicated to be a "simple device?" I'm thinking there's got to be interfaces available that go between SPDIF and USB, then on the computer run some audio recording software with a delay plug-in.

Alternatively why not do it on a PC which has heaps of hard disk space to be used as a large buffer ?

Good questions which I should have anticipated... I record to a hard disk using a laptop. Because my work is mission-critical I use recording software that is very basic/lean (RME Digicheck) in that all it does is buffer the recording data to memory while streaming it to a multichannel .wav file.

I could record to a full sequencer with VST-plugin host but this would be putting undue stress on the laptop and would increase the risk of a crash. I could run a second laptop digitally connected to the first to process the delay, but this adds an unnecessary level of complexity and weight to my portable rig. Ideally I'd like something very small and light that I can tuck away out of sight.

Alternatively I might be able to convince RME to incorporate a monitoring delay function in their software that plays a delayed signal from the laptop's RAM buffer. Chances are pretty low since the new range of products from RME have built-in DSP that allows you to apply effects to each input/output.