HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: Francois@Bourdon.com on 2004-11-11 04:52:22

Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2004-11-11 04:52:22
Hello,

I would like to present a new software that I have
been working on since a while in my spare time.  It is
a plugin that implements a digital crossover for the
audio player foobar2000

You only need a WinXP PC equipped with a multichannel
sound card (e.g. a 5.1 or 7.1 surround sound card),
that drives the various voices of an amplifier/loundspeaker
active configuration setup (ie: without passive crossover
only tweeter protection capacitors) fed by this
plugin and foobar2000.

Obviously the source must be .wav files ripped
from CDs for example.  I am not talking about MP3
here, obviously, but that would work as well.  In
fact, if some of you have downloadable high
resolution .wav files with interesting music, I
am interested.  In theory, the plugin should be
working even at 192K Samples/Sec, 24 bits, if your
sound card supports it.

The plugin implements a crossover and the following
specification are for the features that are currently
working.
  - Stereo
  - 4 voices or less
  - Filters: Butterworth, Bessel, Chebyshev
  - Type: Low Pass, High Pass, Band Pass
  - Order: 1 to 8
  - Filter frequencies: 1-20000 Hz
  - Gain control per voices
  - Re-routing per voice to the various outputs
  - Mute control per voice

WARNING:
  - I am not responsible for the consequences of
    using this software, including, like we say
    around here "blasted tweeters"
  - Use at your own risk.
  - This is a beta version, version 0.9 more precisely,
    I ask you to be indulgent in your expectation of
    this free software and open source as well.
  - Several validation functions are not implemented,
    therefore certain combinations of parameters will
    cause: crackling in the audio and even application
    crashes.

I confess that I have been reluctant for a while to
release this software that I felt too immature for
release.  But a colleague strongly recommended to let
this software live on the public place and in the pure
spirit of open source software let it grow in the
community.

"Where am I going" with this software?
  - In fact, towards a software implementation of a
    Tact style system, but the poor man version.
    In effect, foobar2000 has another plugin doing
    convolution that allows in cascade, upstream of
    my crossover to implement DRC.  And who knows, I
    could eventually feed the power section of my
    Panasonic SA-XR45 with the I2S line of my PC sound
    card, PC that runs the all shebang.  Allowing me
    to get closer to the holly Graal of the Tact
    equipment, but for le$$ and DIY.
  - I have many other plans in my head and on my hard
    disk, but I will talk about this latter.

What is left to do in this software.  Find the ToDo
list that is included in the readme.txt that comes with
the source codes.
  - OO review
    . ie: get rid of my ancient procedural design style
  - mkfilter cleanup
    . get rid of the global variables
    . cleanup the modularity to avoid passing all data to
      all functions
  - Implement a frequency response plotting
  - Implement a speaker (e.g frd format) speaker response
    import for plotting accuracy purpose
  - Implement stackable filter on the same channel
  - Beyond the routing mechanism, maybe implement mixing
    mechanism for the purpose of bass management
  - Implement phase/out_phase switch on a per output
    channel base.
  - Implement delay mechanism on a per output channel base
    to allow time alignment.
  - Maybe implement a solo radio button on a per output
    channel base
  - Implement a debug and/or advance monitoring/control dialog
  - many other...

Installation guide
  - Download and install foobar2000 from the following link:
      http://www.foobar2000.org/index.html (http://www.foobar2000.org/index.html)
  - Copy from the following link:
      http://sourceforge.net/projects/xover/ (http://sourceforge.net/projects/xover/)
    in the section:
      download
    the 2 files:
      foo_dsp_xover.dll
      msvcr71.dll
    in the local directory of your PC:
      C:\Program Files\foobar2000\components
  - Restart foobar2000
  - From the application foobar2000, via the menu:
      foobar2000>Preferences>Playback>DSP Manager
    activate in the column "Available DSPs", by a
    double click, the item Crossover.  It will move
    in the column "Active DSPs"
  - A second later, if music is already playing, you
    will hear the filter comming in.
  - To modify the parameters of the crossover, access:
      foobar2000>Preferences>Playback>DSP Manager>Crossover
    you should be able to find yourself.

I advise you to first explore this software with your
pair of PC speakers.  In fact the re-routing output
selectors where meant to facilitate such exploration
on a PC simply equipped with a small pair of multi-media
loudspeaker.

Waiting for your news, comments and suggestions.

François Bourdon
Verchères, Québec, Canada

mailto://francois@bourdon.com
http://francois.bourdon.com (http://francois.bourdon.com)
Title: Digital Crossover DSP
Post by: Mhenckel on 2004-11-13 13:23:23
Great - we need a lot more of this type of stuff - i share your vision on a poor mans Tact system .. How hard can it bee ....


In order to get the plugin to work i need to switch to directsound ver 2 output - kernel streaming and asio is no good

Clipping is eminent with the higher order filters 60 dB/oct - scaling problem ?

Morten
Title: Digital Crossover DSP
Post by: toobs1234 on 2005-03-01 03:20:18
Thanks for the efforts. I was also thinking about trying something like this, but my programming skills are pretty basic. I would really like to see two things implemented in this:

1. ability to specify general IIR/FIR filter coeffcients (as in foo convolve for FIR)
2. 5.1 channel inputs

I really wish I wish I knew a bit more programming as I would REALLY, REALLY like to see this.

thanks for your efforts, John
Title: Digital Crossover DSP
Post by: foo on 2005-04-26 22:45:00
I really apreciate your work .
It's excellent .
However it would be wonderful if you can route it to multiple soundcards.
Title: Digital Crossover DSP
Post by: matjans on 2005-05-21 01:51:21
great plugin. Very easy to work with. It does display slightly odd behaviour sometimes. Setting a highpass at 1 Hz (bessel 4th order) gave a lot of crackling sounds.

It might be useful to incorporate a "downmix" function to create a mono signal. This could be used, for instance, to build a high-quality sub-sat computer speaker system (downmix stereo sub signals into 1 mono signal).
Title: Digital Crossover DSP
Post by: marcan on 2005-11-05 13:47:05
Excellent 
Love it
Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2005-11-26 04:38:32
Find the updated specifications for the V0.24 of the
crossover implemented by the foo_dsp_xover.dll  plugin
+ Stereo
+ 4 voices or less
+ Filters: Butterworth, Bessel, Chebyshev
+ Type: Low Pass, High Pass, Band Pass, Band Stop
+ Order: 1 to 8
+ Filter frequencies: 1-22050 Hz
+ Gain control per voices
+ Output dialog allowing each voice configuration:(new)
... Routing
... Delay: Sec, mSec, M, mm, In, 1/100 In (new)
... Summing: stereo, mono, to_left, to_right (new)
... Phase: normal / reverse (new)
+ Mute control per voice
+ Automatic recall from previews session of all
  parameters (new)
+ Validation data entry error reporting dialog for: (new)
... filter
... delay
+ Configuration data model validation and automatic
  reset warning dialog (new)

Purpose
This is meant to be used with a WinXP PC equipped with a
multichannel sound card (e.g. a 7.1 surround sound card),
that drives the various voices (sub, woofer, mid, tweeter)
of an amplifier/loundspeaker active setup.

Warning
- I am not responsible for the consequences of using this
  software especially on tweeters
- Use at your own risk.
- This is a beta version, be indulgent in your expectation of
  this free and open source software.
- Several validation functions are not implemented, therefore
  certain combinations of parameters will cause: crackling in
  the audio.
- This is an open source project, yet my authorisation
  for use in a commercial project is required. Otherwise
  go and have some fun right away!

Download
http://sourceforge.net/projects/xover/ (http://sourceforge.net/projects/xover/)

François Bourdon
Verchères, Québec, Canada

http://francois.bourdon.com (http://francois.bourdon.com)
Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2006-03-18 12:45:31
foo_dsp_xover now have a sight and a site

I am pleased to announce that I have released version 0.34
of foo_dsp_xover displaying the filter frequency response
providing you with a sight on the filters behavior.

I have also issued a new web site providing structured
information on this foobar2000 plugin.  This web site
covers the following topics.
  . Purpose
  . Specifications
  . Screenshot
  . System Requirement
  . Installation
  . Use
  . Goal
  . Projects
  . Acknowledgement
  . Links
  . About us
  . Warning
The site can be found @ http://xover.sourceforge.net/ (http://xover.sourceforge.net/) and
will be maintained to reflect the future update of the
foo_dsp_xover plugin.

foo_dsp_xover is a software digital crossover implementation
that I have been working on for a while in my spare time as
a hobby. It is a foobar2000 audio player plugin that
implements this digital crossover to achieve active
multi-amplification

François Bourdon
Title: Digital Crossover DSP
Post by: tofu on 2006-03-19 22:31:34
great plugin.  i look forward to your 0.9 compatible version
Title: Digital Crossover DSP
Post by: tschanrm on 2006-04-07 19:01:37
François,

Great plugin, I'm doing all digital as well, with SA-XR10's.  It uses very little cpu cycles, a good thing since I'm doing DVD playback as well.  I have a quick question, what type of filters are used in this program; FIR or IIR?  Thanks.

-Ryan

EDIT: I took a look at MKfilter, the program you based this plugin on.  The Butterworth, Bessel and Chebyshev filters from MKfilter are IIR based. You have the same filters in your plugin, so the plugin is probably based on IIR filter design, correct?
Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2006-04-12 00:04:33
... Great plugin, ... Thanks.

You are welcome
... based on IIR filter design, correct?

You got it right,
François
Title: Digital Crossover DSP
Post by: tofu on 2006-04-13 19:03:04
hi,

just wondering how the port to 0.9 is coming along.

thanks.
Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2006-04-19 05:04:30
just wondering how the port to 0.9 is coming along.

Thanks for asking.  I actually have a ported version that is working, short
of the spectrum analyser, that I am in the process of porting to the new 0.9
visualization API.  I will be releasing it, once I get the entire thing working
and tested.  Stay tuned!

cheers,
François
Title: Digital Crossover DSP
Post by: tofu on 2006-04-19 20:05:34

just wondering how the port to 0.9 is coming along.

Thanks for asking.  I actually have a ported version that is working, short
of the spectrum analyser, that I am in the process of porting to the new 0.9
visualization API.  I will be releasing it, once I get the entire thing working
and tested.  Stay tuned!

cheers,
François



that's great news.  can't wait.
Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2006-05-07 20:55:22
foo_dsp_xover v0.38 is ported to foobar2000 v0.9

See http://xover.sourceforge.net/ (http://xover.sourceforge.net/) for installation details

cheers,
François Bourdon
Title: Digital Crossover DSP
Post by: tofu on 2006-05-08 00:14:32
foo_dsp_xover v0.38 is ported to foobar2000 v0.9

See http://xover.sourceforge.net/ (http://xover.sourceforge.net/) for installation details

cheers,
François Bourdon


ah, this is what i've been waiting for.  THANKS!
Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2006-05-08 01:10:10
Quote
ah, this is what i've been waiting for.  THANKS!

You are welcome,
François
Title: Digital Crossover DSP
Post by: Jon_MM on 2006-05-22 19:28:29

foo_dsp_xover v0.38 is ported to foobar2000 v0.9

See http://xover.sourceforge.net/ (http://xover.sourceforge.net/) for installation details

cheers,
François Bourdon


ah, this is what i've been waiting for.  THANKS!


This looks great - thanks.  One thing, though - I'm using windows xp with 2 soundcards (1 internal, one external, both 2 channel).  Is there any way to get it to send, say, the lower frequencies to the internal card and higher to the external, or will I need a multi-channel card?

Thanks,

Jon
Title: Digital Crossover DSP
Post by: archetwist on 2006-09-07 10:06:54
François, thank you very much for this excellent plugin. Although I don't understand a half of its settings and controls  I am sure that without it foobar wouldn't give the same pleasure.
Title: Digital Crossover DSP
Post by: brentw on 2007-02-20 10:40:08
Hi Jon_MM,

Yes you can combine channels from different sound cards or extrnal DACs. At least it works for me with two USB DACs using the generic USB driver of Windows. I also have an internal sound card and built into the motherboard. It looks like I could join all these channels as one multi-channel device but don't have the need to and so I haven't tried that yet.

To do this you need to install ASIO4ALL version 2. In its config applet select both sound devices so that they are green. Then open Foobar2000 v0.9 and go to Preferences...Output...Virtual Devices... and add ASIO4ALL there. (it may already be there) now highlight it and click the "Edit" button. You should see a list of channels from both or all devices you selected in ASIO4ALL's control panel. In mine it also shows my internal motherboard channels when I haven't selected them. Now click on the channels and you can map them to Left, Right and so on. I just found this feature a couple days ago, I love it and this DSP crossover

I have USB DACs that I consider to be audiophile quality and when I use one DAC for the Right channel and one for the Left the sound stage is much improved. I don't know why, but I love it. A difference in sound like this is worth lots of money in the audiophile world. I haven't done anything to join the clocks on the DACs, why it sounds extra good is a mistery.

Next I will see if there is any sound quality gain to be had in my system by replacing my crossovers with this DSP crossover. It may take a week or so but I will post my results/review here.

Cheers,
Brent

diyAudiosystem.com
Title: Digital Crossover DSP
Post by: russwyte on 2007-04-17 21:12:49
This looks great - thanks.  One thing, though - I'm using windows xp with 2 soundcards (1 internal, one external, both 2 channel).  Is there any way to get it to send, say, the lower frequencies to the internal card and higher to the external, or will I need a multi-channel card?

Thanks,

Jon


Awesome plugin!!! I love it.

I would echo the request to add suport for multiple output devices. This way I could use three USB audio CODECs with I2S out to feed my own DACs.

Is this even remotely possible? Or is there some other was to get 6 channels of I2S or SPDIF (3 stereo ouputs)

Cheers!
Russ White
Title: Digital Crossover DSP
Post by: Megalith on 2007-05-26 19:23:33
Perhaps someone can help me.

I want to use this to set a 60hz crossover for my studio monitors (55hz F3), but I have no idea what to set when it comes to filter types, such as Butterworth and slopes.

What should I be looking at on the spec sheet?
Title: Digital Crossover DSP
Post by: madboy on 2007-10-04 15:21:20
hello and from me
i use this plug-in and i verry happy
but
i need for some little help
i want use this cross-over for 4 way stereo
i have sound card Creative X-Fi Extreme music
i try everything
with male 3.5 mm jack with 4 pole
http://www.nfwire.com.tw/NFC/050404/nf055-b.jpg (http://www.nfwire.com.tw/NFC/050404/nf055-b.jpg)
push in  out 2( RL RR SR ) : out 3 ( FC SW SL ) TO SOUND CARD WERE IS

http://www.imagehack.eu/uploads/a1172700e5.jpg (http://www.imagehack.eu/uploads/a1172700e5.jpg)

but i dont have audio signal in the RED  MALE CHINCH WHERE IS A ( SIDE LEFT  and  SIDE RIGHT )
GIVE ME IDEA HOW I CAN AUDIO SIGNAL
Title: Digital Crossover DSP
Post by: Che55e on 2008-01-09 19:19:22
hi forum,
I'm building a PC based 4-way active speaker and need some rather complex (FIR) filtering for the different channels.
It'd be just perfect if the convolver feature was implemented, unfortunately it isn't.
My question is: Is there any workaround to this, like cascading the (stereo-only  ) convoler plugin 8 times _after_ the DSP?
Or does any other plugin/software do the trick?
I've been looking quite some time now, unfortunately there seems to be no multi-channel convolver around...

Even if the answer is no, that would help already...

thanks.
Title: Digital Crossover DSP
Post by: rvm on 2008-01-28 09:47:34
hello and from me
i use this plug-in and i verry happy
but
i need for some little help
i want use this cross-over for 4 way stereo
i have sound card Creative X-Fi Extreme music
i try everything
with male 3.5 mm jack with 4 pole
http://www.nfwire.com.tw/NFC/050404/nf055-b.jpg (http://www.nfwire.com.tw/NFC/050404/nf055-b.jpg)
push in  out 2( RL RR SR ) : out 3 ( FC SW SL ) TO SOUND CARD WERE IS

http://www.imagehack.eu/uploads/a1172700e5.jpg (http://www.imagehack.eu/uploads/a1172700e5.jpg)

but i dont have audio signal in the RED  MALE CHINCH WHERE IS A ( SIDE LEFT  and  SIDE RIGHT )
GIVE ME IDEA HOW I CAN AUDIO SIGNAL


Precisely same problem.
There is no sound SIDE LEFT and SIDE RIGHT, and 7 and 8 channels go in FRONT LEFT, FRONT RIGHT and CENTER.
It turns out, that the driver sees data from 7 and 8 channels, but considers that, the speaker's configuration is 5.1.
Though everywhere the configuration is established 7.1.
Such problem on Creative X-Fi Extreme music and Audigy 2 Value.
But all correctly works on Creative SB Live! 24-bit and Terratec Aureon 7.1 Space

If you have found the decision, inform please.
Title: Digital Crossover DSP
Post by: knutinh on 2008-01-28 12:40:35
Windows Vista allows audio dsp elements to work "down in driver-land". I.e. applications would just see the familiar full-range audio outputs, while for instance xover filtering would be done behind the scenes.

I think that I would feel safer if things was organised like that, and the processing would be application-independant.


My ideal future PC setup would allow any PC-application to playback any stream, and a low-level set of components would do bass-management, filter xover/limiting, room-correction, and dithered volume control - all configurable and programmable from the user.

In essence, my surround-receiver would be reduced to a "dumb" 7.1channel DAC and power amp (or even power amp only).

Of course, audio would have to be non-DRM to allow us this kind of control - just another argument against DRM.

-k
Title: Digital Crossover DSP
Post by: qmarjov on 2008-10-06 14:06:11
Hi Francois,
I have active loudspeaker DIY made (Raven,SEAS Excell,Perlless). At the moment I use active crossover Behringer DCX 2496. Sound is perfect. But I want to improve sound because my Behringer is DSP and use at begining A/D conversion and later D/A. With your plugin I think Behringer could be removed.
To get highest possible sound DAC must be outside of PC because PC has noisy enviroment. Best way to connect external DAC is USB port. If I prepare ( for example 3-way system ) 6 DAC boards and connect each board to one USB connection. My question is:  is it possible with your software to redirect sound signal not to audio card output but to specific USB port?
With such combination we can get best quality sound chain.
Title: Digital Crossover DSP
Post by: jtrantow on 2009-01-09 17:19:28
I'm trying to run the cross over with foobar2000 0.9.6.1 with Vista.  I get the following message:

Failed to load DLL: foo_dsp_xover.dll
Reason: This component is not compatible with this version of Windows and needs to be recompiled with a newer version of the foobar2000 SDK; please contact the author of this component to obtain an updated version of this component.

It looks like there was a SDK release after this .dll which may require foo_dsp_xover.dll to be recompiled.  Can anyone tell me how to get an older version of foobar2000 that works with this .dll or where to get an updated .dll?

TIA
Title: Digital Crossover DSP
Post by: lvqcl on 2009-01-15 21:59:21
Can anyone tell me how to get an older version of foobar2000 that works with this .dll

Last fb2k version that will work with this plugin on Vista is 0.9.5.6.
Googling "foobar2000_0.9.5.6.exe mirror": 2nd link is http://www.videohelp.com/tools/foobar2000/old-versions (http://www.videohelp.com/tools/foobar2000/old-versions)

or where to get an updated .dll?

Well, I can recompile it, but... don't want to test how correct it will work with new SDK. 
Title: Digital Crossover DSP
Post by: Sylph on 2009-11-22 00:38:02
For me it doesn't work with the latest beta 1.0.

Would someone be kind to recompile?
Title: Digital Crossover DSP
Post by: lvqcl on 2009-11-22 00:55:39
Quote
For me it doesn't work with the latest beta 1.0


Even this version (http://www.hydrogenaudio.org/forums/index.php?showtopic=68858)?

You can also try Channel divider (http://www.aedio.co.jp/download/)
Title: Digital Crossover DSP
Post by: Sylph on 2009-11-22 10:01:10
That one worked, thank you very much!

Moderation: Removed useless full quote of the preceding post.
Title: Digital Crossover DSP
Post by: Esben84 on 2009-11-30 21:59:02
Very interesting plugin! Thanks for taking your time to develop it. If I someday need to build another audio system with digital amplification (e.g. MSI Diva) this would be interesting to use.
Title: Digital Crossover DSP
Post by: jzagaja on 2009-12-25 23:05:51
I can't here anything except LR channel. How to manage it working with Realtek HD audio? Is it Windows related problem? For example Windows Media Player can' route stereo audio file to the rest channels. How DSP can work in such circumstances without using VAC and Console? I don't understand
Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2010-04-08 05:31:29
foo_dsp_xover v0.42 is ported to foobar2000 v1.x

See http://xover.sourceforge.net/ (http://xover.sourceforge.net/) for installation details

regards,
François Bourdon
Title: Digital Crossover DSP
Post by: Francois@Bourdon.com on 2010-04-09 14:28:10
BTW foo_dsp_xover v0.42 be found directly at:

http://sourceforge.net/projects/xover/ (http://sourceforge.net/projects/xover/)

regards,
François Bourdon
Title: Digital Crossover DSP
Post by: Melomane on 2010-04-15 21:03:41
thank you , François!
Title: Digital Crossover DSP
Post by: giro1991 on 2013-12-15 18:09:36
Hi, nice plug-in but I'm having difficulty.
Firstly, as I understand, 6 channel mode chops stereo up into 5.1 prior to processing and 4 channel into quad-stereo.
but how is 2.1 configured with this plugin?

I can get the bass to work no problem but in 6ch mode half of stereo information is panned to SL+SR resulting in distant/echoed sound when played through only one pair of speakers.
I experimented with "To Left + To Right" but the problem remains.
I have Asio channel mappings matched/configured perfectly.