fir filtering "server" based on mini pc.

post 18: what exactly do you have in mind?

I basically want this:

external analog audio source (turntable)
connected to the mini pc via the ADC (rca-in to usb).
apply FIR filters on windows (EqAPO)
reproduce that "in" signal "in real time" with the filters (???)
output the signal trought DAC (usb to rca-out)

I need to configure the device so that when you turn it off and on the system, it will automatically do all the things without you needing to do anything else.

thanks.
 
That's called realtime digital signal processing. Again, they make devices for it that are cheap! Don't make it complicated if you don't have to.

Things happening automatically is very easy on dedicated stuff (ADAU) and headless linux distro's oriented at realtime operation.

This will sound repetitive, but look at the links people sent. They all explain what they are.

Async USB mode is a capability. My car may be able to drive 80mph but that doesn't mean I am allowed to, or even have the roads capable of it.
 
Of course one could use ADAU 1701 e.a. dedicated hardware, but 1701/1401 is not FIR capable.Furthermore, creating filters with SigmaStudio is not a piece of cake. But that was not the question.
AFAIK the answer to the question is : yes the processing can be done in real time, but there will be latency. I would highly recommend to either read the EqAPO thread or the Camilla thread for the Linux route.
 
I basically want this:

external analog audio source (turntable)
connected to the mini pc via the ADC (rca-in to usb).
apply FIR filters on windows (EqAPO)
reproduce that "in" signal "in real time" with the filters (???)
output the signal trought DAC (usb to rca-out)

I need to configure the device so that when you turn it off and on the system, it will automatically do all the things without you needing to do anything else.

thanks.

If you use a computer to do your signal processing, "real time" processing is impossible. There will always be some amount of delay. This is because a computer does not process samples one-by-one, but rather in groups. The size of the group is determined by the buffer sizes used. The smaller the buffer the lower the delay, however, at some point you risk getting some issues with the playback due to underruns, etc.

But if you can relax your requirements a bit, you can certainly achieve e.g. 20msec or less total delay with some optimization.

If you need even less delay, then you should not use a computer - use a hardware based DSP like miniDSP, etc. instead. This will still have a delay but it will be only a couple of milliseconds, eg. 2 msec.

If you REALLY need "real time" processing, then forget about DSP and use analog active circuits, which essentially have zero delay at audio frequencies but (unfortunately) are not practically capable of FIR type processing.
 
Last edited: