IPB

Welcome Guest ( Log In | Register )

> foobar2000 Development Forum Rules

This forum is for developer discussions only. If you have a problem / bug report / idea / feature request that isn't related to foobar2000 SDK, post it in an appropiate forum instead - tech support questions go to support forum, everything else goes to general forum.
All non-developer posts on this forum will be removed. Continued abuse of this forum will result in admin actions (warnings, account suspension).

 
Reply to this topicStart new topic
DSP crossover, anomaly on start and song change
Ray_D
post Apr 28 2012, 03:43
Post #1





Group: Members
Posts: 5
Joined: 28-April 12
Member No.: 99269



Hi

I have written a digital crossover dsp for three way speakers using fourth order Linkwitz-Riley filters and a low shelf filter for boosting the bass.
The version with hard coded frequencies and gains (no preset) works perfectly and sounds great.
I subsequently wrote a version with a preset allowing for user input.
It works; but, there is a clunk sound for a fraction of a second on start up and when a song change is forced.
The frequency display also shows full bars for a short time.
No anomaly is heard when songs change naturally.
I would like to understand the function calls that happen at those times to help debug this issue.
I am also unfamiliar with .dll debugging techniques.

Thanks

Ray
Go to the top of the page
+Quote Post
Ray_D
post Apr 29 2012, 16:21
Post #2





Group: Members
Posts: 5
Joined: 28-April 12
Member No.: 99269



Never mind. I found a way to output traces to the console and found the problem.

Ray
Go to the top of the page
+Quote Post
foosion
post Apr 30 2012, 09:13
Post #3





Group: FB2K Moderator (Donating)
Posts: 4410
Joined: 24-February 03
Member No.: 5153



For the record you can debug a DLL by pointing the debugger at the EXE that loads the DLL. In this case set foobar2000.exe as the debugged executable and make sure your debug DLL will be loaded by this foobar2000 instance. I prefer to create a dedicated foobar2000 installation for debugging. Other people configure the IDE to output the DLL directly into their regular foobar2000 installation.


--------------------
http://foosion.foobar2000.org/ - my components for foobar2000
Go to the top of the page
+Quote Post
s3t
post May 2 2012, 18:10
Post #4





Group: Members
Posts: 2
Joined: 21-March 12
Member No.: 97951



Hi Ray_D,

I'm working on a GUI for crossover/EQ, and desperately seeking a way to simulate the EQ/crossover behavior on multichannel soundcard prior to going hardware (i plan to target PC, hardware DSP and classic analog circuits).

Foobar DSP plugin was my first choice, but i lost interest after trials with C and multichannel sound smile.gif

Could you please share your project, or implement a way of loading biquads into your signal chain? I guess you already use biquads for the crossover...

I can supply signal chained biquads file... Modifying biquads in realtime would be great!...

No signal splitting required, as each chain is being built from the endpoint, and all overlapping filters are duplicated in every chain.

I can graph phase/frequency response of the filters, add frequency response from file for every output for visualization, rearrange filter blocks in intuitive interface...

Some screenshots: http://s3t.it/coding/graphic-filter-designer/
Current build: http://s3t.it/data/uploads/dspsx05.zip

I can share source (i intended to share it when it'll become more-or-less useful than half-working biquad plotter smile.gif ).

This post has been edited by s3t: May 2 2012, 18:11
Go to the top of the page
+Quote Post
s3t
post May 4 2012, 00:16
Post #5





Group: Members
Posts: 2
Joined: 21-March 12
Member No.: 97951



Ok, i've got it working myself, with the foo_dsp_xover + my biquads.
Go to the top of the page
+Quote Post
Ray_D
post May 8 2012, 23:17
Post #6





Group: Members
Posts: 5
Joined: 28-April 12
Member No.: 99269



QUOTE (foosion @ Apr 30 2012, 00:13) *
For the record you can debug a DLL by pointing the debugger at the EXE that loads the DLL. In this case set foobar2000.exe as the debugged executable and make sure your debug DLL will be loaded by this foobar2000 instance. I prefer to create a dedicated foobar2000 installation for debugging. Other people configure the IDE to output the DLL directly into their regular foobar2000 installation.


Hi

Thanks for the tip. I'm very new to this kind of programming. This is a retirement project.
I last programmed seriously over forty years ago and it was FORTRAN and the programs were in boxes of cards.
Digital filters, C++. VS2010, dlls and foobar2k are a whole new world. Its been a lot of fun and some not.

Thanks again.

Regards

Ray
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 30th July 2014 - 03:44