Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Need Convolver.sf.net DSP basic help (Read 3639 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Need Convolver.sf.net DSP basic help

Hello,

I tried setting up a basic stereo channel swapper using Convolver, but I encountered the following problems:
(XP SP2 / French with Japanese system locale, if that matters)

1. I'm not too sure if I wrote the filter correctly
Code: [Select]
44100 2 2 3
0 0
0 0
C:\_\MonoIR.wav
0
0.0
1.0
C:\_\MonoIR.wav
0
1.0
0.0
<empty line>
where the IR file is PCM 44100 Hz 16 bits monaural WAV file made of 5 seconds of silence. (Having it empty threw a div by zero exception, huh)
0.0
1.0
and
1.0
0.0
is what I imagined would swap the channels, but the resulting file (using convolverCMD) is simply silence >_<
Did I get something wrong? What is the IR waveform supposed to contain, then?

2. How are the filters supposed to connect? I tried inserting ConvolverWrapper using graphedit, but it doesn't fit anywhere

3. There's a broken link on the main page. It should point to http://convolver.sourceforge.net/zoom.html

4. I do not have ZP Pro, is it possible to manually set the filter's merit so that it is automatically loaded?
Actually, I own a faulty motherboard that inverts stereo (observed in both Windows & Linux), so I've been looking for a channel swapper. A convolver is probably overkill ;

Need Convolver.sf.net DSP basic help

Reply #1
Rasqaul, Thanks for your feedback.

1. What you need is a Dirac Delta Function filter (ie, a 1 followed by one  or more 0s), not just all zeros, which will produce silence, as you have observed.  Think of convolution as a form of multiplication.  The makeIR utility that comes with Convolver should help you.

Are you saying that you get a div-by-zero exception if the filter file is completely empty, or something else?  If something else, please send me the filter + config files (jrp <at< dial dot pipex dot com).

The config file looks ok to me.

2.  You should be able to insert convolverFilter or Wrapper between the something that produces PCM and something that requires it.  So try File|rendering a sound file, break the final link before your output device, and insert C'Filter or C'Wrapper.

3. I'll fix the link.  Thanks.

4. You should be able to play with the ZP Pro trial for 30 days.

Let me know how you get on.

Need Convolver.sf.net DSP basic help

Reply #2
Quote
Rasqaul, Thanks for your feedback.

Thanks for your assistance and quick reply.

Quote
1. What you need is a Dirac Delta Function filter (ie, a 1 followed by one  or more 0s), not just all zeros, which will produce silence, as you have observed.  Think of convolution as a form of multiplication.  The makeIR utility that comes with Convolver should help you.
Thanks. I had trouble figuring out the format for makeIR to produce the Dirac but now it's fine. For the record, here's my input.txt:
Code: [Select]
PCM 32 1 44100
1
0

undocumented generate_dirac_delta.exe was also helpful to generate this before I groked the makeIR man.

Quote
Are you saying that you get a div-by-zero exception if the filter file is completely empty, or something else?
Actually I got a generic wrapped exception with a diagnosis message of unknown error (or something similar) in a catch(...) block of channelpaths.cpp. To answer your question, it happens when the wav file has 0 sample. My point is, the debug message is kinda lacking, maybe handling the empty case and bailing out would have been better (and fool-proof).


Quote
2.  You should be able to insert convolverFilter or Wrapper between the something that produces PCM and something that requires it.  So try File|rendering a sound file, break the final link before your output device, and insert C'Filter or C'Wrapper.
Providing a correct IR file fixed this.

Quote
4. You should be able to play with the ZP Pro trial for 30 days.
Actually, ZP Standard is sufficient.
In Options>Filter Control>Management, specify 'Using Filter File' and close the player. Then, edit "zplayer.filters" is ZP's install dir and append the following directive:
Code: [Select]
LoadFilter({6105E395-1C5A-4b3e-9701-FB71C2523AB6},Convolver Wrapper)

However, if the IR file is not specified in the property page, I'm not sure the filter would connect to the graph. Maybe one has to use GraphEdit first.
I suggest a "do-nothing" setup be provided when installing.
In any case, setting (with hex-edition) the wrapper's merit to 00800000 (MERIT_PREFERRED) and performing registration again did not help in auto--inserting the filter in other directshow apps.
[a href="index.php?act=findpost&pid=368035"][{POST_SNAPBACK}][/a]

Need Convolver.sf.net DSP basic help

Reply #3
Quote
Actually, ZP Standard is sufficient.
In Options>Filter Control>Management, specify 'Using Filter File' and close the player. Then, edit "zplayer.filters" is ZP's install dir and append the following directive:
Code: [Select]
LoadFilter({6105E395-1C5A-4b3e-9701-FB71C2523AB6},Convolver Wrapper)

However, if the IR file is not specified in the property page, I'm not sure the filter would connect to the graph. Maybe one has to use GraphEdit first.
I suggest a "do-nothing" setup be provided when installing.
In any case, setting (with hex-edition) the wrapper's merit to 00800000 (MERIT_PREFERRED) and performing registration again did not help in auto--inserting the filter in other directshow apps.
[a href="index.php?act=findpost&pid=368035"][{POST_SNAPBACK}][/a]
[a href="index.php?act=findpost&pid=368082"][{POST_SNAPBACK}][/a]


There is a bug (that I thought that I had fixed, but which will be fixed in the next release) where is a filter has not been set (through ConvolverWMP) then ConvolverFilter/Wrapper will not start.

I am keen to get the merit right.  It is set at the moment to MERITDONOTUSE+1 for compatibilty with TheaterTek.


Need Convolver.sf.net DSP basic help

Reply #5
Would it be possible for Convolver not to leave wisdom.fftw files everywhere? (Naughty boy)

Need Convolver.sf.net DSP basic help

Reply #6
Quote
Would it be possible for Convolver not to leave wisdom.fftw files everywhere? (Naughty boy)
[a href="index.php?act=findpost&pid=368429"][{POST_SNAPBACK}][/a]

I'll add that to the todo list.