PDA

View Full Version : FIR filters?



styx
2005-05-28, 09:04
Hi,

I'm in the process of planning a setup based around the SqueezeBox2, a Benchmark DAC-1, ICEpower amplifiers and sealed enclosure time/phase coherent speakers. I'd really like to play around with digital room correction, though, and was wondering if it is possible to run the SB2's output though ie. FIR (http://freshmeat.net/projects/drc/?topic_id=114) filters or VideoLAN (http://www.videolan.org/)'s filters? The SlimServer will be running on a Linux box with "plenty" of processing power, FWIW.

JJZolx
2005-05-28, 09:49
Hi,

I'm in the process of planning a setup based around the SqueezeBox2, a Benchmark DAC-1, ICEpower amplifiers and sealed enclosure time/phase coherent speakers. I'd really like to play around with digital room correction, though, and was wondering if it is possible to run the SB2's output though ie. FIR (http://freshmeat.net/projects/drc/?topic_id=114) filters or VideoLAN (http://www.videolan.org/)'s filters? The SlimServer will be running on a Linux box with "plenty" of processing power, FWIW.

The digital out is standard S/PDIF over either coax or TOSLINK, so whatever you can do with the digital signal from a typical CD transport, you should be able to do the same with the Squeezebox's output. Where or how SlimServer runs shouldn't matter in the setup.
________
rolling a joint (http://howtorollajoint.net)

styx
2005-05-28, 11:01
The digital out is standard S/PDIF over either coax or TOSLINK, so whatever you can do with the digital signal from a typical CD transport, you should be able to do the same with the Squeezebox's output. Where or how SlimServer runs shouldn't matter in the setup.
Well, I was thinking of implementing software based FIR filters in the server - so it is already filtered before it leaves the SlimServer.

pfarrell
2005-05-28, 11:01
On Sat, 2005-05-28 at 11:01 -0700, styx wrote:
> Well, I was thinking of implementing software based FIR filters in the
> server - so it is already filtered before it leaves the SlimServer.

Should be pretty easy, just set it up as a transcoder
and pipe the output of your main decoder, flac, etc.
thru the FIR package using stdin and stdout


--
Pat
http://www.pfarrell.com/music/slimserver/slimsoftware.html

Michel Fombellida
2005-05-28, 12:17
Check this web site:
http://www.duffroomcorrection.com/wiki/Main_Page

Michel

joshk
2005-08-22, 08:31
Does anyone know if there has been development by third parties, et al, for adding a convolver to slimserver? It would be nicer to have the slimserver software do it rather than convolve in a transcoder, this way you could have different convolvers for different rooms.

How about upsamplers? Has there been any development of upsampling plugins? Does anyone know what the max freq and bits the SB2 can handle? Via its S/PDIF output?

joshk
2005-08-25, 10:25
bump ^

Anyone have any idea?

seanadams
2005-08-25, 11:03
Architecturally speaking, this could be done very simply by hooking a DSP app into SlimServer using convert.conf. Then there might be a plugin front-end which provides some controls to initiate measurements (via PC sound card presumably), view parameters etc.

I have read a bit about room correction systems from Tact et al. It seems like a great concept and a fun thing to develop. The same concept could certainly be implemented on the PC saving $thousands by leveraging what we already have.

joshk
2005-08-25, 11:06
Thanks for your answer Sean. Measuring and building the appropriate filter (convolution) can be done with something like DRC, so that aside what is needed to get it off the ground is the ability to "plug-in" a premeasured convolver into the stream. On the linux side, there are programs like BruteFIR that do the convolver, I know Foobar allows you to plug in a convolver too.

What I am missing is a little guidance on how to plug the convolver into the Slimserver software. You hinted at it but i am not sure I follow.

Triode
2005-08-25, 11:21
A unix command line tool which takes wav/pcm input from stdin and sends output to stdout is all that is required.

Look in the file convert.conf to see how conversion commands are already connected by pipes - you just add another process to the
pipeline [at the end]

Adrian
----- Original Message -----
From: "joshk" <joshk.1uc0un (AT) no-mx (DOT) forums.slimdevices.com>
To: <discuss (AT) lists (DOT) slimdevices.com>
Sent: Thursday, August 25, 2005 7:06 PM
Subject: [slim] Re: FIR filters?


>
> Thanks for your answer Sean. Measuring and building the appropriate
> filter (convolution) can be done with something like DRC, so that aside
> what is needed to get it off the ground is the ability to "plug-in" a
> premeasured convolver into the stream. On the linux side, there are
> programs like BruteFIR that do the convolver, I know Foobar allows you
> to plug in a convolver too.
>
> What I am missing is a little guidance on how to plug the convolver
> into the Slimserver software. You hinted at it but i am not sure I
> follow.
>
>
> --
> joshk
>

HoZ
2005-09-12, 17:50
The ability to have software apply correction filters before the data hits the network is very appealing to me and looks to be substantially more affordable than the hardware alternatives. From the research Iíve done thus far, I think I would be able to successfully calculate the appropriate filters using DRC. But, I am unsure how to apply the filters on a Windows machine. Apparently, there are convolvers available for Linux. However, I am currently running WinXP. Has anyone successfully implemented this idea in a Windows environment? I would be very appreciative of any experiences or information that you could share.

Thanks
J

sbjaerum
2005-09-13, 00:23
The ability to have software apply correction filters before the data hits the network is very appealing to me and looks to be substantially more affordable than the hardware alternatives. From the research Iíve done thus far, I think I would be able to successfully calculate the appropriate filters using DRC. But, I am unsure how to apply the filters on a Windows machine. Apparently, there are convolvers available for Linux. However, I am currently running WinXP. Has anyone successfully implemented this idea in a Windows environment? I would be very appreciative of any experiences or information that you could share.

Thanks
J

It might be useful to take a look at Sox (available on Windows):
http://sox.sourceforge.net/

Steinar

Alex Twisleton-Wykeham-Fiennes
2005-09-13, 01:40
On Tuesday 13 September 2005 01:50, HoZ wrote:
> The ability to have software apply correction filters before the data
> hits the network is very appealing to me and looks to be substantially
> more affordable than the hardware alternatives. From the research Iíve
> done thus far, I think I would be able to successfully calculate the
> appropriate filters using DRC. But, I am unsure how to apply the
> filters on a Windows machine. Apparently, there are convolvers
> available for Linux. However, I am currently running WinXP. Has
> anyone successfully implemented this idea in a Windows environment? I
> would be very appreciative of any experiences or information that you
> could share.

not necessarily suitable for embedding into a realtime slimserver setup, the
drc wiki (and connected pages) mentions the following windows related
points:-
http://www.duffroomcorrection.com/wiki/Foobar2000
http://pcazeles.perso.cegetel.net/acxo.htm
http://www.sjeng.org/foobar2000.html (note downloadable headphone convolver
impulse responses)
From the sounds of things, the actual application of the filter to an existing
sound file is not a major problem on windows - what is more of a challenge
will probably be the insertion of this process into the audio chain utilised
by slim server.

Alex

Robin Bowes
2005-09-13, 01:55
Alex Twisleton-Wykeham-Fiennes wrote:
> From the sounds of things, the actual application of the filter to an existing
> sound file is not a major problem on windows - what is more of a challenge
> will probably be the insertion of this process into the audio chain utilised
> by slim server.

Actually, that's pretty easy too - just insert it as a filter in
convert.conf.

The key here is to write an app. that can take audio on stdin, apply a
filter, and dump it to stdout. Ideally, it should be possible to specify
a filter on the command line, either via parameters, or possibly a
config file.

R.
--
http://robinbowes.com

If a man speaks in a forest,
and his wife's not there,
is he still wrong?

joshk
2005-09-13, 06:27
This is further down on my to-do list but it does look very doable. Robin basically gave the biggest hints and direction on how to get it done.

Good luck and keep us abreast on your findings.

Robin Bowes
2005-09-13, 07:01
joshk wrote:
> This is further down on my to-do list but it does look very doable.
> Robin basically gave the biggest hints and direction on how to get it
> done.
>
> Good luck and keep us abreast on your findings.

Josh,

I've just started looking at BruteFIR.

I've built it without any external sound interfaces (i.e. just the raw
PCM file interface) by commenting out the following lines in the Makefile:

#LIB_TARGETS += alsa.bfio
#LIB_TARGETS += oss.bfio
#LIB_TARGETS += jack.bfio

Basically, it should be as simple as adding brutefir to a line in
convert.conf (or better, slimserver-convert.conf).

Something like:

flc flc * *
[flac] -dcs --skip=$START$ --until=$END$ -- $FILES | [brutefir]
config_file_name -quiet

[someone more knowledgeable might like to confirm this]

Then, set up config_file_name to point to the brutedir config file,
which should at least contain the following settings:

input {
device: "file" { path: "/dev/stdin"; };
...
}

output {
device: "file" { path: "/dev/stdout"; };
...
}

Plus of course the details of whatever filter you are implementing.

I've not tested any of this, but I see no reason why it shouldn't work.

R.
--
http://robinbowes.com

If a man speaks in a forest,
and his wife's not there,
is he still wrong?

inguz
2006-04-05, 09:19
I'm now up and running with a Windows-based slimserver convolver plugin; have started documenting this at my page on the DRC wiki (http://www.duffroomcorrection.com/wiki/User:Hpyle). It works a treat.

The software is really early still, but if anyone has the pre-reqs & measurement equipment and wants to alpha-test, drop me a note.

HoZ
2006-05-27, 17:03
Inguz,
I am very interested in your progress with your convolver plugin. I think the potential benefits of integrating DRC with SB and Slimserver may be substantial. I have completed my initial measurements and will soon be creating the correction filters that I need. However, being the non-programming, Windows-user that I am, I have no way to apply the filters. I would be very interested in trying your convolver with different degrees of filtering, and measuring the effects they have on the sound in my room.

Thanks,
J