HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: mudlord on 2010-10-26 10:42:05

Title: foo_dsp_effect
Post by: mudlord on 2010-10-26 10:42:05
https://www.foobar2000.org/components/view/foo_dsp_effect


Includes the following effects:

Title: foo_dsp_effect
Post by: romor on 2010-10-26 14:51:29
Thanks
Very creative name BTW

(note to users of foo_dsp_echo: it's bundled in foo_dsp_effect)
Title: foo_dsp_effect
Post by: mudlord on 2010-10-29 00:58:39
Thankyou.

Already got some ideas for what to add next. Someone requested a loudspeaker EQ, but thats just a glorified bass boost, which is in there now.
Title: foo_dsp_effect
Post by: romor on 2010-10-29 01:22:07
are you talking about foo_dsp_loudspeakereq?
source code is there and author chased to replies
Title: foo_dsp_effect
Post by: mudlord on 2010-10-29 01:42:37
Yes, I am.

It uses the same filter design, except for thier unique mechanical thingymajig emulation
Title: foo_dsp_effect
Post by: sola on 2010-10-29 13:34:10
Reverb, that's great! Thank you!
Title: foo_dsp_effect
Post by: klez on 2010-10-29 16:47:12
PLEASE implement a configurable subsonic Filter with -24dB!
I am waiting for such a feature for years now
Title: foo_dsp_effect
Post by: mudlord on 2010-10-31 01:09:44
Suppose so. Should have added a highpass filter in the original implementation.
Title: foo_dsp_effect
Post by: NullString on 2010-10-31 21:19:56
Thanks!
I have a question regarding " (boosts bass frequencies which are specifically selected.)",

If I use any equalizer preset to boost bass, it affects both bass intensive songs (which end up sounding awful in a mega-bass kind of way), and songs in which the bass is somehow soft (which end up sounding better with that EQ). How does the Bass Boost DSP configuration reflect on that? do I have to set the cutoff freq in a high number like 300? or lower as in 80hz?
Title: foo_dsp_effect
Post by: mudlord on 2010-10-31 23:58:07
You just set the frequency to one that works for the track in question. Thats all I do. That way, its tuned to the song. And you can pump up the level of boost if you also desire.
Title: foo_dsp_effect
Post by: mudlord on 2010-11-03 10:30:10
Mainly wanted to get 0.2 out since I didn't like the oversight I made with format_float, etc. The extra DSPs, like the loundspeaker EQ might come around 0.3, when I get time.

To make up for that, I tweaked the Phaser and WahWah filters. Now you can even get gargle style effects out of them.
Title: foo_dsp_effect
Post by: touccer on 2010-11-25 21:47:52
Any news about Loudspeaker EQ rewriting?
Title: foo_dsp_effect
Post by: mudlord on 2010-11-26 02:57:00
What is stopping the end user from useing that DSP instead.
Title: foo_dsp_effect
Post by: mudlord on 2010-12-13 05:41:55
I had a second look at implementing the loudspeaker EQ.

I rewrote the class. But the resource.h file is missing, so I am unsure on how the configuration with the particular DSP works.
Title: foo_dsp_effect
Post by: mudlord on 2010-12-13 12:24:37
New version 0.3:

* Added bandpass/resonant highpass/lowpass filters
* Added a parametric EQ
Title: foo_dsp_effect
Post by: touccer on 2010-12-13 15:46:11
I had a second look at implementing the loudspeaker EQ.

I rewrote the class. But the resource.h file is missing, so I am unsure on how the configuration with the particular DSP works.

Try to ask to the original author Esben84 (http://www.hydrogenaudio.org/forums/index.php?showuser=69199) 
And can you extend the Parametric EQ frequency range from 0Hz to 20KHz like the bass boost?
Title: foo_dsp_effect
Post by: romor on 2010-12-13 17:19:56
Thanks for new filters, mudlord

I added ~100Hz hipass and contrary to expected I experienced bass boost and ugly resonance. I wanted to check out and run it through referenced impulse and at the hipass frequency there is "a boost" after a slow steepless cut, like I've seen in biquad filters. Is this as expected, and can you share your usage scenario?

Bandpass filter is more like Q-pick control. It is narrow

EQ single band... interesting. thanks
Title: foo_dsp_effect
Post by: mudlord on 2010-12-14 02:51:39
Well, I mainly did this filters just to mess around with the sound. I never thought people will use them for other means, so I didn't take into account methods to set the amount of resonance given. Hence the name "resonant highpass/lowpass". So I would have thought by that description, you would have expected at least such.
Title: foo_dsp_effect
Post by: mudlord on 2010-12-14 02:52:53
I had a second look at implementing the loudspeaker EQ.

I rewrote the class. But the resource.h file is missing, so I am unsure on how the configuration with the particular DSP works.

Try to ask to the original author Esben84 (http://www.hydrogenaudio.org/forums/index.php?showuser=69199) 
And can you extend the Parametric EQ frequency range from 0Hz to 20KHz like the bass boost?


Sure, why not.
Title: foo_dsp_effect
Post by: Takaji on 2010-12-14 03:15:18
Thanks for the interesting component, mudlord!
Title: foo_dsp_effect
Post by: romor on 2010-12-14 03:49:15
Well, I mainly did this filters just to mess around with the sound. I never thought people will use them for other means, so I didn't take into account methods to set the amount of resonance given. Hence the name "resonant highpass/lowpass". So I would have thought by that description, you would have expected at least such.

Of course. What I meant was that I wouldn't expect bass boost from 100 Hz hipass, and the impulse is like an attack:

 /\___
/


while I expected:
 ______
/


Title: foo_dsp_effect
Post by: mudlord on 2010-12-14 04:45:41
Ah, thanks for clarifying.
Well the resonant filters are indeed based off a biquad design. I guess I should have explained that earlier. I do hope though to add peaking filters later.
I'd strongly advice reading this (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt) to see how the PassFilter class is designed (which indeed implements those filters). Basically, there is a singular output function, and the only real change is the coefficients used.
Title: foo_dsp_effect
Post by: mudlord on 2010-12-14 10:20:08
New version 0.4:

* Added notch and  high/low shelf filters
* Increased range of parametric EQ
Title: foo_dsp_effect
Post by: touccer on 2010-12-14 12:15:38
New version 0.4:

* Added notch and  high/low shelf filters
* Increased range of parametric EQ

The Parametric EQ range is still 20Hz - 20KHz 
Title: foo_dsp_effect
Post by: mudlord on 2010-12-14 12:33:16
Sorry touccer, you were right.

Try the download again, should be fixed this time.
Title: foo_dsp_effect
Post by: touccer on 2010-12-14 12:54:50
Sorry touccer, you were right.

Try the download again, should be fixed this time.

I've noticed a problem in the latest version, in version 0.3 when i use the parametric eq to enhance the bass i've noticed an effective increase of bass but with the new version this not happen, and can i know what quality slider should be?
Title: foo_dsp_effect
Post by: touccer on 2010-12-15 12:05:48
Sorry touccer, you were right.

Try the download again, should be fixed this time.

I've noticed a problem in the latest version, in version 0.3 when i use the parametric eq to enhance the bass i've noticed an effective increase of bass but with the new version this not happen, and can i know what quality slider should be?

Has been a problem to my foobar configuration, the dsp 0.4 works great 
Title: foo_dsp_effect
Post by: jmccrohan on 2010-12-18 23:09:58
Setting quality to 0 causes an infinite loop in most of the effects.
Title: foo_dsp_effect
Post by: mudlord on 2010-12-19 09:20:26
Known issue.
When it will be fixed: Never. Quite a simple "issue" to work around.
Title: foo_dsp_effect
Post by: mudlord on 2011-01-08 18:46:51
0.5 released
Title: foo_dsp_effect
Post by: notwa on 2011-01-09 03:06:52
Uhhh, something's not right here.

Nothing serious, just a little GUI mistake. Don't rush out another version if you don't feel like it.

By the way, this sounds great. Thanks a ton for porting it.
Title: foo_dsp_effect
Post by: mudlord on 2011-01-09 04:03:06
Yes, thats already fixed for the next version.
I have one more effect/sub DSP I wanna add for the next version though before that bugfix is out...
Title: foo_dsp_effect
Post by: touccer on 2011-01-10 00:38:47
Can you extend Parametric EQ frequency range to 0-20000?
Title: foo_dsp_effect
Post by: mudlord on 2011-01-10 04:31:08
Done
Title: foo_dsp_effect
Post by: touccer on 2011-01-10 11:34:45
Done

The frequency range is still 20-20000 
Title: foo_dsp_effect
Post by: notwa on 2011-01-10 23:45:44
Two things.
How does the bass booster work? Is it just a low shelf with a steep slope, a peak, or something fancier? It sounds alright nonetheless.
Is the compressor working properly? I think the release is broken. I'll do a little test in a minute.

And here it is. (http://img20.imageshack.us/img20/2141/2011011056338711.png)
The release parameter does in fact change nothing.

Sorry if it seems like I'm being a dick (again). I'm slowly learning how to fit into the forums, and it seems like you guys like proof ready and up front.
Title: foo_dsp_effect
Post by: mudlord on 2011-01-11 04:46:04
touccer, fixed for next version.

Quote
How does the bass booster work? Is it just a low shelf with a steep slope, a peak, or something fancier? It sounds alright nonetheless.


Its fancier, custom IIR filter. Read source for details on coefficients.

Hmmm, could have missed something in the port.

Title: foo_dsp_effect
Post by: touccer on 2011-01-11 12:52:48
touccer, fixed for next version.

Quote
How does the bass booster work? Is it just a low shelf with a steep slope, a peak, or something fancier? It sounds alright nonetheless.


Its fancier, custom IIR filter. Read source for details on coefficients.

Hmmm, could have missed something in the port.

The parametric EQ gain slider is disabled 
Title: foo_dsp_effect
Post by: mudlord on 2011-01-11 13:39:59
Woah, sorry about that!
Will fix in a couple of minutes.

As for that release time param....thats a odd quirk. I double checked, and the control is all wired up to the config....
Weird. I might ask Garf about his compressor when he is on IRC next.
Title: foo_dsp_effect
Post by: Sunhillow on 2011-01-28 16:06:34
Hi mudlord,
thank you so much for this plugin! 
IMHO Garf's dynamic compressor sounds much better than vlevel - it lacks the volume pumping effects of vlevel. I never found a setting I really liked, and the free vst compressors I found were not much better
Title: foo_dsp_effect
Post by: Sandrine on 2011-02-04 21:15:51
Thank you very much for this useful plugin! I'm especially intrigued about the de-emphasis filter and that leads me to a question/request which may or may not be beyond the scope of your project:

A CD recorded with pre-emphasis (damn you, 80s!) has a special flag set to indicate this option. The CD flag can be seen in EAC and, if ripped correctly, is also indicated in the cuesheet (or could be added thusly). Now, I'm wondering if it would be possible to incorporate this flag detection mechanism either into your DSP plugin or make a dedicated plugin, much like the HDCD and DTS plugins, that would detect and pass the flag to foobar's title formatting functions and activate de-emphasis automatically accordingly.

And lastly (although I'm pretty sure you already know all this, but maybe it'll help others who jump aboard this train of thought) a link for further reading: http://wiki.hydrogenaudio.org/index.php?title=Pre-emphasis (http://wiki.hydrogenaudio.org/index.php?title=Pre-emphasis)
Title: foo_dsp_effect
Post by: mudlord on 2011-02-07 07:03:34
Sounds interesting, to say the least.

Know any names of CD's which indeed use this? I haven't ran into such CDs in my collection with cuesheets like that, and I mainly rip with FB2K, anyway.
Or at the very least, a EAC ripped CUE with such info?

I was thinking along the lines of a audio preprocessor service, built into the component. That way, you don't need to activate any DSP: its all automatic...
Title: foo_dsp_effect
Post by: Sandrine on 2011-02-07 12:36:01
Sounds interesting, to say the least.

Know any names of CD's which indeed use this? I haven't ran into such CDs in my collection with cuesheets like that, and I mainly rip with FB2K, anyway.
Or at the very least, a EAC ripped CUE with such info?

I was thinking along the lines of a audio preprocessor service, built into the component. That way, you don't need to activate any DSP: its all automatic...


Yes, I have "Heaven 17 - Penthouse and Pavement" for testing, I'll contact you with details by PM. For a more comprehensive list see http://www.stevehoffman.tv/forums/showthread.php?t=121188 (http://www.stevehoffman.tv/forums/showthread.php?t=121188)
Title: foo_dsp_effect
Post by: mudlord on 2011-02-07 17:09:40
Thanks, the test material is good enough quality to test it out with. I just need to get in contact with the FB2K devs for the required API.
Title: foo_dsp_effect
Post by: fieryflare on 2011-02-07 21:29:39
I've installed the Dll, but I don't see any changes in Foobar. I'm using Windows 7 64 bit. I'm using Foobar version 1.1.2

How do you install it properly, I followed the Foobar FAQ and it seems to be installed but I can't find the effects, where are they? What could be the problem?
Title: foo_dsp_effect
Post by: GeSomeone on 2011-02-07 21:48:31
... much like the HDCD and DTS plugins

The HDCD and DTS plugins find their clues in the audio data stream, that is not possible with pre-emphasis.
So you must rely on a FLAG in a TAG (or FLAGS PRE line in a cue). Much more tricky.

But a de-emphasis preset in one of the DSPs should no problem.
Title: foo_dsp_effect
Post by: mudlord on 2011-02-08 03:59:32
Not really.

You can still make a metadb_handle pointer, get the current track, and then use the file info helpers to read the relevant metadata to activate the DSP depending on whether preemphasis exists..
Title: foo_dsp_effect
Post by: tpijag on 2011-02-08 04:16:48
I've installed the Dll, but I don't see any changes in Foobar.  find the effects, where are they?


Do you mean these instructions? Then it should be installed correctly. As these are DSP's they are located in Preferences>Playback>DSP Manager

Quote
Note that this content applies to foobar2000 versions 1.1 and newer. If you're using an older version, please upgrade now to utilize the new interface.
Step 1: Open the foobar2000 preferences dialog.
Step 2: Go to the Components page.
Step 3: Click the "Install..." button, or simply drag a component archive to the list.
Step 4: Press "OK", you will be prompted to restart foobar2000 in order to load the newly installed component.

Title: foo_dsp_effect
Post by: kode54 on 2011-02-08 06:44:32
And as a decode postprocessor service, it may retrieve the metadata from the track at the beginning of decoding and automatically instantiate and return a postprocessor instance that will handle the de-emphasis processing automatically for all supported formats. (CDDA, WAV, FLAC, and WavPack, at this time.)

It can also set and unset metadata which will be available through the dynamic file info functions of the input, so it may indicate that processing has been applied, and so that it may remove the metadata field that triggered it in the first place. Of course, I don't know if the converter applies this immediate metadata information to the target track when converting. In which case, if it didn't, the filter would be applied again on playback, even if you already applied it during conversion.
Title: foo_dsp_effect
Post by: mudlord on 2011-02-08 11:26:28
Yep, started adding this as a extra decode post processor service. Just like the HDCD and DTS support you added.

Ran into a fundamental issue though with the metadata readers: Namely, reading flags from cuesheets (http://www.hydrogenaudio.org/forums/index.php?showtopic=86654).
Title: foo_dsp_effect
Post by: Sandrine on 2011-02-09 10:07:20
Yep, started adding this as a extra decode post processor service. Just like the HDCD and DTS support you added.


On the CD itself, the flag is in the subcode. Not sure if this is terra incognita, but is there even an agreed upon tag/metadata field for ID3/vorbis to reflect the use of pre-emphasis? If not, maybe foobar could be on the forefront of establishing one so we don't have to rely on reading the cuesheet (alone). Personally, I have excluded cuesheets from the media library since they are usually either embedded or the files are tagged accordingly.

Who said this was going to be easy?  But it's definitely fun!
Title: foo_dsp_effect
Post by: mudlord on 2011-02-09 10:09:35
What fields did you tag your files with (for preemphasis)?
FB2K currently does not give info on cuesheet tags or CD subcode/flags..
Title: foo_dsp_effect
Post by: Sandrine on 2011-02-09 10:51:46
What fields did you tag your files with (for preemphasis)?
FB2K currently does not give info on cuesheet tags or CD subcode/flags..


None, so far. I've kept both an original copy of the CD and a de-emphasized version. I'm actually waiting on the outcome of this undertaking to start using tags.
Title: foo_dsp_effect
Post by: GeSomeone on 2011-02-09 11:06:31
And as a decode postprocessor service, it may retrieve the metadata from the track at the beginning of decoding and automatically instantiate and return a postprocessor instance that will handle the de-emphasis processing automatically for all supported formats. (CDDA, WAV, FLAC, and WavPack, at this time.)

It can also set and unset metadata which will be available through the dynamic file info functions of the input, so it may indicate that processing has been applied, [..] In which case, if it didn't, the filter would be applied again on playback, even if you already applied it during conversion.

kode54 has good points to keep in mind here.
1) The postprocessor service will only support (a few) lossless formats. However if I ripped a CD (long ago) with pre-emp, using EAC and converted it to MP3 or AAC, the pre-emphasis (increased high-end) would still be there (most of it anyway).
2) To keep track of the fact if de-emphasis is already applied is the tricky part. Imagine the case converting a FLAC to WAV and then to FLAC again. Without some magic the decoder postprocessor service would kick-in twice.

But certainly an interesting project.
Title: foo_dsp_effect
Post by: mudlord on 2011-02-10 09:24:36
That is the main problem I am grappling with.
Maybe the decode postprocessor API can be extended to give info on whether the instance is a decode only or playback instance.

Like the input components.
What I got now is just a tag to see if its enabled or not, and then the decode postprocessor kicks in.

Sadly, unlike HDCD, which can have stream heuristics, I cannot.
Title: foo_dsp_effect
Post by: mudlord on 2011-02-10 10:37:58
There its added.

Already got complaints that the filter is not 100% perfect to SoX. Most likely will rewrite that filter to be so.
Yes, I know the filter is different to the usual method. Will add the proper method next time >_>

EDIT: 0.7.1 up.
Title: foo_dsp_effect
Post by: lvqcl on 2011-02-10 15:46:45
Hello mudlord, I have a couple of questions about IIR filter DSP.

1. Min value Q is 1, and default is 10; but usually default value of Q is 0.5 or 0.707. So even minimal possible Q setting is often too high. What do you think about correcting these limits?

2. Formulas for coefficients for BBOOST/LSH/HSH/RIAA_CD - where are they from?
Title: foo_dsp_effect
Post by: mudlord on 2011-02-10 21:34:36
1. Yes, I will correct it.
2. Formulas were from as follows:

a) BBOOST is from Audacity
b) LSH/HSH is from http://www.musicdsp.org/files/biquad.c (http://www.musicdsp.org/files/biquad.c) (which is public domain)
c) RIAA_CD/RIAA_PHONO is from SoX

Why do you ask? If this is somehow related to the legal precedent that there is such a thing as copyrighted numbers, then I have no hesitation in complying and removing the component.
Title: foo_dsp_effect
Post by: lvqcl on 2011-02-10 22:25:20
1. Yes, I will correct it.

BTW: IMHO logarithmic scale is better than linear. 


b) LSH/HSH is from http://www.musicdsp.org/files/biquad.c (http://www.musicdsp.org/files/biquad.c) (which is public domain)

So, it is "Based on the work "Cookbook formulae for audio EQ biquad filter coefficients" by Robert Bristow-Johnson"

It's interesting that this cookbook (http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt) contains different formulae for LoShelf/HiShelf etc.

from musicdsp.org/files/biquad.c:
Code: [Select]
    A = pow(10, dbGain /40);
    omega = 2 * M_PI * freq /srate;
    sn = sin(omega);
    cs = cos(omega);
    beta = sqrt(A + A);
...
    b0 = A * ((A + 1) - (A - 1) * cs + beta * sn);

from Cookbook:
Code: [Select]
    A  = 10^(dBgain/40)
    w0 = 2*pi*f0/Fs
    alpha = sin(w0)/(2*Q)
...
    b0 = A * ((A + 1) - (A - 1) * cos(w0) + 2 * sqrt(A) * alpha)


beta * sn = sqrt(2*A) * sin(omega) = sqrt(2) * sqrt(A) * sin(omega)
2 * sqrt(A) * alpha = 2 * sqrt(A) * sin(omega) / (2 * Q) =  sqrt(A) * sin(omega) / Q

sqrt(2)*sqrt(A)*sin(omega) == sqrt(A)*sin(omega)/Q only if Q == sqrt(0.5)
Title: foo_dsp_effect
Post by: mudlord on 2011-02-10 22:31:17
Yeh, I have to agree. Found it works well regardless so I just lumped the formula in .
I tried other formulae including the ones in the cookbook, and found that it sounded a bit "off" in my implementations so I just cludged in the ones that sounded better. Can't remember the exact process in how I worked out what sounded the best to me though, sorry.
Title: foo_dsp_effect
Post by: Sandrine on 2011-02-11 18:42:30
I'm having the darnedest problem with the de-emphasis post-processor. One of the DSP effects I'm using is TT-DR-Meter via foo_vst. The TT-DR-Meter measures the dynamic range of the music that is playing and tells me right away which CD editions are victims of the loudness war (i.e. highly compressed, small dynamic range). Now, when foo_dsp_effect is installed, the meter doesn't seem to be able to measure the DR anymore. If I delete the plugin, the meter works fine. I don't have any problems with the HDCD or DTS post-processors.

Any idea what could be the cause of this? Maybe some check that is constantly running instead of the first few seconds of each track?
Title: foo_dsp_effect
Post by: mudlord on 2011-02-12 00:45:11
I'm having the darnedest problem with the de-emphasis post-processor. One of the DSP effects I'm using is TT-DR-Meter via foo_vst. The TT-DR-Meter measures the dynamic range of the music that is playing and tells me right away which CD editions are victims of the loudness war (i.e. highly compressed, small dynamic range). Now, when foo_dsp_effect is installed, the meter doesn't seem to be able to measure the DR anymore. If I delete the plugin, the meter works fine. I don't have any problems with the HDCD or DTS post-processors.

Any idea what could be the cause of this? Maybe some check that is constantly running instead of the first few seconds of each track?


Yes, there is a check RIGHT at the start, when a track is loaded. It chacks the tags then, since I can't find a reliable way to check the metadata other times.
Title: foo_dsp_effect
Post by: Sandrine on 2011-02-12 10:08:07
Yes, there is a check RIGHT at the start, when a track is loaded. It chacks the tags then, since I can't find a reliable way to check the metadata other times.


Yeah, of course, that is obvious. I was more thinking along the lines of something that could potentially modify the stream, or at least the processing flow before the DSP kicks in.
Title: foo_dsp_effect
Post by: mudlord on 2011-02-12 11:23:25
Too bad.

Component's been discontinued anyway.

Title: foo_dsp_effect
Post by: Sandrine on 2011-02-12 15:54:35
Too bad.

Component's been discontinued anyway.


Uh... why is that? It was working great except for my personal demon TT meter.
Title: foo_dsp_effect
Post by: Sunhillow on 2011-02-12 19:16:31
A great pity this wonderful component has been discontinued - but thanks a lot for the revival of foo_dynamics!

Cheers hg
Title: foo_dsp_effect
Post by: dv1989 on 2011-02-12 19:22:38
Considering other recent and now Recycle Bin-d posts by mudlord, which are quite out-of-character, I don't know whether people should take seriously the recent 'cancellations' of this and the YM decoder.
Title: foo_dsp_effect
Post by: Sandrine on 2011-02-15 18:29:28
I'm having the darnedest problem with the de-emphasis post-processor. One of the DSP effects I'm using is TT-DR-Meter via foo_vst. The TT-DR-Meter measures the dynamic range of the music that is playing and tells me right away which CD editions are victims of the loudness war (i.e. highly compressed, small dynamic range). Now, when foo_dsp_effect is installed, the meter doesn't seem to be able to measure the DR anymore. If I delete the plugin, the meter works fine.


It seems that deleting foo_dsp_effect only temporarily alleviated the problem. The real culprit seems to have been the latest update of foo_vst 0.902.
Title: foo_dsp_effect
Post by: luk3Z on 2011-02-19 20:38:56
This is funny what I write but I don't know how to run this plugin (I mean configure new preset)
I have ony foo_dsp_std.dll working (I can load equalizer preset from file).
Maybe foo_dsp_std.dll and foo_dsp_effect.dll can't working both ?
Title: foo_dsp_effect
Post by: mudlord on 2011-02-19 23:56:55
Preset loading works here

@Sandrine: so its a foo_vst fault. Yay, one less bug
Title: foo_dsp_effect
Post by: mudlord on 2011-02-20 01:36:59
since I am no longer able to edit posts due to insanity:

lvqcl - fixed the q issue you described, thanks!
Title: foo_dsp_effect
Post by: luk3Z on 2011-02-20 09:41:09
Preset loading works here

@Sandrine: so its a foo_vst fault. Yay, one less bug


Ok I find it out where it is.
Pref -> Playback -> DSP Man

I have some old presets (23 *.feq files) from old version of foobar (files dates: 2003 and 2005) they're great but I don't know who is the author of these (my preset is "my preset.feq" which I created it long time ago).
If someone need old presets this is the link:

www.mediafire.com/?f8gf94d8xhe8ol6
Title: foo_dsp_effect
Post by: luk3Z on 2011-02-22 11:41:15
I can't edit my previous post anymore, so I put link to the original thread (2005):

www.hydrogenaudio.org/forums/index.php?showtopic=30832&st=0

EQ AIO:
Post #23
Title: foo_dsp_effect
Post by: mudlord on 2011-02-24 08:20:58
Strange, tried your presets in the standard EQ and enabled a effect from my array, works.

O.O

Really don't know what the issue is.

edit: oh, new build here! (http://mudlord.emuxhaven.net/crap/foo_dsp_effect.dll)
Title: foo_dsp_effect
Post by: .halverhahn on 2011-02-24 16:25:17
Oooooh... a dream come true: On the fly CD de-emphasing    http://www.hydrogenaudio.org/forums/index....c=70549&hl= (http://www.hydrogenaudio.org/forums/index.php?showtopic=70549&hl=)

Thank You!

btw: What the sliders are doing in the CD de-emphasing mode?

Quality= OK, I suppose the quality of output?
Frequency=?
Gain=Gain of output?!
Title: foo_dsp_effect
Post by: mudlord on 2011-02-25 00:01:59
I will fix up the filter dialog for the CD deemph filter.

Constants are hardcoded so the sliders don't make a difference.
Title: foo_dsp_effect
Post by: mudlord on 2011-03-19 01:23:18
done, updated.
Title: foo_dsp_effect
Post by: henrimichel on 2011-03-19 13:15:12
About foo_dsp_effect 0.7.3 I hope the percentage sliders for high shelf & low shelf will appear again in next plugin release.Thank you in advance !!! I use it in combination with Real Bass Exciter plugin [ http://vipercn.com/soft-download/rbe_english/ (http://vipercn.com/soft-download/rbe_english/) ] using AKG K141 MkII headphones with PHILIPS Acoustic Edge PSC 706 soundcard and it gives me a truely tremendous musicality !!! Thank you for your work.Best wishes )
Title: foo_dsp_effect
Post by: mudlord on 2011-03-19 20:46:38
I found that modding Q factors for those filters made no real audible difference. Hence why I removed it, since I wanted to simplify things.

Title: foo_dsp_effect
Post by: henrimichel on 2011-03-19 22:30:53
In fact,I realize that no modification can be heard when using High shelf db slider in foo dsp effects 0.7.3 plugin release
Title: foo_dsp_effect
Post by: mudlord on 2011-03-19 23:17:20
Fixed in 0.7.4.

Enjoy your gain control in high shelf filters.
Oh yeah, you might want to read TOS#8.
Title: foo_dsp_effect
Post by: Eclipsed Moon on 2011-03-20 00:37:02
Fixed in 0.7.4.

Enjoy your gain control in high shelf filters.
Oh yeah, you might want to read TOS#8.

What's subjective about correctly claiming that the high shelf filter wasn't doing anything?
Title: foo_dsp_effect
Post by: mudlord on 2011-03-20 00:39:16
That wasn't the issue, since that is not even a TOS issue at all.
How the hell you came to that conclusion is really beyond me, really.
The issue was the blatant discussion of said BS:

Quote
! I use it in combination with Real Bass Exciter plugin [ http://vipercn.com/soft-download/rbe_english/ (http://vipercn.com/soft-download/rbe_english/) ] using AKG K141 MkII headphones with PHILIPS Acoustic Edge PSC 706 soundcard and it gives me a truely tremendous musicality !!!


If people want shit done, they better make objective claims and ABX tests to back anything up. Oh yeah, graphs and crap don't count.
I really have better things to do then entertain people with dealing w/ utter bullshit.
Title: foo_dsp_effect
Post by: henrimichel on 2011-03-20 02:08:32
Awesome ! Thank you so much for your lightspeed response for the plugin release.All my aknowledgment and be sure your work is deeply appreciated !!!
Title: foo_dsp_effect
Post by: Eclipsed Moon on 2011-03-20 18:44:57
That wasn't the issue, since that is not even a TOS issue at all.
How the hell you came to that conclusion is really beyond me, really.

Heh, sorry.  I even saw that part of the conversation, but got thrown off by the fact that it was a few posts back, so I butted in for absolutely nothing.
Title: foo_dsp_effect
Post by: mudlord on 2011-03-21 08:52:42
Well thats awfully good to know. You keep doing that. >_>
Title: foo_dsp_effect
Post by: geoslake on 2011-03-21 12:11:15
Hi Mudlord, thanks for your plugins

Im trying to replicate my vlevel settings [(strenght=0.80, max multi=25, buffer=2s), as it seems its no longer supported] to your "dynamic compressor" dsp, but dont find a satisfaying setting, you can either hear the compressor pumping, or its saturating, etc
Vlevel was much more transparent.
Any tip ?

Of course, vlevel support would be easier (i guess that, sooner or later, it wont work anymore on future foobar versions).

Cheers
Title: foo_dsp_effect
Post by: mudlord on 2011-03-21 13:15:11
Personally I hardly use the dynamics compressor.

kode54's normalizer DSP should be more to your needs, as it dynamically sets volume level just like vlevel. And its fast too.
Title: foo_dsp_effect
Post by: mudlord on 2011-04-30 08:30:54
Updated to 0.8

http://mudlord.emuxhaven.net/crap/audio/foo_dsp_effect.zip (http://mudlord.emuxhaven.net/crap/audio/foo_dsp_effect.zip)

2011-04-30- Version 0.8
* Added tempo and pitch modification DSPs.

Title: foo_dsp_effect
Post by: geoslake on 2011-04-30 11:18:08
thanks
Title: foo_dsp_effect
Post by: q-stankovic on 2011-04-30 14:13:23
Thanks!
Time to remove acropolis' component!

Title: foo_dsp_effect
Post by: Thundik81 on 2011-04-30 15:32:07
Updated to 0.8

http://mudlord.emuxhaven.net/crap/audio/foo_dsp_effect.zip (http://mudlord.emuxhaven.net/crap/audio/foo_dsp_effect.zip)

2011-04-30- Version 0.8
* Added tempo and pitch modification DSPs.


Thanks !

Could you extend tempo range ? (I usually listen my music at +180% / + 200%)

TIA
Title: foo_dsp_effect
Post by: mudlord on 2011-04-30 15:46:08
Because each sub DSP instance is instance and thread safe, you can stack multiple tempo DSP entries to do this.
Title: foo_dsp_effect
Post by: jaro1 on 2011-04-30 16:12:17
Seems "GNU GPL fuckers" problem is gone, once again back 
Thanks for the great component.
Title: foo_dsp_effect
Post by: Thundik81 on 2011-04-30 16:55:57
Because each sub DSP instance is instance and thread safe, you can stack multiple tempo DSP entries to do this.


It works like a charm 
Title: foo_dsp_effect
Post by: Gnx on 2011-06-19 17:45:30
is it possible to add cents resolution (0.35 semitones for example) in pitch modification, as Acropolis did in his component ?
thanks in advance
Title: foo_dsp_effect
Post by: mudlord on 2011-06-19 21:03:43
Indeed, that is planned in the pipeline.
Maybe next release?

edit: Done for 0.9.
Title: foo_dsp_effect
Post by: q-stankovic on 2011-06-21 17:57:38
I have a reproducible crash: when in playback rate shift the slider is moved to -100% foobar2000 crashes. Crash report submitted.
Title: foo_dsp_effect
Post by: mudlord on 2011-06-21 18:27:42
Thanks, acquiring the crash logs now.
EDIT: I see the problem. Didn't read ST's header fully on what rates are allowed for rate/tempo modification.
0.9.1 will fix the issue.
Title: foo_dsp_effect
Post by: JooKBoX on 2011-06-27 08:32:36
Hey Mudlord..... I've been having a major problem with the Effect DSP component since i upgraded...... Heres the thing..... I've had 0.6.1 up until today and i downloaded the newest 0.9.1 .dll..... and now..... how do i explain it..... When i listen to music of any kind, the bass or bass kick will hit, but then the volume suddenly drops..... then turns back up...... i dont know why its doing this, but its bugging me so much... Could you please help? I just want my music to sound normal with no sudden volume drops.... 
Title: foo_dsp_effect
Post by: db1989 on 2011-06-27 13:27:32
When i listen to music of any kind, the bass or bass kick will hit, but then the volume suddenly drops..... then turns back up...... i dont know why its doing this, but its bugging me so much... Could you please help? I just want my music to sound normal with no sudden volume drops.
Rather than a “major problem”, that simply suggests that its dynamics compressor (http://en.wikipedia.org/wiki/Dynamic_range_compression) is on; check whether this is the case and turn it off, if so.
Title: foo_dsp_effect
Post by: Sandrine on 2011-08-03 13:41:39
Hi mudlord,
for the sake of SACD conversion inside of foobar I'm looking for a cut-off filter that suppresses everything above 40khz. Do you think the existing hi-shelf filter could be expanded that way or would you be willing to add a dedicated hi-frequency noise filter for that purpose?

Thanks in advance!
Title: foo_dsp_effect
Post by: Dr_Colossus on 2011-08-03 17:57:11
Hi mudlord,
for the sake of SACD conversion inside of foobar I'm looking for a cut-off filter that suppresses everything above 40khz. Do you think the existing hi-shelf filter could be expanded that way or would you be willing to add a dedicated hi-frequency noise filter for that purpose?

Thanks in advance!


Shouldn't using a good re-sampler like SOX inherently apply what you a looking for?
Title: foo_dsp_effect
Post by: Sandrine on 2011-08-03 19:07:49
Shouldn't using a good re-sampler like SOX inherently apply what you a looking for?

I'm no expert, but a look at the spectrum showed me that SoX had alleviated the problem somewhat, but not remedied it. There is still a high frequency "cloud" on top of the spectrum after conversion, beginning between 35-40khz all the way upwards. Eliminating that useless (and not audible) information would give a better compression ratio in FLAC.
Title: foo_dsp_effect
Post by: GeSomeone on 2011-08-03 19:19:44
[..] suppresses everything above 40khz.

Resampling to 48 kHz (or 44.1 kHz) surely would.
Title: foo_dsp_effect
Post by: Sandrine on 2011-08-03 20:23:05
Resampling to 48 kHz (or 44.1 kHz) surely would.

Why do people keep second guessing me? What I need I have stated above, what I don't need is "smart" suggestions.
Title: foo_dsp_effect
Post by: kode54 on 2011-08-03 20:40:42
I suppose the low pass filter doesn't go high enough for that?
Title: foo_dsp_effect
Post by: Sandrine on 2011-08-03 21:14:00
I suppose the low pass filter doesn't go high enough for that?

No, the upper limit is 20khz, as is the case with practically all VST filters I quickly checked at the usual free resources today.
Title: foo_dsp_effect
Post by: mudlord on 2011-08-04 00:30:17
What do you want the upper limit to be (what would be most useful to you)?
Title: foo_dsp_effect
Post by: Sandrine on 2011-08-04 08:21:40
What do you want the upper limit to be (what would be most useful to you)?


With 40khz I'd be on the safe side, thanks
Title: foo_dsp_effect
Post by: jaro1 on 2011-08-04 21:49:42
Mudlord, i've a two questions or feature requests. I couldn't imagine implementation difficulty for this, but it'd be fine if possible. All is inspired by Room designer of TB Isone VST plugin.
Firstly, i mean a virtual speaker distance simulation, a "simple" distance from the sound source. The problem is, with the current config options in Reverb effect i couldn't get a sound i want, mainly because of quite prominent post-echo, that can't be eliminated with damping or anything else, therefore i stopped using Reverb. I meant using of this feature together with headphones listening. BS2B is IMHO superb component by design (btw. pity it hasn't its place in FB2K component page, it is worth it), but it doesn't solve this. I'm not sure, if in principle, this feature shouldn't be made within BS2B itself, but maybe it is ok if done "standalone". My idea was it would be implemented in Reverb as an option. With that "i couldn't imagine" i meant, i don't know how is such effect achieved if done correctly (combination of phase shift, change in frequency spectrum, etc. ...)
The second request is related to room simulation capabilities in Reverb. As i wrote, there is a problem with minimizing post-echo. Room designer in TB Isone doesn't have dry/wet mix and room width config option, instead it implements reverb time (T60) together with room size and early reflections with diffusion and level, All these five options together with distance simulate final room effect, which is very natural.
Take these requests please, only as a possible ideas for a future, i think it is worth the effort.
Title: foo_dsp_effect
Post by: mudlord on 2011-08-05 14:34:34
Adding stuff like diffusion levels with air/room HPFC/LPFC (like most commercial reverbs), etc will take a fair bit of work to do.
Not sure if I will put it on the todo list, as to me with echo + reverb DSPs I kinda like the effect.
Title: foo_dsp_effect
Post by: jaro1 on 2011-08-05 17:44:49
Ok, i understand. Anyway, thanks for your comment.
Title: foo_dsp_effect
Post by: mudlord on 2011-08-11 14:29:03
Sandrine: try 0.9.2

was going to add the new resampler in this, but will do that in 0.10 when its more stable.
Title: foo_dsp_effect
Post by: Sandrine on 2011-08-11 17:59:36
Sandrine: try 0.9.2

was going to add the new resampler in this, but will do that in 0.10 when its more stable.


The low pass filter works reasonably well, thanks. Is there a hard cut-off filter in there as well? I don't recognize some of the filter names.
Title: foo_dsp_effect
Post by: mudlord on 2011-08-11 22:42:37
Thats actually a good idea for the next version: A dynamic label describing each filter.

edit: Case did some testing with the Speex resampler I implemented in for the new version:
Code: [Select]
Resampling 44100 Hz WAV (total length: 49:16.320) to 11025 Hz

PPHS (Normal): 942.989x realtime
PPHS (Ultra): 178.291x realtime
SoX (Normal): 920.140x realtime
SoX (Best): 710.291x realtime
Speex (Q0): 1037.345x realtime
Speex (Q3 - VoIP): 540.334x realtime
Speex (Q4 - Default): 444.844x realtime
Speex (Q5 - Desktop): 381.972x realtime
Speex (Q10): 74.390x realtime


Not sure if I should just keep the resampler as a seperate component or keep it in foo_dsp_effect for 0.10. Still, choice is good I suppose....
Title: foo_dsp_effect
Post by: ShoNuff on 2011-08-17 15:26:49
What would be the possibility of seperating the various DSP's so I can pick and choose the ones I want to incorperate into foobar2000.  I only really use the "dynamics compressor" and sometimes the "reverb" or "echo".  It is probably from a "neat freak" disorder that hate to see DSP's I will never use crowding DSP Manager.    Anyway, I would appreciate it if you recompiled them seperately.  I would even appreciate it if you just recompiled the "compressor" as a stand-alone DSP.

Thanks
ShoNuff
Title: foo_dsp_effect
Post by: mudlord on 2011-08-17 23:56:22
...then there will be no point to this component at all.

You are suggesting, that I rewrite everything as standalone components?
Title: foo_dsp_effect
Post by: GeSomeone on 2011-08-18 14:08:04
Not sure if I should just keep the resampler as a seperate component or keep it in foo_dsp_effect for 0.10. Still, choice is good I suppose....

If you're looking for opinions ... to me resampling is not an effect (but a conversion) though I can see the relation to the filter section in foo_dsp_effect.
FWIW in my view: separate resampler plugin(s). Choice is good (for now I'm happy with the SOX based resampler). Anyway, feel free to implement anyway you like.
Title: foo_dsp_effect
Post by: xnor on 2011-08-18 15:56:58
What would be the possibility of seperating the various DSP's so I can pick and choose the ones I want to incorperate into foobar2000.


Everything's possible but it doesn't make much sense. They only questionable gain is that if you used a single effect only you'd probably save some 20 kB of memory  ... in every other case I only see disadvantages.
Title: foo_dsp_effect
Post by: mudlord on 2011-08-19 02:23:48
Not sure if I should just keep the resampler as a seperate component or keep it in foo_dsp_effect for 0.10. Still, choice is good I suppose....

If you're looking for opinions ... to me resampling is not an effect (but a conversion) though I can see the relation to the filter section in foo_dsp_effect.
FWIW in my view: separate resampler plugin(s). Choice is good (for now I'm happy with the SOX based resampler). Anyway, feel free to implement anyway you like.


Agreed. the resampler can go in a seperate DSP.
Title: foo_dsp_effect
Post by: mudlord on 2011-08-19 06:22:31
What would be the possibility of seperating the various DSP's so I can pick and choose the ones I want to incorperate into foobar2000.


Everything's possible but it doesn't make much sense. They only questionable gain is that if you used a single effect only you'd probably save some 20 kB of memory  ... in every other case I only see disadvantages.


Yeh, you get about 90kb already allocated (MSVC runtimes and whatnot), plus a few KB for resources, and then the rest for your code. Doesn't make much sense to split all the sub DSPs, since they would take more space than the one DSP.
Title: foo_dsp_effect
Post by: xnor on 2011-09-22 20:28:10
Could you add a DC blocking filter like this please:

Code: [Select]
private n = 0;

inline filter(x) {
m = x + 0.999 * n;
y = m - n;
n = m;
return y;
}


0.999 could me made an adjustable parameter.
Title: foo_dsp_effect
Post by: mudlord on 2011-09-23 01:30:46
Sure.
Title: foo_dsp_effect
Post by: gamer966 on 2011-10-04 03:21:32
Hi, im new to the foobar2000 and i installed the foo_dsp_effect.dll, but i dont know how to use it! It appears on the component list but i dont see anywhere a place where i can turn on/off the effects. Can anybody help me with this?
Title: foo_dsp_effect
Post by: zaede on 2011-10-04 08:00:05
Hi, im new to the foobar2000 and i installed the foo_dsp_effect.dll, but i dont know how to use it! It appears on the component list but i dont see anywhere a place where i can turn on/off the effects. Can anybody help me with this?


File -> Preferences -> Playback -> DSP Manager


Title: foo_dsp_effect
Post by: gamer966 on 2011-10-04 22:08:46
File -> Preferences -> Playback -> DSP Manager


Oh great! But theres a way to make it easier to change? like putting it as a UI element?
Title: foo_dsp_effect
Post by: zaede on 2011-10-05 11:21:34
Oh great! But theres a way to make it easier to change? like putting it as a UI element?

To configure you can use View -> DSP

In DSP Manager you can save DSP chain presets.
For the two most importent i use keyboard shortcut.
Title: foo_dsp_effect
Post by: SamDeRe81 on 2011-11-13 03:36:55
Hey I'm actually loving this plugin, it's fantastic to have such control over how things sound. Great work!
Title: foo_dsp_effect
Post by: Dexter_prog on 2011-11-13 22:10:53
any way not to get that echo effect when slowing down tempo? I mean if it is possible to slow down tempo like Amazing Slow Downer does it.
Title: foo_dsp_effect
Post by: mudlord on 2011-11-14 22:42:13
no
Title: foo_dsp_effect
Post by: kode54 on 2011-11-14 23:37:14
Yes, you can ask the Amazing Slow Downer to make a foobar2000 DSP out of his processing filter.

Currently, the best open source solution for slight tempo changes is the only open source solution. Namely, SoundTouch. Which is what this DSP uses.

There is another filter that seems to do a really good job stretching recordings without a jarring echo, but it's really designed for massive stretches. I'm talking 1/10 to 1/20 the original tempo. I don't think the process used for that is quite so useful for slight tempo changes.
Title: foo_dsp_effect
Post by: mudlord on 2011-11-15 05:32:42
Yes, you can ask the Amazing Slow Downer to make a foobar2000 DSP out of his processing filter.


And I said no, because currently as you said, ST is used. and we both know ST is absolute crap when it comes to things like this. Even with tweaking the ST parameters a bit, it still sounds horrid.

And the stretcher you are talking about with super HQ stretching has code thats quite bleh, and im not motivated to rewrite it. SoX apparently has pitch/tempo stretching but it seems to be based on ST too, so I figure its best not to look there.
Title: foo_dsp_effect
Post by: EpicForever on 2012-01-17 23:47:47
Well...

I discovered that DSP ("Playback Rate Shift") few days ago (part of "Standard DSPs Array" available in foo installer) and found it usefull, but I started analysing how this kind of effect works and it turned out that it basically degrades sound quality if it isn't permanently removed from DSP chain when it's unused. Such DSP works nearly as resampler and last stage is always low pass filtering. Unfortunately DSP doesn't detect zero value of its "playback rate" parameter and doesn't by-pass signal in this setting and still low pass filters sound... To be 100% sure I've made a test - I created two WAVE files from one FLAC file using built in Converter.  First one was just pure conversion to WAVE with no DSPs and and no additional DTS/HDCD decoders - just uncompressed FLAC. Second was created with one DSP activated - "Playback Rate Shift" and still no "additional decoding". Then I calculated MD5 checksums and unfortunately files were different. This means that if "Playback Rate Shift" DSP is activated then it alters sound even when "playback rate" it's set to "0%". In this situation "alters" definitely means "degrades" - this low pass filtering in unnecessary and doesn't improve anything - only adds some phase shifts. So my suggestion is that when "playback rate" parameter is set to "0%" DSP should specifically detect this value, and set itself to just by-pass siggnal. You can say that I can just remove that DSP from chain, but my answer is that I never know when I want to change playback rate and I want to change it as easy as possible at anytime. Best option will be to have "playback rate fader" visible just as regular element of UI, so removing and adding DSP each time when I want to use it is solution very far from preferred. So to provide ease of use DSP should be always present in the chain, but to avoid unnecessary low pass filtering and thus slight degrading of sound quality DSP should work in specific way. Summarising:

1. "Playback Rate Shift" DSP should specifically detect when it's set to "0%" and in this situation it should switch to by-pass mode
2.  Regular DUI/CUI elemnt for this DSP (just simple fader with % value) will be highly appreciated

PS.
DUI/CUI elements for all DSPs from that family will be nice ("Pith Sfifter", "Tempo Shift", "Playback Rate Shift")
Title: foo_dsp_effect
Post by: mudlord on 2012-01-19 07:42:41
A) yes, ST does resampling + a FIR filter for playback rate changing, i could make it do what you want.
B) I am wondering about the point of making them all a DUI element. What usability functionality will that add, other than making people able to pretend they are DJs.
Title: foo_dsp_effect
Post by: EpicForever on 2012-01-19 08:38:42
Thanks for your reply
Well, I'm not trying to be a foobar DJ, but sometimes certain tracks sound better for my ears when they are playing just 3-5% faster (like Cramp - Deadline, Tiesto - Ten Seconds Before Sunrise, Factoria - Excalibur and few more). In this situation I had to hold on my disk 2 separate WAVE files - original from Beatport and shifted from wave editor. I have about 20 doubled WAVEs on my HDD... Adding DUI/CUI element will just let me use that option in more comfortable way, whenever I want to use it and it will eliminate necessity of holding two WAVEs in case of files that I often listen with shifted tempo - slider will be always at hand. Other situation is when I want to slow down some vocal track to better hear/understand the words. I always need to open file in wave editor, go through menu, dialog boxes, wait for calculations and if tempo is inaccurate I need to Ctrl+Z, again go through menu, dialog boxes and again and again... That simple slider pinned to UI for "Playback Rate Shift" will just make such situation much easier. And if there will be such sliders for other effects it will just expand possibilities of sound tuning  .
It will be very nice if all these 3 effects (and maybe others which I currently don't use) from foo_dsp_effect have implemented bypassing when parameters are set to zero - "0%", "0 semitones" etc. It will just provide possibility of keeping best possible sound quality (unchanged, without unnecessary modifications) while letting people keep rarely used / currently unused plug-ins in DSP chain and thus improving their ease of using program.
Title: foo_dsp_effect
Post by: Gnx on 2012-01-21 10:18:45
hy mudlord,
I'm not DJ, just musician and I use Pitch Shift to detune tracks recorded in Eb or not at A440 for exemple
occasionally, I also use Tempo Shift to learn difficult parts at slow speed

as EpicForever, and a lot of people I think, I have to duplicate tracks
so it would be very interesting to store the settings in tags which would be used automaticaly by your components

of course, I have any idea of the time required to code that 
Title: foo_dsp_effect
Post by: mudlord on 2012-01-27 09:36:27
I rather not add settings that autoadd tags to files: some people might not like that.
Title: foo_dsp_effect
Post by: EpicForever on 2012-01-27 20:23:31
Well, I think that Gnx said only about autoloading settings from tags rather than autoadding tags with settings. From this point of view tags will be manually added and/or edited by user or added by software only at explicit user request (like right-click menu item or ticking checkbox in dsp effect interface). It might be usefull, but for me it's not the most wanted option. I'm waiting for auto by-passing at 0% and for DUI controls
Title: foo_dsp_effect
Post by: Gnx on 2012-01-27 20:47:54
Well, I think that Gnx said only about autoloading settings from tags rather than autoadding tags with settings.

yes, that's the idea. thx EpicForever

(I have to return to my English lesson now ...)
Title: foo_dsp_effect
Post by: markanini on 2012-01-27 22:12:54
Muddy, didn't you promise a DC filter a while back?
Title: foo_dsp_effect
Post by: mudlord on 2012-01-27 22:38:43
Yes and xnor made the filter himself based on my code. So I didnt feel the need to make it public.
Title: foo_dsp_effect
Post by: Porcus on 2012-01-28 12:58:14
a realtime CD de-emphasis decode post processor. The tag "PRE_EMPHASIS" must be used on content which is supported by FB2Ks decode processor services, for this to work. Pre-emphasis can be signified in your media with the values "1" or "0".


... just for the record: "0" is just the same as the tag being absent?

(And ... you don't use any dithering, the filter returns a 16-bit undithered version?)
Title: foo_dsp_effect
Post by: xnor on 2012-01-28 14:27:27
Yes and xnor made the filter himself based on my code. So I didnt feel the need to make it public.


What?? I posted a code snippet of the first "DC blocker or filter" result on Google here and asked if you could include it.
Title: foo_dsp_effect
Post by: mudlord on 2012-01-28 22:16:57
oh fine, in that case you will get your DC blocker. just dont ask me when.
and B) yes 0 is if deemphasis is off
Title: foo_dsp_effect
Post by: xnor on 2012-02-05 14:13:43
@mudlord:
dsp_dcblocker.cpp (http://pastebin.com/et5SZBzX)
foo_dsp_effect.rc (http://pastebin.com/dYiG6WwR) (might want to only extract the dialog I added, search for IDD_DCBLOCKER)

Also, the range of the parameter needs some tuning. You might want to add another decimal place (e.g. to allow 0.9999) and further restrict the min.

p = 0.999 -> -1 dB at 13 Hz, -3 dB at 7 Hz, -10 dB at 2 Hz
p = 0.997 -> -1 dB at 38 Hz, -3 dB at 21 Hz, -10 dB at 7 Hz
...
p = 0.900 -> -1 dB around 1.3 kHz
Title: foo_dsp_effect
Post by: Porcus on 2012-02-12 14:48:52
Dumb question, but can I easily use the pre-emphasis filter to convert to a de-emphed FLAC using fb2k?

In which case, how? And in which case, should dither be applied?
Title: foo_dsp_effect
Post by: mudlord on 2012-02-12 23:33:04
Quote
Dumb question, but can I easily use the pre-emphasis filter to convert to a de-emphed FLAC using fb2k?


Using the convertor?

And I havent really looked into how dithering effects it, though all DSPs run at 32bit float bit depth anyway. Wouldnt hurt to see how it effects it.
Title: foo_dsp_effect
Post by: Porcus on 2012-02-13 13:38:10
Yeah I realized I should be more precise: there is a dithering choice in the conversion menu, but it seems like the DSPs are applied after dithering. The right thing would – I think! – be to apply the EQ with higher internal precision and then dither it down to the desired wordlength (say, 16).

I did a test, using no dithering, and #4 below produces differences:

1) originalrip_16bit.flac converted to originalrip_24bit.flac by simply padding with zeroes
--> bit-identical, of course.

2) each of these converted to 24-bit FLAC with your de-emphasis EQ as post-processing DSP
--> outputs bit-identical to each other; there is no truncation going on here.

3) converted in one operation per file
originalrip_16bit.flac converted to deemph16bit.flac (16 bits internally) and
originalrip_24bit.flac converted to deemph2416.flac setting fb2k to output 16 bits
both using your de-emphasis EQ as post-processing DSP
--> outputs bit-identical

4) converted originalrip_24bit.flac to deemph24bit.flac using your de-emphasis EQ as post-processing DSP,
AND THEN converted deemph24bit.flac to deemph242416.flac by setting fb2k to output 16 bits.

Then deemph2416.flac and deemph242416.flac are different. So t matters – I didn't say 'audibly' – how long I stay in the 24 bits domain.


I suppose I can just pad my pre-emphasized files up to 24 bits (at no cost in filesize) and tag them with PRE_EMPHASIS = 1, and leave those additional 8 bits to the DAC (which accepts that input).
Title: foo_dsp_effect
Post by: EpicForever on 2012-04-22 19:55:03
Hello again.

Can I ask about any update for foo_DSP_effect ? especially the one with requested features  (bypassing at 0% and DUI elements...)
Title: foo_dsp_effect
Post by: mudlord on 2012-04-24 01:33:02
Again, I failed to see the logic in adding said features.
Title: foo_dsp_effect
Post by: markanini on 2012-05-06 05:34:22
Please consider effect for adding a small delay in either channel controlled by a custom tag field. I often find commercial releases with 10-20 ms delay between L-R.
Title: foo_dsp_effect
Post by: EpicForever on 2012-05-06 07:02:02
Again, I failed to see the logic in adding said features.


Hmmm... in post #135 you said that you can add bypassing when effect value is set to "0%". You wondered about DUI elements ncessity, but bypassing was accepted proposition. I will be pleased even if you could add only bypassing at 0% especially in Playback Rate Shift effect  . Without DUI/CUI elements  . I already explained why bypassing at 0% matters - in this case there's no unnecessary filtering and resampling added to output when effect is not used (set to 0%).
Title: foo_dsp_effect
Post by: mudlord on 2012-05-06 10:16:05
Please consider effect for adding a small delay in either channel controlled by a custom tag field. I often find commercial releases with 10-20 ms delay between L-R.


You mean differing behaviour IF such tags exists, and if not, acts as normal?
Title: foo_dsp_effect
Post by: markanini on 2012-05-07 01:12:43
Please consider effect for adding a small delay in either channel controlled by a custom tag field. I often find commercial releases with 10-20 ms delay between L-R.

Oops, the measrements I was reading were reported in ?m, the delay in ms is more like 0.05 -0.1 ms. Still it's enough delay to skew the apparent stereo field.
Title: foo_dsp_effect
Post by: EpicForever on 2012-05-07 08:33:49
This delay between channels is added intentionally - in purpose of widening stereo basis. Stereo widening effects (like making stereo from mono signal) are always based on adding interchannel delay. So such DSP will be destroying effect rather than sound tuning effect.
Title: foo_dsp_effect
Post by: lvqcl on 2012-05-07 09:23:16
Please consider effect for adding a small delay in either channel controlled by a custom tag field. I often find commercial releases with 10-20 ms delay between L-R.

It is possible to do this with foo_dsp_yac (http://www.hydrogenaudio.org/forums/index.php?showtopic=82745) (but IIRC it works only for stereo: no multichannel support).
Title: foo_dsp_effect
Post by: markanini on 2012-05-08 04:40:50
This delay between channels is added intentionally - in purpose of widening stereo basis. Stereo widening effects (like making stereo from mono signal) are always based on adding interchannel delay. So such DSP will be destroying effect rather than sound tuning effect.

I'm talking about real stereo recordings with a consistent inter-channel delay, possibly due to a tape transport issue. One such example is Yes - Close to The Edge by Rhino.

Please consider effect for adding a small delay in either channel controlled by a custom tag field. I often find commercial releases with 10-20 ms delay between L-R.

It is possible to do this with foo_dsp_yac (http://www.hydrogenaudio.org/forums/index.php?showtopic=82745) (but IIRC it works only for stereo: no multichannel support).

I could work with that, thanks!
Title: foo_dsp_effect
Post by: EpicForever on 2012-06-23 21:29:19
I downloaded latest version of "foo_dsp_effect" but bypassing at "0%" is still missing... It's a matter of sound quality, not just my whims...
Title: foo_dsp_effect
Post by: EpicForever on 2012-07-18 20:18:49
OK, in newest version (released on 2012-06-25) there is bypassing implemented and it works properly  Many thanks !!
Title: foo_dsp_effect
Post by: Fandango on 2012-08-10 10:40:29
I really like the PRE_EMPHASIS feature, but there was one thing that was bothering me and it needed testing on my behalf: if this tag field is present and set to true, will it be in effect when converting the audio files?

My results are pleasing: when converting to a lossy format, it de-emphasis will be applied. When converting to a lossless format, it will not! And when using the dynamic range meter plugin, it again will be applied. When bit-comparing identical files, with and without the tag field, they are recognised as identical. Which all in all is exactly how it should be. 
Title: foo_dsp_effect
Post by: kode54 on 2012-08-10 14:19:36
If it's a DSP filter, do you have it in your chain? If not, do you have additional processing enabled when converting?
Title: foo_dsp_effect
Post by: CoRoNe on 2012-08-11 20:06:55
I don't know anything about foo_dsp_effect its inner workings, but why does Pitch Shift (and perhaps other effect-filters too, I don't know) change the duration?

Original test sample: 25.500s / 1124550 samples
SoundTouch plugin: 25.488s / 1124032 samples
Effects DSP (Pitch Shift) plugin: 25.479s / 1123640 samples
Avisynth (TimeStretch): 25.500s / 1124550 samples(!)

For everyday listening it's no problem, but for encoding I obviously prefer Avisynth at the moment.
Title: foo_dsp_effect
Post by: Fandango on 2012-08-12 17:24:01
If it's a DSP filter, do you have it in your chain? If not, do you have additional processing enabled when converting?

No and no. It's not in the DSP chain and there's no need to enable Processing when converting. So I don't need an extra preset and I don't have to sort out pre-emphased records for converting seperately, which is great! It just works anyway just because of the tag field. :thumbs: All I have to take care of is adding the tag field when adding a record to my library.

Would be great if the plugin supported the "FLAG PRE" line in embedded cue sheets, not that I use embedded cue sheets anymore... but I think it would be a good addition to the plugin.
Title: foo_dsp_effect
Post by: mudlord on 2012-08-13 00:41:47
there is no means atm to parse cuesheets, thats something Peter will need to add.
Title: foo_dsp_effect
Post by: mudlord on 2012-08-15 05:56:40
I don't know anything about foo_dsp_effect its inner workings, but why does Pitch Shift (and perhaps other effect-filters too, I don't know) change the duration?

Original test sample: 25.500s / 1124550 samples
SoundTouch plugin: 25.488s / 1124032 samples
Effects DSP (Pitch Shift) plugin: 25.479s / 1123640 samples
Avisynth (TimeStretch): 25.500s / 1124550 samples(!)

For everyday listening it's no problem, but for encoding I obviously prefer Avisynth at the moment.


Hmm, AVISynth returns complete samples?
In the effect source for dsp_soundtouch.cpp, for get_latency, I return the amount of buffered samples divided by the samplerate to get current latency of the DSP. I run a buffer to basically get samples, and output them. I guess in the process there is a bug of sorts?

https://github.com/mudlord/foobar2000/blob/..._soundtouch.cpp (https://github.com/mudlord/foobar2000/blob/master/foo_dsp_effect/dsp_soundtouch.cpp)
Title: foo_dsp_effect
Post by: EpicForever on 2012-08-25 15:27:14
Hello again.

I'm not a programmer, so I kindly ask you mudlord - would it be complicated for you, to add one more feature to foo_dsp_effect library? I think about possibility of preserving information about preferred Playback Rate Shift, Pitch Shift and Tempo Shift for certain files in tags. It could be done like this: user manually adds tag field to his file - for exampla tag named "PRS" (for "Playback Rate Shift") and puts there a value - for example "+5" or "-10". Active DSP reads tag field and automatically applies shift. If values in fields will be greater than maximum values that are possible ("-150", "+300") for certain DSP, then the maximum value could be used - with optional warning from console. No autotagging - only manuall tagging done by user, then autoloading info. Optionally there could be additional check box in DSP configuration dialog: "automatically use shift values from tags". That would be perfect

Regards
Epic
Title: foo_dsp_effect
Post by: Rollin on 2012-08-25 17:41:19
EpicForever
http://www.hydrogenaudio.org/forums/index....showtopic=96094 (http://www.hydrogenaudio.org/forums/index.php?showtopic=96094)
Title: foo_dsp_effect
Post by: EpicForever on 2012-08-25 20:24:15
Hmmm.. It could solve my problem but to be honest I think it's too complicated or I'm just to lazy to configure DSP chains for every single track where I decide to change playback rate... At the moment it's more than 20 tracks. foo_dsp_effect has feature similar as requested in my previous post - setting up de-emphasis filter based on tags. So I think that implementation of my request shouldn't be a big problem.
Title: foo_dsp_effect
Post by: EpicForever on 2012-11-02 09:00:01
Could I ask for any "developement news" for this component ? Is it posssible to add feature from my post : http://www.hydrogenaudio.org/forums/index....mp;#entry806411 (http://www.hydrogenaudio.org/forums/index.php?showtopic=84544&st=150&p=806411&#entry806411)  ?
Title: foo_dsp_effect
Post by: mudlord on 2012-11-02 09:18:52
current news: depends on my motivation to add features that I personally use. Since I don't use often features like this apart from de-emphasis, its very low on the current priority list.
Title: foo_dsp_effect
Post by: EpicForever on 2012-11-02 16:20:31
Well, OK, but I understand that you have the procedure to read tags already coded. Only thing is to add it to other DSP and choose names for user tags... Numbers (values of tags) are just numbers, as the ones on fader. But I understand that you are doing it in your free time
Title: foo_dsp_effect
Post by: Eli on 2013-01-22 17:52:46
Does foo_dsp_effect's de-emphasis recognize dBpoweram's pre-emphasis flag? If not, could this feature be added?
Title: foo_dsp_effect
Post by: Rollin on 2013-01-22 18:10:39
Does foo_dsp_effect's de-emphasis recognize dBpoweram's pre-emphasis flag?


Quote
The tag "PRE_EMPHASIS" must be used on content which is supported by FB2Ks decode processor services, for this to work. Pre-emphasis can be signified in your media with the values "1" or "0".
Title: foo_dsp_effect
Post by: Eli on 2013-01-22 18:27:21
I saw that but I'm not at home with my FLAC collection and don't know if this is the tag name dBpoweramp uses to flag pre-emphasis or not.
Title: foo_dsp_effect
Post by: mudlord on 2013-01-25 01:10:33
well it would be very helpful to know what tag it uses....
Title: foo_dsp_effect
Post by: markanini on 2013-01-25 03:28:07
This delay between channels is added intentionally - in purpose of widening stereo basis. Stereo widening effects (like making stereo from mono signal) are always based on adding interchannel delay. So such DSP will be destroying effect rather than sound tuning effect.

Youre referring to Haas effect processes which are sometimes applied to a few instrumments in a mix. It's more common in the DAW era with the exception for some experiments in the 1960s where the intentional delays were orders of magnitude higher than the unintentional delays from tape transport misalignment.

I'll put forward my feature suggestion again: Please consider an effect for adding a small delay on either LR channel controlled by a custom tag field. The field value might look something like: 'L5' denoting the L channel be delayed by 5 samples. A range of 1-50 samples would be plenty for 44100Hz.
Title: foo_dsp_effect
Post by: mudlord on 2013-01-25 21:15:56
and I say:

http://www.hydrogenaudio.org/forums/index....st&p=794716 (http://www.hydrogenaudio.org/forums/index.php?showtopic=84544&view=findpost&p=794716)

im pretty much done with this component and many things in general.
Title: foo_dsp_effect
Post by: kode54 on 2013-01-25 21:24:56
Sounds like an interesting effect, although I would rather implement it using something more serious. Although I would probably take to a bit of mockery by making it a foo_dsp_silly_effects component.

Yeah, mudlord made a lot of effects he thought would be useful, but now feels some of these are just getting too silly for him to consider, even if they would be fairly easy to implement. I could get to work on some of this crap later.
Title: foo_dsp_effect
Post by: mudlord on 2013-01-25 22:00:54
Yes, easy to implement.
A) get your current track via play_control
B) get your file_info from the metadb ptr given
C) Parse tags using file_info methods.
D) do delays based on timing from tags

Honestly though, cannot be arsed though. What annoyed me greatly is now I am getting requests outside the scope of what I intended for this component to be. And plus, I can't find a personal use to implement them.
Title: foo_dsp_effect
Post by: EpicForever on 2013-02-02 17:23:18
I'm not sure weather this issue is caused by foo_input_exe or foo_dsp_effect so i post it in both threads, maybe authors will find what can be wrong.
My DSP chain looks like this: Skip Silence - > convert 5.1 to stereo -> convert mono to stereo -> playback rate shift. Playback Rate Shift requires 2ch signal. So used DSP effects provide such signal.
When I play 6ch FLAC encoded from DVD-A everything works OK. Signal is downmixed and I can use PRS actively or just unused, but present in chain. But when I play audio from video files and I use foo_input_exe to wrap signal decompressed by FFMPEG.exe from that files, then 6ch audio decoded from .VOB file generates error: "Unrecoverable playback error: Illegal number of channels". It means that Playback Rate Shift gets 6ch audio instead of 2ch - like "convert 5.1 to stereo" wasn't working or something like this... Why? What can I do to avoid this error in such playback configuration?
Title: foo_dsp_effect
Post by: Porcus on 2013-02-02 18:31:25
You have likely been home in the meantime, but anyway, dBpoweramp uses <PRE-EMPHASIS>, value 'Yes'. Different value, different tag name (note the hyphen).

(Myself I store those pre-emph'ed CDs in a different format (great excuse to pay homage to WavPack) just in case I accidentally delete tags, so I don't mind doing the extra work to write another tag to them.)
Title: foo_dsp_effect
Post by: mudlord on 2013-02-03 01:42:36
I'm not sure weather this issue is caused by foo_input_exe or foo_dsp_effect so i post it in both threads, maybe authors will find what can be wrong.
My DSP chain looks like this: Skip Silence - > convert 5.1 to stereo -> convert mono to stereo -> playback rate shift. Playback Rate Shift requires 2ch signal. So used DSP effects provide such signal.
When I play 6ch FLAC encoded from DVD-A everything works OK. Signal is downmixed and I can use PRS actively or just unused, but present in chain. But when I play audio from video files and I use foo_input_exe to wrap signal decompressed by FFMPEG.exe from that files, then 6ch audio decoded from .VOB file generates error: "Unrecoverable playback error: Illegal number of channels". It means that Playback Rate Shift gets 6ch audio instead of 2ch - like "convert 5.1 to stereo" wasn't working or something like this... Why? What can I do to avoid this error in such playback configuration?


Weird, doesnt sound like a problem on my end if the "convert 5.1 to stereo" isnt working. Indeed, the SoundTouch based DSPs only work on stereo channels.
Title: foo_dsp_effect
Post by: EpicForever on 2013-02-03 12:49:40
Just for your information mudlord - it turned out that it might be a problem in handling of channel mask by "Convert 5.1 to stereo" plugin. Surround channels aren't properly handled (SR, SL) while back channels (BL, BR) are. That was said to be solved on Peter's end in "Convert..." plugin. So PRS doesn't trigger any problems in above scenario
Title: foo_dsp_effect
Post by: lvqcl on 2013-02-14 15:04:45
a bug found: http://www.hydrogenaudio.org/forums/index....st&p=824194 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=99394&view=findpost&p=824194)
Title: foo_dsp_effect
Post by: mudlord on 2013-02-16 11:33:34
noticed the problem with the aliasing and such

mudlord.info/temp/foo_dsp_effect.zip
mudlord.info/temp/foo_dsp_effect_nodemph.zip
Title: foo_dsp_effect
Post by: EpicForever on 2013-02-24 19:42:14
Question - does regular version of foo_dsp_effect contains POSTPROCESSOR service for de-emphasis or only DSP/IIR filter based De-emphasis functionality? I can't find it in documentation on regular download site (foobar2000.org/components).
Title: foo_dsp_effect
Post by: Rollin on 2013-02-25 08:29:51
Postprocessor
Quote
The tag "PRE_EMPHASIS" must be used on content which is  supported by FB2Ks decode processor services, for this  to work. Pre-emphasis can be signified in your media with the values "1" or "0".
Title: foo_dsp_effect
Post by: EpicForever on 2013-03-01 21:50:13
(...) I think about possibility of preserving information about preferred Playback Rate Shift, Pitch Shift and Tempo Shift for certain files in tags. It could be done like this: user manually adds tag field to his file - for exampla tag named "PRS" (for "Playback Rate Shift") and puts there a value - for example "+5" or "-10". Active DSP reads tag field and automatically applies shift. (...)


EpicForever
http://www.hydrogenaudio.org/forums/index....showtopic=96094 (http://www.hydrogenaudio.org/forums/index.php?showtopic=96094)


I used it and it works great  it takes some effort to configure it (chains, tags, dsp config) but it gives me desired option. Thx again
Title: foo_dsp_effect
Post by: EpicForever on 2013-05-10 18:48:17
One question - is it possible to make foobar display length of track after playback rate shift modification? I'm thinking mostly about status bar.
Title: foo_dsp_effect
Post by: mudlord on 2013-05-11 11:21:59
No.
Title: foo_dsp_effect
Post by: EpicForever on 2013-05-11 12:14:49
OK, but you mean impossible because you are not willing to code it or because of foobar's limitations?
Title: foo_dsp_effect
Post by: mudlord on 2013-05-12 03:28:15
from what I know, the latter.
Title: foo_dsp_effect
Post by: EpicForever on 2013-05-22 18:25:54
I got another question and probably request - is it possible to use some title formatting switch/variable that will allow me to see in status bar that Playback Rate Shift DSP is currently running ? Something like possibility to display "Playback Rate Shit: running/not running" (or "Playback Rate Shift running: yes/no".) in status bar (like with HDCD). If it isn't possible at the moment, then I want to kindly ask you mudlord for coding such thing. I have about 20-30 tracks that have TRACKDSP tags to use with DynamicDSP plugin. All these TRACKDSP tags contain values that enable automatic Playback Rate Shifts triggered by DynamicDSP. Unfortunately DynamicDSP can loose it's config under certain circumstances, so sometimes I got weird feelings while listening to some tracks and in the end it turns out that something doesn't work like it should. But it always takes some time and effort. With such thingy it would be very easy to detect whether DynamicDSP works or not. And to check whether I set Playback Rate Shift to 0% after some experiments that I sometimes do with other tracks  . So is it possible?
Title: foo_dsp_effect
Post by: mudlord on 2013-05-23 11:16:34
I am honestly unsure whether DSP services can do get_dynamic_info(). I know its certainly possible in preprocessor services, though.
Title: foo_dsp_effect
Post by: mudlord on 2013-09-10 03:15:54
http://mudlord.info/temp/foo_dsp_effect.dll (http://mudlord.info/temp/foo_dsp_effect.dll)

needs tests in iir filter module before being uploaded to main repo. also any other bug reports are welcome.
Title: foo_dsp_effect
Post by: CoRoNe on 2013-11-03 10:32:03
Hmm, AVISynth returns complete samples?
In the effect source for dsp_soundtouch.cpp, for get_latency, I return the amount of buffered samples divided by the samplerate to get current latency of the DSP. I run a buffer to basically get samples, and output them. I guess in the process there is a bug of sorts?

Any updates on this, mudlord?
Title: foo_dsp_effect
Post by: mudlord on 2013-11-03 20:52:30
I don't care about that "bug", since the DSPs were intended for listening, not for archiving. >_>
Title: foo_dsp_effect
Post by: eahm on 2013-11-20 08:26:54
Thanks for the component but...from 0.9.2 you went to 0.10, 0.11, 0.12? That's lower, you should do 1.0, 1.1, 1.2. Was this already discussed?
Title: foo_dsp_effect
Post by: detmek on 2013-11-20 09:35:34
It is not lower. Version numbers are not decimals. 0.9.2 is not 0,92.
So, you have leading 0, 9 as main version and as subversion. In 0.10, 10 is main version, which is higher then 9.
Title: foo_dsp_effect
Post by: marc2003 on 2013-11-20 09:41:10
foobar did a similar thing as well. it went from 1.1.9 to 1.1.10.
Title: foo_dsp_effect
Post by: MusX on 2014-01-17 11:05:46
Hello,
is it possible to edit source of the plugin? can you guide me a little how to do that?

I'm interested of 3 decimal places in "Pitch Shift". There are already only two.
You may consider this as feature request

Regards
Title: foo_dsp_effect
Post by: mudlord on 2014-01-21 23:28:04
Source code is on svn.mudlord.info/foobar2000
you will need a SVN client.

you need WTL with MSVC2008 SP1 to compile. from there, its a simple matter of modifying the relevant source files to increase the granularity of the sliders.
Title: foo_dsp_effect
Post by: Morality124 on 2014-02-14 17:26:10
Hi mudlord. I can't seem to find the non-demph version of your plugin. Anywhere to get it?

Thanks!
Title: foo_dsp_effect
Post by: mudlord on 2014-02-15 01:48:05
Non-demph?

Title: foo_dsp_effect
Post by: EpicForever on 2014-02-15 11:14:33
Yes, without deemphasis routine implemented. There was such version linked here in this thread.
Title: foo_dsp_effect
Post by: Morality124 on 2014-02-15 21:29:15
Non-demph?


Yes, you posted a version early without de-emphasis as to not conflict with foo_deemph.
Title: foo_dsp_effect
Post by: mudlord on 2014-02-16 00:19:32
Oh, looks like I have to redo that.
Currently I am rewriting some things in foo_dsp_effect, so no ETA.
Title: foo_dsp_effect
Post by: Ello on 2014-03-09 22:22:21
Thank you. <3
Title: foo_dsp_effect
Post by: mudlord on 2014-03-09 22:48:39
I'm somewhat happy that this piece of horseshit is appreciated.
Title: foo_dsp_effect
Post by: EpicForever on 2014-04-26 15:21:45
I managed myself to have lengths of tracks displayed with Playback Rate Shift applied  But it works ONLY when tracks have PRS altered via foo_dynamic_dsp using TRACKDSP tags formatted as for example 102 for +2% PRS change or for example 98 for -2% PRS change. Here it is:
Code: [Select]
%playback_time%[ / $if($meta_test(trackdsp),$div($div($mul(%length_seconds%,100),$meta(trackdsp)),60):$num($mod($div($mul(%length_seconds%,100),$meta(trackdsp)),60),2),%length%)]

which gives for example "7:57 / 8:12", where 7:57 is current playback position and 8:12 is total lenght of track altered by Playback Rate.

Dear mudlord, after inventing that single line of code I have a feature proposal for DSP Effect plugin: adding variables. Variables like %rateshift%, %temposhift%, %pitchshift% etc. I haven't analyzed if any other than %rateshift% would be useful - I got a scenario for this one. If I have %rateshift% variable with values like 100 (for normal playback), 97 (for PRS -3%), 107 (for PRS +7%), etc. I could perform similar division as with values taken from TRACKDSP tags  . Could you be so kind and develop at least %rateshift% ?
Title: foo_dsp_effect
Post by: mudlord on 2014-05-07 10:39:13
Not sure if I am bothered to implement feature requests to be honest. :<
Title: foo_dsp_effect
Post by: EpicForever on 2014-05-07 15:53:44
I understand that, as I am aware that we are relying on your free time and good will
Anyway for someone who isn't programmer it doesn't look that time consuming. Plugin knows proposed %rateshift% value anyway, as it uses it to its regular operation. There is a question if sending this value to new variable is time consuming task when we talk about implementing it... That's something that you should judge and take into consideration
I think that possibility of displaying track duration after its alteration via playback rate shift is quite attractive option
Title: foo_dsp_effect
Post by: mudlord on 2014-05-07 23:07:42
Yeh, its easy to add.
Problem is, sometimes I am busy with my two jobs or just am too lazy to add stuff.
Title: foo_dsp_effect
Post by: dhromed on 2014-05-21 13:29:59
Quote
I'm somewhat happy that this piece of horseshit is appreciated.

You are a saviour of the human race, in a pineapple, under the sea.

Not sure if I am bothered to implement feature requests to be honest. :<

I imagine this depends on the request?
I do have one or two, but I don't know if it's productive to just dump it here.
Title: foo_dsp_effect
Post by: mudlord on 2014-05-22 01:33:40
Nah, I just don't bother to implement feature requests to be honest.
It might be best not to dump them here, as I might never be interested in implementing them.
Title: foo_dsp_effect
Post by: hifih66 on 2014-05-24 09:05:08
Nah, I just don't bother to implement feature requests to be honest.
It might be best not to dump them here, as I might never be interested in implementing them.


I'm a brand new member and don't expect any consideration but would be grateful for the parameters used in your RIAA De-emphasis filter in the IIR section as I need to create the inverse filter for use on the input of my restored 1971 Grundig Radiogram input (which already has the de-emphasis on board) and sounds very bassy (and very loud) when fed directly from foobar.


I've used this in the standard equalizer which doesn't sound too bad but would appreciate a more accurate filter

55Hz -14dB
77Hz -11dB
110Hz -9dB
156Hz -7dB
220Hz -5dB
311Hz -4dB
440Hz -3dB
622Hz -2dB
880Hz -1dB
1.2kHz 0dB
1.8kHz 1dB
2.5kHz 2dB
3.5kHz 3dB
5kHz 4dB
7kHz 6dB
10kHz 8dB
14kHz 10dB
20kHz 13dB

Any help would be appreciated.

Title: foo_dsp_effect
Post by: hifih66 on 2014-05-27 10:46:21
Nah, I just don't bother to implement feature requests to be honest.
It might be best not to dump them here, as I might never be interested in implementing them.


I'm a brand new member and don't expect any consideration but would be grateful for the parameters used in your RIAA De-emphasis filter in the IIR section as I need to create the inverse filter for use on the input of my restored 1971 Grundig Radiogram input (which already has the de-emphasis on board) and sounds very bassy (and very loud) when fed directly from foobar.


I've used this in the standard equalizer which doesn't sound too bad but would appreciate a more accurate filter

55Hz -14dB
77Hz -11dB
110Hz -9dB
156Hz -7dB
220Hz -5dB
311Hz -4dB
440Hz -3dB
622Hz -2dB
880Hz -1dB
1.2kHz 0dB
1.8kHz 1dB
2.5kHz 2dB
3.5kHz 3dB
5kHz 4dB
7kHz 6dB
10kHz 8dB
14kHz 10dB
20kHz 13dB

Any help would be appreciated.


Found this RIAA curve in the page below, which gave these values (approximately +/- 1dB)

And they sound great on my equipment.

http://www.stereophile.com/features/cut_an...p_equalization/ (http://www.stereophile.com/features/cut_and_thrust_riaa_lp_equalization/)

55Hz -17dB
77Hz -15dB
110Hz -13db
156Hz -11dB
220Hz -8dB
311Hz -5dB
440Hz -3dB
622Hz -2dB
880Hz -1dB
1.2kHz 1dB
1.8kHz 2dB
2.5kHz 3dB
3.5kHz 6dB
5kHz 8dB
7kHz 10dB
10kHz 13dB
14kHz 16dB
20kHz 19dB
Title: foo_dsp_effect
Post by: asdasd on 2014-06-30 00:01:14
I find this plugin highly useful, thanks for the great work so far, OP!
I was wondering if there's a way to display my current DSP preset anywhere within foobar interface using title formatting variable or something like that?
I tried %dsp_preset% and %__dsp_preset% but obviously that didn't work out :)
Title: foo_dsp_effect
Post by: mudlord on 2014-09-29 04:31:55
decided to add a bugtracker at http://bugs.mudlord.info/ (http://bugs.mudlord.info/).

Source code is at: http://svn.mudlord.info/foobar2000 (http://svn.mudlord.info/foobar2000)
Title: foo_dsp_effect
Post by: mjb2006 on 2014-10-09 07:35:49
I registered at the bugtracker but it doesn't let me submit anything.

I'm consistently getting crashes when I try to play files tagged with PRE_EMPHASIS 0. They work fine in safe mode, and they work fine with PRE_EMPHASIS 1. The crash reports start out like this:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 6AB4FB8Dh
Access violation, operation: read, address: 00000000h
Last win32 error: 8

Call path:
playback_process entry=>input_decoder::run

Code bytes (6AB4FB8Dh):
6AB4FB4Dh:  8D 04 C8 8B 00 56 8B 75 08 52 50 E8 D3 04 00 00
6AB4FB5Dh:  5E 5D C2 08 00 CC CC CC CC CC CC CC CC CC CC CC
6AB4FB6Dh:  CC CC CC 55 8B EC 53 33 DB 38 5D 0C 56 0F 95 C3
6AB4FB7Dh:  33 F6 39 77 08 76 23 8B 47 04 8B 0C B0 8B 45 10
6AB4FB8Dh:  8B 11 8B 52 0C 50 8B 45 08 53 50 FF D2 84 C0 74
6AB4FB9Dh:  03 83 CB 02 46 3B 77 08 72 DD 5E 5B 5D C2 0C 00
6AB4FBADh:  CC CC CC 56 8B F0 8B 07 8B 50 1C 8B CF FF D2 50
6AB4FBBDh:  8B 07 8B 50 10 8B CF FF D2 50 8B 07 8B 50 18 8B

Stack (0C60F284h):
0C60F264h:  00000000 045B5AB0 045B5AB0 045B5924
0C60F274h:  00D14EDC 00000000 7729890D 6AC016D5
0C60F284h:  00C1C1E0 00C1C380 0C60F2B0 6AB4F581
0C60F294h:  00C1C380 00000000 04C9B7D8 00C1C1E0
0C60F2A4h:  0C60FB64 00C1C1D8 00C1C1D8 0C60F2DC
0C60F2B4h:  6AB4F2B8 0C60FB64 04C9B7D8 04C9B7D8
0C60F2C4h:  0C60FB64 04C9B818 6D4C2836 007D8450
0C60F2D4h:  00D75678 00000012 0C60F2F0 6AB4EFD5
0C60F2E4h:  0C60FB64 00000000 04C9B7D8 0C60F314
0C60F2F4h:  00D212DB 0C60FB64 04C9B7D8 04C9B818
0C60F304h:  00000016 0C60FBE0 00D4333D 00000000
0C60F314h:  0C60F340 00CA6651 04C9B998 0C60FB64
0C60F324h:  04C9B7D8 04C9B7D8 04C9BA20 04C9B778
0C60F334h:  04C9BA20 04C9B778 01005A14 0C60FBEC
0C60F344h:  00CA85D8 04C9B818 04C9B7D8 00000000
0C60F354h:  04C9B778 04C9BB94 00000000 00000000
0C60F364h:  00000000 00000000 00000000 1A873F01
0C60F374h:  0C60F228 00000000 0C60F3EC 772D71F5
0C60F384h:  61CF762D FFFFFFFE 77290098 7728FD4F
0C60F394h:  00000001 00000001 00000000 0C60F418

Registers:
EAX: 04C9B7D8, EBX: 00000000, ECX: 00000000, EDX: 000000A9
ESI: 00000000, EDI: 00C1C3B0, EBP: 0C60F28C, ESP: 0C60F284

Crash location:
Module: foo_input_std
Offset: 1FB8Dh

This is with foo_dsp_effect 0.12 in foobar2000 1.3.3 on Win7/64-bit. I also have the waveform seekbar 0.2.4045, if that matters. Let me know what other info you need. I can put sample files somewhere for you if you want.
Title: foo_dsp_effect
Post by: mudlord on 2014-10-24 22:26:26
Going to look at that bugtracker problem.
edit: try now.
as for this problem, tried posting on the tracker now?
Title: foo_dsp_effect
Post by: mudlord on 2014-11-01 11:07:59
I managed myself to have lengths of tracks displayed with Playback Rate Shift applied  But it works ONLY when tracks have PRS altered via foo_dynamic_dsp using TRACKDSP tags formatted as for example 102 for +2% PRS change or for example 98 for -2% PRS change. Here it is:
Code: [Select]
%playback_time%[ / $if($meta_test(trackdsp),$div($div($mul(%length_seconds%,100),$meta(trackdsp)),60):$num($mod($div($mul(%length_seconds%,100),$meta(trackdsp)),60),2),%length%)]

which gives for example "7:57 / 8:12", where 7:57 is current playback position and 8:12 is total lenght of track altered by Playback Rate.

Dear mudlord, after inventing that single line of code I have a feature proposal for DSP Effect plugin: adding variables. Variables like %rateshift%, %temposhift%, %pitchshift% etc. I haven't analyzed if any other than %rateshift% would be useful - I got a scenario for this one. If I have %rateshift% variable with values like 100 (for normal playback), 97 (for PRS -3%), 107 (for PRS +7%), etc. I could perform similar division as with values taken from TRACKDSP tags  . Could you be so kind and develop at least %rateshift% ?



I was in the mood to fix some things in dsp_effect, and thought about this. But according to Case, it seems DSPs cannot broadcast titleformat syntax variables D:.

edit: here is the non deemph build, build fresh from SVN. pondering about rlsing 0.15....
Title: foo_dsp_effect
Post by: EpicForever on 2014-11-01 12:38:41
Well, OK, not your fault
Thanks for updates anyway
Title: foo_dsp_effect
Post by: Nisto on 2014-11-13 16:46:13
Having problem applying echo and reverb DSPs while playing back this track (it stutters): https://dl.dropboxusercontent.com/u/4845446...ass%20Pulse.wav (https://dl.dropboxusercontent.com/u/48454461/aud/Quiet%20Brass%20Pulse.wav)

A picture tells a thousand words, so I'll just post the waveform of it:

(http://i.imgur.com/QOzSzSn.png)
Title: foo_dsp_effect
Post by: mudlord on 2014-11-17 07:26:21
My poor eyesight must be failing me even more (might be due for cataract surgery), but I don't see the stutter.
I'll do some ABX tests to see if I hear anything.
Title: foo_dsp_effect
Post by: milavla on 2014-11-23 10:16:52
support Windows XP SP2 ? On my pc with this OS causes crash foobar, on other pc with Windows Vista functions normally.
Title: foo_dsp_effect
Post by: ben1960 on 2014-11-26 23:35:10
The HDCD reissue of King Crimson's Lizard has PE enabled. However, max gain never exceeds 0.00, and min gain never exceeds 0.00.

Is there anything to be gained from HDCD decoding this CD?
Title: foo_dsp_effect
Post by: HittingAl on 2015-02-16 11:21:10
Hey mudlord,

I really appreciate that you've made this DSP plugin for foobar. I personally find it really useful, but I find it annoying to go in to the settings every time I want to use the DSP. Is there a way to add it as an item in my interfaces? If not, it would be really cool if you could add that feature in an update some time soon.
Title: foo_dsp_effect
Post by: mjb2006 on 2015-02-16 22:15:58
I was wondering what changed in version 0.15. The component page (http://www.foobar2000.org/components/view/foo_dsp_effect) just says "Numerous changes, will note them down later."
Title: foo_dsp_effect
Post by: MondayMassacre on 2015-02-22 13:31:00
Hi there,

I've got a problem with the dsp_effects-component. Version 0.15

First, I wanted to run it on my old foobar 1.1.7 which said the component was built with a newer SDK, so I upgraded to 1.3.7, standalone-installation, third-party-components were moved to user-components-folder.
Second, I started foobar and wanted to run the DSP-component; I wanted to open the Equalizer (because that's what the plugin would hopefully do for me; a sub-bass amplification) and foobar crashed.
Third, I removed the component (deleted dll) and re-installed it again (Preferences > Components > Install), restarted foobar, opened the Equalizer, and foobar crashed
Fourth, I played around with the components in the configuration manager (like Echo, Phaser), and they all worked just fine by opening them in the view-menu. So then I removed them and added equalizer again, and foobar crashed.

Seems like the Equalizer is somehow messed up. Unfortunately, I couldn't find any old versions of the component so I couldn't test, if this is just a thing with the current version (0.15), with the combination of the most recent foobar and dsp_effects, or a general problem with the equalizer. The standard foobar-equalizer works just fine in any scenario.

Anyhow, I've failed to find an attach-file-button in this reply-form, so I couldn't attach the dump-file and the following codebox shows the error report.

Code: [Select]
Illegal operation:
Code: AA67913Ch, flags: 00000001h, address: 76FCC42Dh
Bug check

Call path not available.

Code bytes (76FCC42Dh):
76FCC3EDh:  C0 89 45 B8 C7 45 BC D5 C3 FC 76 39 45 14 74 23
76FCC3FDh:  8B 45 10 83 F8 0F 76 03 6A 0F 58 89 45 C0 C1 E0
76FCC40Dh:  02 50 FF 75 14 8D 45 C4 50 E8 57 AD 02 00 83 C4
76FCC41Dh:  0C EB 03 89 45 C0 8D 45 B0 50 FF 15 5C 11 FC 76
76FCC42Dh:  C9 C2 10 00 CC CC CC CC CC 8B FF 55 8B EC 56 8B
76FCC43Dh:  75 08 83 FE F4 72 18 83 FE F6 77 13 8D 45 08 50
76FCC44Dh:  6A 00 56 E8 DD 02 00 00 85 C0 74 03 8B 75 08 56
76FCC45Dh:  FF 15 34 10 FC 76 5E 85 C0 7C 05 33 C0 40 EB 08

Stack (0B4AFB70h):
0B4AFB50h:  00000000 FFFFFD34 000002E4 FFFFFD34
0B4AFB60h:  000002CC 00000019 00000000 0B4AFB70
0B4AFB70h:  AA67913C 00000001 00000000 76FCC42D
0B4AFB80h:  00000000 7DE334DD 00000000 00000000
0B4AFB90h:  008DD378 00000000 00000000 FFFDE000
0B4AFBA0h:  00000000 00000000 00000000 0B4AFB84
0B4AFBB0h:  00000000 FFFFFFFF 77A571F5 010971A9
0B4AFBC0h:  0B4AFBFC 714D27A7 AA67913C 00000001
0B4AFBD0h:  00000000 00000000 008DD378 0B4AFE18
0B4AFBE0h:  008DD378 0B4AFBD8 0B4AF744 0B4AFD64
0B4AFBF0h:  714E9188 714EFDE0 00000000 0B4AFD70
0B4AFC00h:  7143443C A896A178 008DD378 00010010
0B4AFC10h:  00010010 00000000 00000000 77A0E38C
0B4AFC20h:  7DE333BD 0B4AFE30 008201A4 00820000
0B4AFC30h:  00000000 00000000 009E0024 00000270
0B4AFC40h:  00000000 00000000 77A0E38C 7DE333C9
0B4AFC50h:  008DCF7C 008201A4 00820000 00000000
0B4AFC60h:  00827898 008E0023 00000270 00000000
0B4AFC70h:  00000000 008DDA00 00827588 009E0024
0B4AFC80h:  00000270 008279E8 00000000 00827898

Registers:
EAX: 0B4AFB70, EBX: 008DD378, ECX: 00E7D288, EDX: 00E47E94
ESI: 0B4AFE18, EDI: 008DD378, EBP: 0B4AFBC0, ESP: 0B4AFB70

Crash location:
Module: KERNELBASE
Offset: C42Dh
Symbol: "RaiseException" (+58h)

Loaded modules:
foobar2000                      loaded at 00D00000h - 00ECC000h
ntdll                            loaded at 779E0000h - 77B60000h
kernel32                        loaded at 770E0000h - 771F0000h
KERNELBASE                      loaded at 76FC0000h - 77007000h
COMCTL32                        loaded at 71500000h - 7169E000h
msvcrt                          loaded at 76D30000h - 76DDC000h
GDI32                            loaded at 75A80000h - 75B10000h
USER32                          loaded at 76DE0000h - 76EE0000h
ADVAPI32                        loaded at 75920000h - 759C0000h
sechost                          loaded at 75D30000h - 75D49000h
RPCRT4                          loaded at 75510000h - 75600000h
SspiCli                          loaded at 75370000h - 753D0000h
CRYPTBASE                        loaded at 75360000h - 7536C000h
LPK                              loaded at 75D70000h - 75D7A000h
USP10                            loaded at 753D0000h - 7546D000h
SHLWAPI                          loaded at 758C0000h - 75917000h
WINMM                            loaded at 71200000h - 71232000h
DSOUND                          loaded at 6EF50000h - 6EFC2000h
ole32                            loaded at 75610000h - 7576C000h
POWRPROF                        loaded at 72F30000h - 72F55000h
SETUPAPI                        loaded at 75D90000h - 75F2D000h
CFGMGR32                        loaded at 76EF0000h - 76F17000h
OLEAUT32                        loaded at 759F0000h - 75A7F000h
DEVOBJ                          loaded at 75D50000h - 75D62000h
UxTheme                          loaded at 716A0000h - 71720000h
SHELL32                          loaded at 75F50000h - 76B9A000h
zlib1                            loaded at 62E80000h - 62E9F000h
shared                          loaded at 714D0000h - 714FD000h
imagehlp                        loaded at 759C0000h - 759EB000h
dbghelp                          loaded at 712E0000h - 713CB000h
COMDLG32                        loaded at 77560000h - 775DB000h
CRYPT32                          loaded at 76BE0000h - 76D01000h
MSASN1                          loaded at 774F0000h - 774FC000h
Secur32                          loaded at 72370000h - 72378000h
gdiplus                          loaded at 70DD0000h - 70F60000h
WINHTTP                          loaded at 74E20000h - 74E78000h
webio                            loaded at 74DD0000h - 74E1F000h
IMM32                            loaded at 77500000h - 77560000h
MSCTF                            loaded at 77010000h - 770DC000h
nvinit                          loaded at 74D30000h - 74D59000h
foo_albumlist                    loaded at 71470000h - 714CA000h
foo_dsp_eq                      loaded at 71430000h - 71466000h
foo_dsp_effect                  loaded at 10000000h - 10045000h
foo_freedb2                      loaded at 71290000h - 712DF000h
foo_converter                    loaded at 70D40000h - 70DC7000h
foo_plorg                        loaded at 71400000h - 7142A000h
MSVCP100                        loaded at 70CD0000h - 70D39000h
MSVCR100                        loaded at 70C10000h - 70CCF000h
foo_dsp_std                      loaded at 71250000h - 71286000h
foo_bpm                          loaded at 70BC0000h - 70C0E000h
libfftw                          loaded at 6EC30000h - 6EDB6000h
foo_fileops                      loaded at 70B70000h - 70BBD000h
foo_httpcontrol                  loaded at 70AF0000h - 70B64000h
WS2_32                          loaded at 76BA0000h - 76BD5000h
NSI                              loaded at 75D80000h - 75D86000h
WSOCK32                          loaded at 75190000h - 75197000h
MPR                              loaded at 711E0000h - 711F2000h
foo_ui_columns                  loaded at 055B0000h - 05740000h
urlmon                          loaded at 75770000h - 758BA000h
api-ms-win-downlevel-ole32-l1-1  loaded at 75F30000h - 75F34000h
api-ms-win-downlevel-shlwapi-l1  loaded at 75500000h - 75504000h
api-ms-win-downlevel-advapi32-l  loaded at 77480000h - 77485000h
api-ms-win-downlevel-user32-l1-  loaded at 76F20000h - 76F24000h
api-ms-win-downlevel-version-l1  loaded at 75D20000h - 75D24000h
version                          loaded at 75180000h - 75189000h
api-ms-win-downlevel-normaliz-l  loaded at 779B0000h - 779B3000h
normaliz                        loaded at 75F40000h - 75F43000h
iertutil                        loaded at 77240000h - 77472000h
WININET                          loaded at 75B40000h - 75D15000h
USERENV                          loaded at 76D10000h - 76D27000h
profapi                          loaded at 76EE0000h - 76EEB000h
foo_input_std                    loaded at 6EDF0000h - 6EF4B000h
MSACM32                          loaded at 70600000h - 70614000h
avcodec-fb2k-56                  loaded at 67300000h - 674D4000h
avutil-fb2k-54                  loaded at 6EBC0000h - 6EC2C000h
foo_pqview                      loaded at 00550000h - 0057D000h
foo_ui_std                      loaded at 671F0000h - 672FD000h
MSIMG32                          loaded at 73170000h - 73175000h
foo_playcount                    loaded at 708B0000h - 708EE000h
foo_unpack                      loaded at 6EB70000h - 6EBBB000h
foo_cdda                        loaded at 6EB20000h - 6EB70000h
foo_rgscan                      loaded at 6D370000h - 6D3CE000h
foo_audioscrobbler              loaded at 009D0000h - 00A03000h
CLBCatQ                          loaded at 75470000h - 754F3000h
MMDevApi                        loaded at 70850000h - 70889000h
PROPSYS                          loaded at 70750000h - 70845000h
AUDIOSES                        loaded at 70710000h - 70746000h
WindowsCodecs                    loaded at 6E440000h - 6E570000h
mswsock                          loaded at 72230000h - 7226C000h
wshtcpip                        loaded at 721C0000h - 721C5000h
mlang                            loaded at 705B0000h - 705DE000h
avrt                            loaded at 6DA20000h - 6DA27000h
IPHLPAPI                        loaded at 74EF0000h - 74F0C000h
WINNSI                          loaded at 74EE0000h - 74EE7000h
dhcpcsvc                        loaded at 71FA0000h - 71FB2000h
dhcpcsvc6                        loaded at 71F90000h - 71F9D000h
credssp                          loaded at 71EF0000h - 71EF8000h
wship6                          loaded at 721B0000h - 721B6000h
DNSAPI                          loaded at 74D80000h - 74DC4000h
rasadhlp                        loaded at 721D0000h - 721D6000h
fwpuclnt                        loaded at 721E0000h - 72218000h

Stack dump analysis:
Address: 76FCC42Dh (KERNELBASE+C42Dh), symbol: "RaiseException" (+58h)
Address: 77A571F5h (ntdll+771F5h), symbol: "WinSqmSetIfMaxDWORD" (+31h)
Address: 714D27A7h (shared+27A7h), symbol: "uBugCheck" (+20h)
Address: 714E9188h (shared+19188h), symbol: "CreateFileAbortable" (+E6FBh)
Address: 714EFDE0h (shared+1FDE0h), symbol: "CreateFileAbortable" (+15353h)
Address: 7143443Ch (foo_dsp_eq+443Ch)
Address: 77A0E38Ch (ntdll+2E38Ch), symbol: "RtlInitUnicodeString" (+164h)
Address: 009E0024h (foo_audioscrobbler+10024h), symbol: "foobar2000_get_interface" (+3254h)
Address: 77A0E38Ch (ntdll+2E38Ch), symbol: "RtlInitUnicodeString" (+164h)
Address: 009E0024h (foo_audioscrobbler+10024h), symbol: "foobar2000_get_interface" (+3254h)
Address: 77A571F5h (ntdll+771F5h), symbol: "WinSqmSetIfMaxDWORD" (+31h)
Address: 77A571F5h (ntdll+771F5h), symbol: "WinSqmSetIfMaxDWORD" (+31h)
Address: 77A0E38Ch (ntdll+2E38Ch), symbol: "RtlInitUnicodeString" (+164h)
Address: 77A0E0F2h (ntdll+2E0F2h), symbol: "RtlAllocateHeap" (+ACh)
Address: 100031F5h (foo_dsp_effect+31F5h)
Address: 71435125h (foo_dsp_eq+5125h)
Address: 00D25C89h (foobar2000+25C89h)
Address: 10010194h (foo_dsp_effect+10194h), symbol: "foobar2000_get_interface" (+534h)
Address: 100101B0h (foo_dsp_effect+101B0h), symbol: "foobar2000_get_interface" (+550h)
Address: 1002396Ch (foo_dsp_effect+2396Ch), symbol: "foobar2000_get_interface" (+13D0Ch)
Address: 10010062h (foo_dsp_effect+10062h), symbol: "foobar2000_get_interface" (+402h)
Address: 1001009Fh (foo_dsp_effect+1009Fh), symbol: "foobar2000_get_interface" (+43Fh)
Address: 7145231Dh (foo_dsp_eq+2231Dh), symbol: "foobar2000_get_interface" (+12B7Dh)
Address: 714352C3h (foo_dsp_eq+52C3h)
Address: 7145E6F8h (foo_dsp_eq+2E6F8h), symbol: "foobar2000_get_interface" (+1EF58h)
Address: 1000FFA5h (foo_dsp_effect+FFA5h), symbol: "foobar2000_get_interface" (+345h)
Address: 779F010Ah (ntdll+1010Ah), symbol: "KiUserCallbackDispatcher" (+2Eh)
Address: 7145E6F8h (foo_dsp_eq+2E6F8h), symbol: "foobar2000_get_interface" (+1EF58h)
Address: 7145E6F8h (foo_dsp_eq+2E6F8h), symbol: "foobar2000_get_interface" (+1EF58h)
Address: 10023936h (foo_dsp_effect+23936h), symbol: "foobar2000_get_interface" (+13CD6h)
Address: 1000A103h (foo_dsp_effect+A103h)
Address: 10023393h (foo_dsp_effect+23393h), symbol: "foobar2000_get_interface" (+13733h)
Address: 1000A2CBh (foo_dsp_effect+A2CBh)
Address: 1002AA0Ch (foo_dsp_effect+2AA0Ch), symbol: "foobar2000_get_interface" (+1ADACh)
Address: 1002A090h (foo_dsp_effect+2A090h), symbol: "foobar2000_get_interface" (+1A430h)
Address: 1002342Bh (foo_dsp_effect+2342Bh), symbol: "foobar2000_get_interface" (+137CBh)
Address: 770F338Ah (kernel32+1338Ah), symbol: "BaseThreadInitThunk" (+12h)
Address: 77A19F72h (ntdll+39F72h), symbol: "RtlInitializeExceptionChain" (+63h)
Address: 77A571F5h (ntdll+771F5h), symbol: "WinSqmSetIfMaxDWORD" (+31h)
Address: 77A19F45h (ntdll+39F45h), symbol: "RtlInitializeExceptionChain" (+36h)
Address: 1000A2B3h (foo_dsp_effect+A2B3h)
Address: 1000A2B3h (foo_dsp_effect+A2B3h)

Environment:
App: foobar2000 v1.3.7
UI: Default User Interface 0.9.5

Components:
Core (2015-01-14 10:28:10 UTC)
    foobar2000 core 1.3.7
foo_albumlist.dll (2015-01-14 10:22:14 UTC)
    Album List 4.5
foo_audioscrobbler.dll (2010-06-04 08:27:04 UTC)
    Audioscrobbler 1.4.7
foo_bpm.dll (2010-04-20 12:35:07 UTC)
    BPM Analyser 0.2.4.1
foo_cdda.dll (2015-01-14 10:20:12 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2015-01-14 10:20:42 UTC)
    Converter 1.5
foo_dsp_effect.dll (2015-02-22 13:08:25 UTC)
    Effect DSP 0.15
foo_dsp_eq.dll (2015-01-14 10:22:30 UTC)
    Equalizer 1.0
foo_dsp_std.dll (2015-01-14 10:21:54 UTC)
    Standard DSP Array 1.3.1
foo_fileops.dll (2015-01-14 10:21:20 UTC)
    File Operations 2.2.1
foo_freedb2.dll (2015-01-14 10:21:36 UTC)
    Online Tagger 0.7
foo_httpcontrol.dll (2013-04-26 16:12:30 UTC)
    HTTP Control 0.97.14-fb2kc
foo_input_std.dll (2015-01-14 10:28:10 UTC)
    Standard Input Array 1.0
foo_playcount.dll (2013-02-01 08:40:46 UTC)
    Playback Statistics 3.0.2
foo_plorg.dll (2011-05-05 17:03:00 UTC)
    Playlist Organizer 2.4
foo_pqview.dll (2008-03-11 18:02:54 UTC)
    Playback Queue Viewer 0.2
foo_rgscan.dll (2015-01-14 10:26:12 UTC)
    ReplayGain Scanner 2.2.1
foo_ui_columns.dll (2011-02-27 20:22:58 UTC)
    Columns UI 0.3.8.8
foo_ui_std.dll (2015-01-14 10:28:10 UTC)
    Default User Interface 0.9.5
foo_unpack.dll (2015-01-14 10:21:00 UTC)
    ZIP/GZIP/RAR Reader 1.7.1

Recent events:
Loading DLL: D:\foobar2000\components\foo_converter.dll
Loading DLL: D:\foobar2000\user-components\foo_plorg\foo_plorg.dll
Loading DLL: D:\foobar2000\components\foo_dsp_std.dll
Loading DLL: D:\foobar2000\user-components\foo_bpm\foo_bpm.dll
Loading DLL: D:\foobar2000\components\foo_fileops.dll
Loading DLL: D:\foobar2000\user-components\foo_httpcontrol\foo_httpcontrol.dll
Loading DLL: D:\foobar2000\user-components\foo_ui_columns\foo_ui_columns.dll
Loading DLL: D:\foobar2000\components\foo_input_std.dll
Loading DLL: D:\foobar2000\user-components\foo_pqview\foo_pqview.dll
Loading DLL: D:\foobar2000\components\foo_ui_std.dll
Loading DLL: D:\foobar2000\user-components\foo_playcount\foo_playcount.dll
Loading DLL: D:\foobar2000\components\foo_unpack.dll
Loading DLL: D:\foobar2000\components\foo_cdda.dll
Loading DLL: D:\foobar2000\components\foo_rgscan.dll
Loading DLL: D:\foobar2000\user-components\foo_audioscrobbler\foo_audioscrobbler.dll
Components loaded in: 0:00.457520
Pre config read
Configuration read in: 0:00.005992
Starting playlist loading
Watching: J:\sound
Album List refreshed in: 0:03.409264
User Interface initialized in: 0:03.526612
Processing commandline
initquit::init entry
initquit::init exit
Startup time : 0:04.886293
Location not parsable: "J:\sound\musica doris\santana(feat kirk hammett-metallica and robert randolph).wma", reason: IWMSyncReader::OpenStream failed : Playback of DRM-protected files is not supported (0xC00D0BBD)
Opening track for playback: "J:\sound\collection\cv313\2014 - Dimensional Space [FLAC release]\13 - subtraktive [intrusion twilight dub].flac"
Audioscrobbler: Handshake successful.
Opening track for playback: "J:\sound\collection\cv313\2014 - Dimensional Space [FLAC release]\13 - subtraktive [intrusion twilight dub].flac"


Machine specifications:
OS: Windows 6.1.7601 Service Pack 1 x64
CPU: Intel® Core™ i5 CPU      M 520  @ 2.40GHz, features: MMX SSE SSE2 SSE3 SSE4.1 SSE4.2
CPU threads: 4
Audio: Lautsprecher (High Definition Audio-Gerät); Digitalaudio (S/PDIF) (High Definition Audio-Gerät)

Thanks for taking a look at it.
Title: foo_dsp_effect
Post by: Wizard on 2015-04-02 19:24:01
Hi!
I have an old laptop with Windows 2000 and I installed foobar2000 v0.9.4.5, the last one to work for this OS. Is there an old version of foo_dsp_effect available somewhere for foobar2000 v0.9.4.5 ?
Title: foo_dsp_effect
Post by: mudlord on 2015-04-03 02:27:47
MondayMassacre, did you have the pitch shift DSP enabled?
Title: foo_dsp_effect
Post by: EpicForever on 2015-04-03 16:38:02
Hey mudlord,

I really appreciate that you've made this DSP plugin for foobar. I personally find it really useful, but I find it annoying to go in to the settings every time I want to use the DSP. Is there a way to add it as an item in my interfaces? If not, it would be really cool if you could add that feature in an update some time soon.


That would be really cool !!
Title: foo_dsp_effect
Post by: mudlord on 2015-04-03 21:15:25
View / DSP / lists all the active DSPs as well as a link to the DSP manager.
Title: foo_dsp_effect
Post by: milavla on 2015-04-04 14:03:43
I am now tested new release 0.16 and it still causes crash Foobar on Windows XP SP2.
mudlord please can you make only separate cd ed-emphasis filter ?
Title: foo_dsp_effect
Post by: Rollin on 2015-04-04 15:36:01
separate cd ed-emphasis filter ?

http://www.hydrogenaud.io/forums/index.php?showtopic=99394 (http://www.hydrogenaud.io/forums/index.php?showtopic=99394)
Title: foo_dsp_effect
Post by: milavla on 2015-04-05 12:12:29
Rollin thanks!
Title: foo_dsp_effect
Post by: n99 on 2015-04-07 00:42:29
Also noticed the EQ crash. Enabling the equalizer (clicking on it from the submenu) leads to a crash.

Also, you should add reset buttons to the various effects.
Title: foo_dsp_effect
Post by: EpicForever on 2015-04-07 18:03:36
Hi mudlord,
Could you by default provide links to 2 versions of your component each time you update it? I think about synchronous publishing of both standard and -nodeemph version.

By the way:
View / DSP / lists all the active DSPs as well as a link to the DSP manager.
it is not the neat way for real time and easy controlling of tempo of listened track. Opening config, double licking elements... Permanent slider in DUI will be the best as I mentioned before. also +1 for:

Quote
Also, you should add reset buttons to the various effects.
Title: foo_dsp_effect
Post by: MondayMassacre on 2015-04-08 16:57:42
MondayMassacre, did you have the pitch shift DSP enabled?

Nope, I haven't. Doesn't matter if I do though. Crashes anyways.
But the equalizer only crashes foobar, if I call it via the View > DSP > Equalizer menu. If I open the DSP configuration manager, I can select the Equalizer and hit the "configure selected" button without any harm. Also, opening directly via View > Equalizer works. (Is this the same equalizer?)

Meanwhile, I discovered that the equalizer only allows modification down to 55Hz... it would be really nice to be able to change the amplification of the frequencies down to 0 Hz. 20 would already be nice since most speaker play frequencies down to 20 Hz. On the other side an upgrade to 25kHz would be nice too. Otherwise it's just the same as the built-in eq.
Title: foo_dsp_effect
Post by: EpicForever on 2015-04-09 15:59:22
20 would already be nice since most speaker play frequencies down to 20 Hz. On the other side an upgrade to 25kHz would be nice too. Otherwise it's just the same as the built-in eq.

Yeah - 20Hz with -30dB level  most speakers  hahaha  Even serious subwoofers have some trouble with frequencies below 30-40Hz and you say "most speakers play down to 20 Hz"
Sorry, I couldn't resist despite obvious offtopic 
Title: foo_dsp_effect
Post by: mudlord on 2015-04-10 07:14:30
Also noticed the EQ crash. Enabling the equalizer (clicking on it from the submenu) leads to a crash.

Also, you should add reset buttons to the various effects.

which eq are using?
Title: foo_dsp_effect
Post by: MondayMassacre on 2015-04-10 18:42:46
20 would already be nice since most speaker play frequencies down to 20 Hz. On the other side an upgrade to 25kHz would be nice too. Otherwise it's just the same as the built-in eq.

Yeah - 20Hz with -30dB level  most speakers  hahaha  Even serious subwoofers have some trouble with frequencies below 30-40Hz and you say "most speakers play down to 20 Hz"
Sorry, I couldn't resist despite obvious offtopic 

Just chasin' the bass. 
Title: foo_dsp_effect
Post by: mudlord on 2015-04-15 03:20:14
MondayMassacre, did you have the pitch shift DSP enabled?

Nope, I haven't. Doesn't matter if I do though. Crashes anyways.
But the equalizer only crashes foobar, if I call it via the View > DSP > Equalizer menu. If I open the DSP configuration manager, I can select the Equalizer and hit the "configure selected" button without any harm. Also, opening directly via View > Equalizer works. (Is this the same equalizer?)

Meanwhile, I discovered that the equalizer only allows modification down to 55Hz... it would be really nice to be able to change the amplification of the frequencies down to 0 Hz. 20 would already be nice since most speaker play frequencies down to 20 Hz. On the other side an upgrade to 25kHz would be nice too. Otherwise it's just the same as the built-in eq.


I worked out the problem. The FB2K EQ is using a FB2K core function to ensure that the main thread is active. Because the configuration for DSPs in the View > DSP menu works via a thread, it conflicts and causes crashes. xnor's EQ does not have this problem and is superior to the default EQ, too.

Ideally I should rewrite things so that each of my DSPs has its own menu command like DEATH's eq, and not enumerate others, since the current method is quite a hack.
Title: foo_dsp_effect
Post by: EpicForever on 2015-06-16 17:21:52
Hi,
Any chance for 0.16 in -nodeemph version?
Title: foo_dsp_effect
Post by: mudlord on 2015-06-24 04:49:36
See first post.
Title: foo_dsp_effect
Post by: EpicForever on 2015-06-25 16:27:33
Thank you kindly mudlord
Title: Re: foo_dsp_effect
Post by: Starbucks on 2016-01-14 13:53:50
I have a quick question:
Currently all the effects start when I activate their respective DSPs.
Right now I have to add the effects I want from the DSP manager each time I load up manually, otherwise they all play (which I don't want them to do).

Any way to set them all to '0' so to speak, until I need them?

Title: Re: foo_dsp_effect
Post by: mudlord on 2016-05-06 10:38:19
You mean like the native FB2K EQ?
Title: Re: foo_dsp_effect
Post by: gitteverfuehrt on 2016-05-07 15:07:21
Hey mudlord,

at first I want to thank you for the good work - I couldn't live without SoundTouch anymore. As a DJ it is so practicaly to be able to adjust the rate (pitching) during sorting new tracks!!!

When doing this I wish that I could choose a mastertempo in Soundtouch. For example  the BPM-Analyser-Plugin writes the tempo in the <bpm>tag. If SoundTouch would read it from every new track it would be a very simple calculation to get the right percent of rate adjust to reach the mastertempo.

Dear mudlord, I think there would be many very thankful people out there if you could realise this "mastertempo-function" in SoundTouch  8)  O:)  Lovers of electronic music would be able to listen through their playlists totally relaxed with the preferred tempo...

What do you think about it? I hope that the needed interaction between SoundTouch and Foobar to give the new <bpm>tag to Soundtouch will not be complicated...

Cheers and the best greetings from Berlin,
gitteverfuehrt
Title: Re: foo_dsp_effect
Post by: mudlord on 2016-05-08 04:29:46
I take it you mean tempo adjust for what you intend.
It might not be practical though in some cases because SoundTouch has some latency if you want to do this entirely in realtime. IIRC when changing tempo/pitch, there is a slight glitch when samples are fed to FB2K, which might make it sound janky when changing in the pitch/tempo shift GUIs.. which would sound horrible if DJing. Could be a buffering problem though with my end.
Title: Re: foo_dsp_effect
Post by: gitteverfuehrt on 2016-05-11 15:17:15
I use rate adjust like a turntable.

If I play in publicity I use Native Instruments Traktor. Foobar2000 I use to listen new music and tracks to sort and enjoy etc
I know the problem with the glitches. In the moment I switch the rate manually which sounds much more terrible than one single glitch and I have to calculate the rate for each track...
Title: Re: foo_dsp_effect
Post by: mudlord on 2016-07-10 08:11:26
Was bored.
(http://i.imgur.com/CR4u3Zu.png)

Finally started to work on this, Just need to make sure the rest of them are DPI aware.
Title: Re: foo_dsp_effect
Post by: deus-ex on 2016-10-11 19:08:14
Hi mudlord,

the downloadlink on the components page (https://www.foobar2000.org/components/view/foo_dsp_effect) for the latest release v0.17.2 does not work, instead it refers to the foobar2000 download page. Can you please check and fix? Thank you.
Title: Re: foo_dsp_effect
Post by: kode54 on 2016-10-11 19:14:50
That's supposed to be v0.17.1, and foo_dsp_effect.fb2k-component. I handled the upload, so I must have screwed up. It should be fixed now.
Title: Re: foo_dsp_effect
Post by: mudlord on 2016-10-11 23:31:54
Main changes are done so I don't get done as crashware and make it stable again. The previous thingy of using threads to simulate non modal DSP GUIs is a horrible hack and caused around 3,000 reported crashes. Making them modal by not using threads is a proper fix. Until they are rewritten as UI elements that is.
Title: Re: foo_dsp_effect
Post by: kurti on 2016-12-05 20:00:49
This is truly an awesome plugin, many many thanks!

Is there any way to access the parameter with a keyboard shortcut? Specifically the tempo parameter: it would be very useful to increase the speed with "+" and decrease with "-".

I can see that there are 32 parameter named "DSP #1 config" etc, but it doesn't say what they mean.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-02-27 04:33:45
I have been working on and off on this.
One of them is to help fit what you are after: easy keyboard controls of opening windows to access components.

https://www.youtube.com/watch?v=LTjWT0ZhS00

The keyboard functionality comes as a rewrite of how things are done now, to be in a future WIP.

My roadmap for future versions is to migrate all DSPs to this approach, rewrite the buffering in the pitch/tempo shift DSPs. Maybe I can look at feature requests too, though I now have a parttime job.
Title: Re: foo_dsp_effect
Post by: Jojo on 2017-02-28 00:59:59
This is my favorite plugin.
I liked the dual window mode prior to version 0.17, where it was possible to keep the plugin's window open and still be able to control foobar.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-03-01 06:26:50
That previous method was a hack. The one I am working on isn't. It doesn't resort to stupid thread hacks or anything. It uses perfectly valid FB2K services and APIs.
Title: Re: foo_dsp_effect
Post by: laddie on 2017-03-03 00:20:36
That previous method was a hack. The one I am working on isn't. It doesn't resort to stupid thread hacks or anything. It uses perfectly valid FB2K services and APIs.
Hey @mudlord, I sent you a PM - take a look when you get a chance if you can. :)
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-03-04 02:05:28
*nvm, request seems doable, just need to be motivated enough to add the request people added for ages to read BPM tags which is something personally I don't ever use.*
Title: Re: foo_dsp_effect
Post by: laddie on 2017-03-05 19:30:11
*nvm, request seems doable, just need to be motivated enough to add the request people added for ages to read BPM tags which is something personally I don't ever use.*
As I said in my PM, I'd be happy to compensate you for your time...
Title: Re: foo_dsp_effect
Post by: kode54 on 2017-03-06 04:48:58
And he said he cannot accept money from anyone. If you want to know why, you should ask him personally. I'd rather not overshare.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-03-06 06:58:56
My current todo list is:
https://github.com/mudlord/foobar2000/issues/1

Once thats done I can accept more feature requests.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-03-17 21:16:07
Did a blog of what I did so far:
http://mudlord.info/blog/2017/03/17/roadmap-for-foo_dsp_effect/

All thats left is to fix up the Rubberband library usage implementation, for samplerates above 48k.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-03-19 04:29:50
finally finished the work, needs to be uploaded.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-03-19 10:05:06
Farmed off the deemphasis code to a seperate component, see first topic page. Waiting on someone to upload 0.20 of the effect array.
Title: Re: foo_dsp_effect
Post by: 西门浪子哥 on 2017-03-21 07:39:34
0.20.1, released on 2017-03-20
This version can not be used in XP! Can not move from the right side of the DSP manager to the left!
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-03-21 12:03:13
It also managed to crash on Windows 10. 
A fix should be uploaded ASAP.
Title: Re: foo_dsp_effect
Post by: j7n on 2017-03-21 19:30:04
The new de-emphasis component works great (on XP): can be inserted and removed almost seamlessly, without going through resonant highpass. Thank you.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-03-31 09:29:52
fixed a dynamic compressor gui bug when porting to the new free form keybindable windows.
Title: Re: foo_dsp_effect
Post by: blindspot on 2017-04-07 18:51:11
 :-[
am i the only dinosaur here?
Title: Re: foo_dsp_effect
Post by: Porcus on 2017-04-09 21:06:57
A couple of questions:

* How does this relate to foo_deemph?  Have the two of you agreed that you take over that job?

And possibly more significant:

fixed a dynamic compressor gui bug when porting to the new free form keybindable windows.

* You posted this the 31st, while the component is updated the 21st. Is everything included in the 2017-03-21 release, or might I just wait a few more days?
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-04-10 10:56:55
everything should be in release on the upload, i might have got the date wrong on the upload.

the component for deemph should be named foo_dsp_deemph. so it shouldnt conflict.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2017-05-18 10:05:06
Hi,
Some time ago I asked for Playback Rate Shift to perform simple pass-through (with no processing) when value is set to "0%". I can't find now any change log that would tell me in which version it was introduced AND more importantly - if this is done only in PRS effect or also in Tempo Shift and Pitch Shift. Could you please tell me if all these 3 effects use passing through for 0%/0 semitones etc. setting?
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-05-18 11:01:05
the most recent versions should have it, cant remember when i first added it. all 3 effects you mentioned should have it.

https://github.com/mudlord/foo_dsp_effect/blob/master/dsp_soundtouch.cpp
Title: Re: foo_dsp_effect
Post by: EpicForever on 2017-05-18 23:11:31
OK, great, thanks!
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-05-19 00:01:26
It shouldn't be too much trouble to add it for the other DSPs. In fact it should be easier as the other ones just modify samples in place and do not change sample pipeline length. I am just wondering if it would be worth the effort.
Title: Question about Tempo Shift changes
Post by: El Bastardo on 2017-05-22 09:49:10
Hello there and thank you for continuing to support this great "tool set" for my favorite audio player.


I have one negative point (at least for me): Why can the new Tempo Shift only be cranked up to 75% and not 100% anymore?

Call me crazy but I am now used to listen to podcasts at 100% the speed (two times). Besides all the improvements on other effects that one thing is a KO criteria for me and so I have gone back to 0.16 for now.

Are there plans to put the "double playback speed" (without mickey mouse voice) feature back in?
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-05-23 08:32:50
Willing to try 90%?

It seems the rubberband library has a bug when doing a 100% increase in tempo, but not 90%. Weirdly, slowing down by 100% is fine.
Title: Re: foo_dsp_effect
Post by: MJmusicguy on 2017-05-23 22:17:54
so if i already use effect dsp for cd pre-emphasis do i need the seprate component or not ?
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-05-24 01:55:28
use the seperate component.
Title: Re: foo_dsp_effect
Post by: El Bastardo on 2017-05-24 15:52:18
Willing to try 90%?

I guess. Better than 75% ^_-

But jokes aside now I know that it is a technical limitation and not just an internal change in settings/variables.


I guess offering the old algorithm next to the two new ones as a third option isn't possible anymore?

If so I don't see a reason not to offer the maximum possible in your next update, so 90%.


If the library you are using gets updated in the future you can keep that in mind, maybe we can even go to 200% then... not that I would use that but could be funny :p
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-05-26 06:20:03
Next version should have -95% - 95% for tempo.

I want to add effects from DirectX like chorus, its implementation of reverb, and its gargle effect. (assuming I know enough of DirectX COM to do DMOs in threads) Vibrato and tremelo would be nice too. I suppose I can put out a interim build in the meantime to fix the tempo situation you had.
Title: Re: foo_dsp_effect
Post by: El Bastardo on 2017-05-29 13:08:00
I swapped my dll file  with the new 0.20.5 and this is pretty good. No noticeable difference.

You can imagine that I am using that feature primarily to save time so I can listen to more podcasts but the three minutes per hour I am not saving now are acceptable as long as it sounds good ^_^


Just joking this is an awesome plugin. The other features too I am using for listening to music (with normal speed!).
Title: Re: foo_dsp_effect
Post by: fireattack on 2017-06-30 11:58:22
Hi mudlord, the RIAA CD deemphasis filter DSP from foo_dsp_deemph.dll seems *always apply to the music*, even when "pre_emphasis" tag is not present? Assuming I didn't misunderstand anything about its usage (quote: Usage: create tag PRE_EMPHASIS or PRE-EMPHASIS with value "1", "on" or "yes").

I didn't use foo_dsp_effect, only foo_dsp_deemph.dll, if it matters.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-07-02 03:41:37
Correct. The DSPs listed in the DSP manager are only if you want to use it manually.

Code: [Select]

class deemph_postprocessor_entry : public decode_postprocessor_entry
{
public:
virtual bool instantiate(const file_info & info, decode_postprocessor_instance::ptr & out)
{
int sr = (int)info.info_get_int("samplerate");
if (sr != 44100 && sr != 48000 && sr != 88200 && sr != 96000 && sr != 176400 && sr != 192000) return false;


const char* enabled = info.meta_get("pre_emphasis", 0);
if (enabled == NULL) enabled = info.meta_get("pre-emphasis", 0);
if (enabled == NULL) return false;

if (pfc::stricmp_ascii(enabled, "1") == 0 || pfc::stricmp_ascii(enabled, "on") == 0 || pfc::stricmp_ascii(enabled, "yes") == 0)
{
console::print("Pre-emphasis detected and enabled in track. Running filter");
out = new service_impl_t < deemph_postprocessor_instance1 >;
return true;
}
return false;
}
};
Title: Re: foo_dsp_effect
Post by: kode54 on 2017-07-02 23:54:52
And by design, lossy inputs are not coded to employ decode post processing. So it's not your fault that it's not working with lossy formats.
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-07-03 05:06:47
I suppose I could somehow parse tags for the current song for the RIAA deemph DSP effect?
Title: Re: foo_dsp_effect
Post by: 2sevens on 2017-07-11 17:03:28
I've relatively new to Foobar and just got round to attempting to install this.  It looks amazing, but I've not been able to make it work so far . . .

I've hit the same problems in the following use-cases:
-Portable Mode enabled, BPM Analyser, IPod Manager and Columns UI loaded
-Standard Mode enabled, no optional components loaded

The machine runs on WinXP (I know, don't ask), with user accounts set up.

Foobar was installed by user in Portable Mode and by Administrator in Standard Mode.

The problems are as follows:

Effect DSP loads but crashes silently on selection many of the menu options (same behaviours in both Foobar V1.3.15 & 1.3.16)
Dynamics Compressor terminates silently - no error message
Echo - config dialogue loads ok
IIR Filter - config dialogue loads ok
Phaser - terminates silently - no error message
Pitch/Tempo/Playback Rate - terminates silently - no error message
Reverb - terminates silently - no error message
Wah Wah - terminates silently - no error message

The crash files are attached.

Am I doing something wrong?  (I guess that's leaving me open for jests about Win XP, but there you go).

Thanks in advance for any help or suggestions, and thanks once again Mudlord for an excellent tool.
Title: Re: foo_dsp_effect
Post by: Rollin on 2017-07-11 17:34:47
2sevens, your CPU doesn't support SSE2. This is reason of problem. Last version of foo_dsp_effect which can work without SSE2 was 0.12
Title: Re: foo_dsp_effect
Post by: 2sevens on 2017-07-11 20:13:07
Ah ok. Though it might be something like that.  What a shame, it looks like a real cool tool.

Thanks so much for taking the effort to reply, much appreciated :)
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-07-11 22:46:20
I truly wonder how old is your PC if it doesn't have SSE2....

Nonetheless I'll check in a VM if it works on XP.

edit. works in XP.

(http://i.imgur.com/krKwOVF.png)
Title: Re: foo_dsp_effect
Post by: 2sevens on 2017-07-17 10:56:46
I truly wonder how old is your PC if it doesn't have SSE2....


Mudlord,

thank you so much for all your kind work on my behalf, it is indeed appreciated.

Regarding my 'music box': well, compared to me, it isn't old, it is a mere infant hehe.

But more seriously, yes, I'm embarrased to admit it is rather ancient compared to today's hardware (but then so is the music that I play lol). 

I get quite evangelical about it, I worry that we throw away far too much stuff that isn't broke.  And accordingly, my place is a bit like a refuge for lost, elderly, unwanted and broken electronic stuff (I think if I'm honest I mean 'hazardous e-waste dump) and - yes - sometimes it is a struggle to keep it operational as the technology progresses. I'm not opposed to technological advance (I used to work in the space industry) but I don't think that built-in or technical obsolescence is very good for us or our successors.

Yes, I guess that makes me a bit of a hoarder really lol.  But if I can repurpose an old box into something like a linux router, firewall, dbserver or file server, or like in this case an XP music centre, well then that's cool (to me anyway).  It all started back in the 1990s when I repurposed a (Dell?) 286 to make a 'Freesco' router so I could share my dial-up connection across some macs and PCs. It booted from a 3 1/2" floppy, and I'd be surprised if it had  1/2 mb of RAM! When that burnt itself out it got replaced by a genuine IBM-PC - a complete antique even back then but really great build quality.  Then I was hooked - I think they call it 'life-hacking' these days?

If I could recompile your plugin from source without SSE2 for the old XP box then I would, but my knowlege and skills don't go that far and even then, fraid I don't have the compilers, SDK tools etc. to do it.

I like to think of myself as a bit of an upcycler of electronica.  Although actually, in my kitchenette, I still use daily a japanese ghetto-blaster I bought new in 1979 but it still works fine, no need for upcycling or repurposing.  When I'm not listening to the radio, I just run my ipod through it :)

Anyway, thanks again for taking the time to look at this for me, and thanks also for developing DSP_tools and contributing it to the community: immense respect for the efforts of you and all the other foobar and pluging developers.  It looks like a very cool thing and who knows, one day I may have a box new enough to find out for myself :)
Title: Re: foo_dsp_effect
Post by: mudlord on 2017-07-17 22:29:13
I don't see a problem with that at all.
Try the attached build. I set it so only SSE1 instructions are used, hopefully.

As for your comments, the pitch shifters should be the only thing intensive enough to need such vector CPU extensions. Rest should be fine without. And yeah, I do understand your point now.
Title: Re: foo_dsp_effect
Post by: lukesau on 2017-08-03 02:12:24
Is it possible to set a high pass filter with a slope?
Title: Re: foo_dsp_effect
Post by: Florin Andrei on 2017-08-03 04:20:51
I need a bit of help setting this up.

I've a pair of phones that are fairly linear down to about 80 Hz. From there their response diminishes gradually, and it's around -5 dB at 20 Hz.

Is there a filter in this plugin that could compensate for this loss? Basically I want a frequency response that's linear down to 80 Hz, then increases gradually to +5 dB at 20 Hz. Which filter should I use and how to set it up for this type of response?
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-02-28 09:57:12
Not sure if people noticed, but I did a major update. It requires the latest FB2K alpha tho.

One of the most major changes was to do what people asked for *years*: added support for UI elements.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-02-28 10:11:37
Wow! Can't wait to leave hospital to test it :-)
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-02-28 10:15:30
The elements are fixed size, if that's a problem. Don't know if its worth the effort making them scalable like the official eq element is.

But for me, works well enough. Ended up completely rewriting the pitch/tempo stuff too to not be hacky, and the reverb is finally fixed to now properly scale coefficients to the sample rate. (which was a design flaw in Freeverb itself)

To me, foo_dsp_effect is pretty much complete. I am working on another DSP component array, but this time uses the DirectX DMOs built into the operating system (so, won't work on Wine). Mainly interested in the complex reverb DSP unit Microsoft made/commissioned with it, as well as some extra effects like distortion/gargle.
Title: Re: foo_dsp_effect
Post by: kode54 on 2018-02-28 23:50:21
DirectX DMO effects will work on Wine, if you regsvr32 msdmo.dll from a Windows XP installation instead of the Wine stub dll.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-03-02 01:33:25
Interesting. Its curious how OpenMPT has complete DMO emulation for non Windows systems, while Wine people refuse to add such functionality.
Title: Re: foo_dsp_effect
Post by: Brand on 2018-03-06 19:35:16
I found a bug with "Dynamics Compressor" (foo_dsp_dynamics) when used with the converter.
If I convert a bunch of long tracks (an audiobook) in parallel, some tracks don't get the DSP processing applied. For example just now I converted 10 tracks and 3 of those were converted as if there was no DSP.

I can work around this by limiting the converter to one thread (the default is 4 on my PC).

This happens in both in the current 1.3 stable foobar and in the latest 1.4 beta, with the new standalone foo_dsp_dynamics plugin.
I also tried with another effect (phaser from the effects bundle) and there was no such problem.


EDIT: also, it seems the plugin doesn't work on 24kHz files at all, that's a bit of a shame. I'm using it to boost the volume of some audiobooks, that's how I noticed.
EDIT2: it also just seems to stop working occasionally when converting single 44.1kHz files, maybe caused by previous 24kHz playback...
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-03-06 22:44:30
Seems then I need to make the dynamics compressor fully instance safe.
Title: Re: foo_dsp_effect
Post by: mdr on 2018-03-08 18:46:01
Thx for your work! Is it possible to add more accurately slider for tempo shifter? As a DJ I am often compare two songs and set one master tempo to them. For example for change tempo from 124 to 126 I need shift tempo by ~1.62%.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-03-08 19:31:59
@Brand

Can you try the attached file? if it works ill make it official. I'll have to modify Garf's algorithm a bit to make it work on more than 2 channels. And yeh, the algorithm is limited to 16kbps, a max of stereo channels and 50000hz as a maximum sample rate, though.

@mdr

Should be uploaded with the updates now.
Title: Re: foo_dsp_effect
Post by: SynthDNB on 2018-03-09 00:14:43
@mudlord
Hey man, ive encountered a problem with the DSP menu not showing up in the view menu after updating the foo_dsp_effect  component from 0.30.1 to 0.30.2. I used to like that menu so i could change playback shift rate on the fly if i wanted to without having to go through a bunch of menus. Is there any way i could get this back?
Thanks in advance.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-03-09 07:12:40
it should show up, it needs the latest foobar2000 alpha.
Title: Re: foo_dsp_effect
Post by: Brand on 2018-03-09 17:01:58
I tried the new version of Dynamics and it crashes foobar pretty much as soon as I load it for playback or when I start the conversion, with any file I tried.
Here's the crash report:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 77D2E0A4h
Access violation, operation: read, address: BA91FFFFh

Call path:
playback_process entry=>dsp/run=>dsp_manager::run

Code bytes (77D2E0A4h):
77D2E064h:  90 8B FF 55 8B EC 51 53 8B 5D 10 57 33 FF 89 7D
77D2E074h:  FC 3B DF 0F 84 E7 59 00 00 56 8B 75 08 F7 46 44
77D2E084h:  00 00 00 01 0F 85 A6 4B 00 00 F6 46 48 01 0F 85
77D2E094h:  D3 59 00 00 F6 C3 07 0F 85 FF F8 04 00 8D 43 F8
77D2E0A4h:  80 78 07 05 0F 84 DB F8 04 00 F6 40 07 3F 0F 84
77D2E0B4h:  DF F8 04 00 89 45 FC 3B C7 0F 84 47 F9 04 00 80
77D2E0C4h:  7B FF 05 0F 84 E6 F8 04 00 8B 45 FC F6 40 07 80
77D2E0D4h:  0F 84 5A 4B 00 00 8B D3 8B CE E8 77 03 00 00 84

Stack (06FFF63Ch):
06FFF61Ch:  00000000 FFFFFD34 000002E4 FFFFFD34
06FFF62Ch:  000002CC 00000019 00000000 06FFF648
06FFF63Ch:  74C6E7A0 00000000 058CD7D8 00000000
06FFF64Ch:  06FFF660 74C6E7EB 00770000 00000000
06FFF65Ch:  BA920000 06FFF670 74C6E7B8 BA920000
06FFF66Ch:  00000000 06FFF69C 10001E95 BA920000
06FFF67Ch:  058CD800 058CD7D8 058CD7F4 10003A6F
06FFF68Ch:  06FFF6C8 0330DBA0 0330DB8C 058CD7D8
06FFF69Ch:  06FFF6D4 10002EFF 0330DB8C 8FE86A12
06FFF6ACh:  0330DB8C 1000C058 00000000 E1746679
06FFF6BCh:  48D0F1C6 70CBE0AF F14C4538 06FFF708
06FFF6CCh:  100078F3 00000000 06FFF714 00D00C21
06FFF6DCh:  0330DB88 058CD7D8 0330DB88 0330DB80
06FFF6ECh:  00000000 E1746679 48D0F1C6 70CBE0AF
06FFF6FCh:  F14C4538 0330DB88 1000C058 06FFF784
06FFF70Ch:  00D0A9A8 00000000 06FFF790 00D018D3
06FFF71Ch:  00000000 0335BBC0 0335BC60 05FB38FA
06FFF72Ch:  4B883801 7003BF9D DBEC6306 05FB38FA
06FFF73Ch:  4B883801 7003BF9D DBEC6306 05FB38FA
06FFF74Ch:  4B883801 7003BF9D DBEC6306 00000000

Registers:
EAX: BA91FFF8, EBX: BA920000, ECX: 058CD7D8, EDX: 00000001
ESI: 00770000, EDI: 00000000, EBP: 06FFF64C, ESP: 06FFF63C

Crash location:
Module: ntdll
Offset: 2E0A4h
Symbol: "RtlFreeHeap" (+3Fh)

Loaded modules:
foobar2000                       loaded at 00BB0000h - 00DAF000h
ntdll                            loaded at 77D00000h - 77E80000h
kernel32                         loaded at 77810000h - 77920000h
KERNELBASE                       loaded at 768F0000h - 76937000h
COMCTL32                         loaded at 70FF0000h - 7118E000h
msvcrt                           loaded at 75830000h - 758DC000h
GDI32                            loaded at 771E0000h - 77270000h
USER32                           loaded at 75610000h - 75710000h
ADVAPI32                         loaded at 769D0000h - 76A71000h
sechost                          loaded at 772A0000h - 772B9000h
RPCRT4                           loaded at 77600000h - 776F0000h
SspiCli                          loaded at 755B0000h - 75610000h
CRYPTBASE                        loaded at 755A0000h - 755AC000h
LPK                              loaded at 77730000h - 7773A000h
USP10                            loaded at 75790000h - 7582D000h
SHLWAPI                          loaded at 76940000h - 76997000h
WINMM                            loaded at 736E0000h - 73712000h
DSOUND                           loaded at 74F20000h - 74F92000h
ole32                            loaded at 77410000h - 7756D000h
POWRPROF                         loaded at 75010000h - 75035000h
SETUPAPI                         loaded at 76710000h - 768AD000h
CFGMGR32                         loaded at 770F0000h - 77117000h
OLEAUT32                         loaded at 77050000h - 770E1000h
DEVOBJ                           loaded at 77280000h - 77292000h
UxTheme                          loaded at 71760000h - 717E0000h
dbghelp                          loaded at 74E30000h - 74F1B000h
SHELL32                          loaded at 758E0000h - 7652C000h
zlib1                            loaded at 63080000h - 63099000h
shared                           loaded at 74E00000h - 74E21000h
imagehlp                         loaded at 77750000h - 7777B000h
COMDLG32                         loaded at 75710000h - 7578B000h
MSVCP140                         loaded at 74D90000h - 74DFD000h
VCRUNTIME140                     loaded at 74D70000h - 74D84000h
api-ms-win-crt-runtime-l1-1-0    loaded at 74D60000h - 74D64000h
ucrtbase                         loaded at 74C40000h - 74D58000h
api-ms-win-core-timezone-l1-1-0  loaded at 74C30000h - 74C33000h
api-ms-win-core-file-l2-1-0      loaded at 74C20000h - 74C23000h
api-ms-win-core-localization-l1  loaded at 74C10000h - 74C13000h
api-ms-win-core-synch-l1-2-0     loaded at 74C00000h - 74C03000h
api-ms-win-core-processthreads-  loaded at 74BF0000h - 74BF3000h
api-ms-win-core-file-l1-2-0      loaded at 74BE0000h - 74BE3000h
api-ms-win-crt-string-l1-1-0     loaded at 74BD0000h - 74BD4000h
api-ms-win-crt-heap-l1-1-0       loaded at 74BC0000h - 74BC3000h
api-ms-win-crt-stdio-l1-1-0      loaded at 74BB0000h - 74BB4000h
api-ms-win-crt-convert-l1-1-0    loaded at 74BA0000h - 74BA4000h
api-ms-win-crt-locale-l1-1-0     loaded at 74B90000h - 74B93000h
api-ms-win-crt-math-l1-1-0       loaded at 74B80000h - 74B85000h
api-ms-win-crt-multibyte-l1-1-0  loaded at 74B70000h - 74B75000h
api-ms-win-crt-time-l1-1-0       loaded at 74B60000h - 74B63000h
api-ms-win-crt-filesystem-l1-1-  loaded at 74B50000h - 74B53000h
api-ms-win-crt-environment-l1-1  loaded at 74B40000h - 74B43000h
api-ms-win-crt-utility-l1-1-0    loaded at 74B30000h - 74B33000h
MSIMG32                          loaded at 70E30000h - 70E35000h
OLEACC                           loaded at 70DF0000h - 70E2C000h
gdiplus                          loaded at 6FF90000h - 70121000h
CRYPT32                          loaded at 76540000h - 76662000h
MSASN1                           loaded at 776F0000h - 776FC000h
WINHTTP                          loaded at 73660000h - 736B8000h
webio                            loaded at 73610000h - 73660000h
Secur32                          loaded at 73120000h - 73128000h
IMM32                            loaded at 77180000h - 771E0000h
MSCTF                            loaded at 76D30000h - 76DFD000h
dwmapi                           loaded at 71190000h - 711A3000h
foo_converter                    loaded at 74AA0000h - 74B25000h
foo_dsp_std                      loaded at 74A70000h - 74A99000h
foo_rgscan                       loaded at 74A20000h - 74A6A000h
foo_albumlist                    loaded at 749D0000h - 74A15000h
foo_dsp_dynamics                 loaded at 10000000h - 10010000h
foo_cdda                         loaded at 74990000h - 749C7000h
foo_dsp_eq                       loaded at 74970000h - 7498D000h
foo_ui_std                       loaded at 74860000h - 74963000h
foo_input_std                    loaded at 74700000h - 7485B000h
MSACM32                          loaded at 71540000h - 71554000h
avcodec-fb2k-57                  loaded at 74490000h - 746FB000h
avutil-fb2k-55                   loaded at 74340000h - 743DE000h
CLBCatQ                          loaded at 76680000h - 76703000h
MMDevApi                         loaded at 71710000h - 71749000h
PROPSYS                          loaded at 715D0000h - 716C5000h
AUDIOSES                         loaded at 71570000h - 715A6000h
WindowsCodecs                    loaded at 70C90000h - 70DC1000h
explorerframe                    loaded at 741D0000h - 74340000h
DUser                            loaded at 73240000h - 7326F000h
DUI70                            loaded at 709D0000h - 70A82000h
CRYPTSP                          loaded at 73E30000h - 73E47000h
rsaenh                           loaded at 73DF0000h - 73E2B000h
RpcRtRemote                      loaded at 716D0000h - 716DE000h
avrt                             loaded at 715B0000h - 715B7000h

Stack dump analysis:
Address: 74C6E7A0h (ucrtbase+2E7A0h), symbol: "free" (+0h)
Address: 74C6E7EBh (ucrtbase+2E7EBh), symbol: "free_base" (+1Bh)
Address: 74C6E7B8h (ucrtbase+2E7B8h), symbol: "free" (+18h)
Address: 10001E95h (foo_dsp_dynamics+1E95h)
Address: 10003A6Fh (foo_dsp_dynamics+3A6Fh)
Address: 10002EFFh (foo_dsp_dynamics+2EFFh)
Address: 1000C058h (foo_dsp_dynamics+C058h), symbol: "foobar2000_get_interface" (+72F8h)
Address: 70CBE0AFh (WindowsCodecs+2E0AFh), symbol: "WICMatchMetadataContent" (+3Dh)
Address: 100078F3h (foo_dsp_dynamics+78F3h), symbol: "foobar2000_get_interface" (+2B93h)
Address: 00D00C21h (foobar2000+150C21h)
Address: 70CBE0AFh (WindowsCodecs+2E0AFh), symbol: "WICMatchMetadataContent" (+3Dh)
Address: 1000C058h (foo_dsp_dynamics+C058h), symbol: "foobar2000_get_interface" (+72F8h)
Address: 00D0A9A8h (foobar2000+15A9A8h)
Address: 00D018D3h (foobar2000+1518D3h)
Address: 7003BF9Dh (gdiplus+ABF9Dh), symbol: "GdipCreateSolidFill" (+64F4Ch)
Address: 7003BF9Dh (gdiplus+ABF9Dh), symbol: "GdipCreateSolidFill" (+64F4Ch)
Address: 7003BF9Dh (gdiplus+ABF9Dh), symbol: "GdipCreateSolidFill" (+64F4Ch)
Address: 00C07917h (foobar2000+57917h)
Address: 00D1B843h (foobar2000+16B843h)
Address: 00D65E38h (foobar2000+1B5E38h)
Address: 00C66DC5h (foobar2000+B6DC5h)
Address: 00D0D88Ah (foobar2000+15D88Ah)
Address: 00C66A0Bh (foobar2000+B6A0Bh)
Address: 00C689B4h (foobar2000+B89B4h)
Address: 00D32250h (foobar2000+182250h)
Address: 756902C0h (USER32+802C0h), symbol: "ShutdownBlockReasonDestroy" (+599Ah)
Address: 75629E92h (USER32+19E92h), symbol: "ClientThreadSetup" (+EFh)
Address: 75629E3Ah (USER32+19E3Ah), symbol: "ClientThreadSetup" (+97h)
Address: 77D3E2E8h (ntdll+3E2E8h), symbol: "RtlRetrieveNtUserPfn" (+39h)
Address: 00D32220h (foobar2000+182220h)
Address: 755A12E7h (CRYPTBASE+12E7h)
Address: 00D32208h (foobar2000+182208h)
Address: 755A1454h (CRYPTBASE+1454h), symbol: "SystemFunction036" (+164h)
Address: 755A1464h (CRYPTBASE+1464h), symbol: "SystemFunction036" (+174h)
Address: 00D320E8h (foobar2000+1820E8h)
Address: 755A1376h (CRYPTBASE+1376h), symbol: "SystemFunction036" (+86h)
Address: 755A1343h (CRYPTBASE+1343h), symbol: "SystemFunction036" (+53h)
Address: 77620908h (RPCRT4+20908h), symbol: "UuidCreate" (+F1h)
Address: 776208B9h (RPCRT4+208B9h), symbol: "UuidCreate" (+A2h)
Address: 775586C0h (ole32+1486C0h), symbol: "WdtpInterfacePointer_UserFree" (+2B87h)
Address: 00D323CCh (foobar2000+1823CCh)
Address: 77D2018Dh (ntdll+2018Dh), symbol: "ZwWaitForMultipleObjects" (+15h)
Address: 76900100h (KERNELBASE+10100h), symbol: "QueryDosDeviceW" (+DFh)
Address: 778A300Ah (kernel32+9300Ah), symbol: "PowerCreateRequest" (+0h)
Address: 778A30ACh (kernel32+930ACh), symbol: "PowerSetRequest" (+0h)
Address: 778A3068h (kernel32+93068h), symbol: "PowerClearRequest" (+0h)
Address: 00D142FAh (foobar2000+1642FAh)
Address: 00C655D7h (foobar2000+B55D7h)
Address: 75630882h (USER32+20882h), symbol: "PeekMessageW" (+2B0h)
Address: 00C67B0Bh (foobar2000+B7B0Bh)
Address: 00D32268h (foobar2000+182268h)
Address: 77450908h (ole32+40908h), symbol: "CoTaskMemRealloc" (+1BFBh)
Address: 7745091Fh (ole32+4091Fh), symbol: "CoTaskMemRealloc" (+1C12h)
Address: 75630B81h (USER32+20B81h), symbol: "MsgWaitForMultipleObjects" (+1Fh)
Address: 00D14234h (foobar2000+164234h)
Address: 00C67AAEh (foobar2000+B7AAEh)
Address: 00C679F6h (foobar2000+B79F6h)
Address: 00D14212h (foobar2000+164212h)
Address: 00C67A1Bh (foobar2000+B7A1Bh)
Address: 00D0D88Ah (foobar2000+15D88Ah)
Address: 74C7E87Fh (ucrtbase+3E87Fh), symbol: "set_app_type" (+4Fh)
Address: 74C964E0h (ucrtbase+564E0h), symbol: "crt_debugger_hook" (+10h)
Address: 7782343Dh (kernel32+1343Dh), symbol: "BaseThreadInitThunk" (+12h)
Address: 77D39832h (ntdll+39832h), symbol: "RtlInitializeExceptionChain" (+63h)
Address: 7784786Fh (kernel32+3786Fh), symbol: "UnhandledExceptionFilter" (+0h)
Address: 7784786Fh (kernel32+3786Fh), symbol: "UnhandledExceptionFilter" (+0h)
Address: 77D74DCDh (ntdll+74DCDh), symbol: "WinSqmSetIfMaxDWORD" (+31h)
Address: 77D39805h (ntdll+39805h), symbol: "RtlInitializeExceptionChain" (+36h)
Address: 74C7E840h (ucrtbase+3E840h), symbol: "set_app_type" (+10h)
Address: 74C7E840h (ucrtbase+3E840h), symbol: "set_app_type" (+10h)

Environment:
App: foobar2000 v1.4 beta 7
UI: Default User Interface 0.9.5

Components:
Core (2018-03-06 14:27:32 UTC)
    foobar2000 core 1.4 beta 7
foo_albumlist.dll (2018-02-22 09:30:16 UTC)
    Album List 4.6
foo_cdda.dll (2018-03-06 14:26:50 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2018-03-06 14:27:00 UTC)
    Converter 1.5.3
foo_dsp_dynamics.dll (2018-03-09 16:33:20 UTC)
    Dynamics Compressor 0.2
foo_dsp_eq.dll (2018-02-22 09:30:12 UTC)
    Equalizer 1.2.1
foo_dsp_std.dll (2018-03-06 14:26:48 UTC)
    Standard DSP Array 1.3.1
foo_input_std.dll (2018-03-06 14:27:26 UTC)
    FFmpeg Decoders 3.2.4
    Standard Input Array 1.0
foo_rgscan.dll (2018-03-06 14:27:02 UTC)
    ReplayGain Scanner 2.3
foo_ui_std.dll (2018-03-06 14:27:08 UTC)
    Default User Interface 0.9.5

Recent events:
Performing early media library init
Pre component load
Loading DLL: D:\foobar2000\components\foo_converter.dll
Loading DLL: D:\foobar2000\components\foo_dsp_std.dll
Loading DLL: D:\foobar2000\components\foo_rgscan.dll
Loading DLL: D:\foobar2000\components\foo_albumlist.dll
Loading DLL: D:\foobar2000\user-components\foo_dsp_dynamics\foo_dsp_dynamics.dll
Loading DLL: D:\foobar2000\components\foo_cdda.dll
Loading DLL: D:\foobar2000\components\foo_dsp_eq.dll
Loading DLL: D:\foobar2000\components\foo_ui_std.dll
Loading DLL: D:\foobar2000\components\foo_input_std.dll
Components loaded in: 0:00.009596
Pre config read
Configuration read in: 0:00.001201
Starting playlist loading
UI Element instantiation failure: UI Element Not Found
Album List refreshed in: 0:00.135575
User Interface initialized in: 0:00.186920
Processing commandline
initquit::init entry
initquit::init exit
Startup time : 0:01.457711
Opening track for playback: "D:\test.flac"


Machine specifications:
OS: Windows 6.1.7601 Service Pack 1 x64
CPU: Intel(R) Core(TM) i5 CPU         750  @ 2.67GHz, features: MMX SSE SSE2 SSE3 SSE4.1 SSE4.2
CPU threads: 4
Audio: 3 - PL2488H (2- AMD High Definition Audio Device); Line 1/2 (2- M-Audio Delta Audiophile); OUT (3- UA-20)

For installing it I just replaced the dll, I hope that's the proper way to do it.


50000hz as a maximum sample rate
So it should work with 24kHz files? Because it doesn't. It does with 44.1kHz, though.
Title: Re: foo_dsp_effect
Post by: SynthDNB on 2018-03-09 17:53:27
it should show up, it needs the latest foobar2000 alpha.

Hi, That seemed to fix it for me! Thanks.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-03-10 06:59:58
@Brand
Sent you a PM.

I rather builds from now on be sent in private since I don't want bug reports polluting the crash DB.

@SynthDNB: yes it needs features from 1.4 alpha. Most specifically beta 6/7 and upwards.
Title: Re: foo_dsp_effect
Post by: Brand on 2018-03-10 08:55:01
Thanks. No crashes with this one and so far the multi-thread conversions worked fine.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-03-10 10:19:22
Thanks, I'll make it official then.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-03-10 19:11:19
Regarding foo_dsp_effect and UI elements:
- personally I would prefer to have Tempo, Pitch and Playback Rate as separate UI elements, each with as low height as possible. That would allow for example for their horizontal alignment or simply choosing only the one that I use the most to be always visible.
- all effects seem to use the same size for UI element. It causes waste of UI space. In my opinion each element should have as low height as possible. This problem could be also solved with usage of scalable UI elements...
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-03-10 22:13:57
1) Makes sense. I'll think about it.
2) This one I'll have to mess with APIs like DeferWindowsPos, which I am not really familiar with, but I guess that's now important, like with the default equalizer Peter made, Hence why they have a static size. I can optimize the sizes to be more compact though, if you want.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-03-10 23:13:08
I would opt for optimized sizes of UI elements. Bu especially - for splitting Tempo, Pitch and PRS :)
Title: Re: foo_dsp_effect
Post by: TK423 on 2018-04-07 15:32:56
Hey al!!

Big dummy here who has no idea how any of this stuff really works.

I play a space flight simulator game called Elite: Dangerous . I generally listen to my own music while I play. I'm trying to set up playback so that the music sounds as if it was coming from a speaker system within the cockpit of a ship, basically as if the sound was in an actual physical space, not pristine as if it was coming out of headphones (which I believe is what the "reverb" effect intends to replicate, correct?).

Another player recommended I give Foobar2000 with the Effect DSP plugin a shot. The plugin seems to be exactly what I'm looking for but I'm having trouble fine tuning the settings to achieve the desired effect. The settings this user provided sound a bit too much like I'm hearing the music playing from the inside of a car with all the doors shut, while I'm standing outside.

(https://i.imgur.com/yyZpmOa.png)

I was wondering if anyone would be kind enough to provide alternate settings and/or additional "Available DSPs" that might help to achieve the desired effect?

Thanks in advance for any assistance!
Title: Re: foo_dsp_effect
Post by: magicgoose on 2018-04-07 20:21:05
If you can have access to a good microphone for a while, and can reproduce that sound alteration in real life, then it might be worthwhile to try to record an impulse response — for example, play a loud flat-frequency click sound inside your car, with the doors shut only so much, and record it at the point where it sounds like you want, then remove excess parts from the recording and use it as an impulse for the Convolver effect. 
It's a bit involved but with a good microphone you can get to a really good approximation of a real life environment.

Some info on Wikipedia about the method: https://en.wikipedia.org/wiki/Convolution_reverb
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-04-09 07:41:07
Yep, the current reverb implementation in there sucks atm.

It doesn't handle things like early reflections as well as other things. I seen some other algorithms though which are much more robust than the one in there currently.

In the meantime, I would indeed use proper convolution, with decent response files.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-04-09 08:51:55
Maybe kode's reverb? The one which is based on PSX reverb?
Title: Re: foo_dsp_effect
Post by: kode54 on 2018-04-10 04:46:37
Mine's based on a console hardware reverb, and if you want the "faithful" hardware mode, it downsamples the input to the reverb system, and upsamples the output before adding it to the dry signal. It usually does sound good, but it's probably somewhat more process expensive than a native reverb filter. The presets were stolen from the emulator called "pSX", which stole them from the PlayStation SDK, because pSX doesn't emulate the actual hardware reverb unit, it just matches known reverb presets and simulates them with a higher level reverb function. The developer also swore the hardware used linear interpolation to resample, and wouldn't listen to evidence to the contrary. Now his project is dead anyway.
Title: Re: foo_dsp_effect
Post by: nitorita on 2018-04-17 02:30:08
Hi, I just wanted to pop in and mention that this component works just fine on foobar v1.3.16. Not sure if you wanted to update the page on the main site or not. That's all, have a nice day :)
Title: Re: foo_dsp_effect
Post by: billqs on 2018-04-17 20:34:13
Hi! It appears that the newer Dynamics Compressor is still being developed here. Thanks!  I'm using the last one Garf came up with when I searched for it. I have a general idea of what Compressors do, but some of his terminology I'm not certain of.  I also don't know that it's working right.

My test track is Jethro Tull's Locomotive Breath which has the low volume piano bit at the beginning before the hit into major part of the song.  On vlevel and R128 Compressor the piano sounds as loud as the main song. Both of these plug-ins have "wandering volume" where the track will get even, then dip slightly and come back up, or even stay slightly below the loud part for good period of time.

So I thought I would try a compressor to get better evenness in the sound. On Dynamics Compressor the piano is still quiet and the loud part is still loud. Do you think this is working? Sorry for the confusion.
Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2018-07-09 18:21:32
Would it be possible to add the feature where you can simply type in the values instead of using only the slider?
Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2018-07-10 22:23:54
Also, would it be possible to take this into consideration?
https://hydrogenaud.io/index.php/topic,116234.new.html#new
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-10 22:36:15
For starters, would have been nice if it was in the right thread. Otherwise I would have written it off, like I was pondering yesterday. Main thing to keep in mind is that I developed the component originally for myself, if anyone else likes it, to me that's just a bonus, hence why I don't follow feature requests that often (if at all) unless they appeal to me somehow.

As for the request itself. resizing would be fun, if I worked out how DeferWindowsPos() worked to begin with that doesn't interfere with drawing. (got it somewhat working, but then window drawing would mess up for some reason).

Edit boxes for all values in sliders sounds somewhat reasonable to do, just need to find the motivation/willpower to do it for every single UI in the component.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-07-12 23:10:51
Mudlord, you can start with just separating Pitch Shift, Tempo Shift and Playback Rate Shift into different UI elements, not resizable ones. You can check in earlier discussion that I already suggested it and it was received as doable and rational proposition.
Then they could be all made lower - current universal height is too big for some of the effects (single slider ones). I opt for as low UI elements as possible. Some specific effect, which has biggest amount of sliders (thus biggest height) can be used as reference, and then all single-slider ones can be uniformly set to be 1/3, 1/4, 1/5 or even 1/6 of that reference (depending on the absolute value of reference height itself).
Resizing can be added (if at all) later when you will have enough time, motivation, wish to make experiments, whatever else.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-13 07:21:34
Agreed, making more efficient space use to make the elements smaller is doable,
Title: Re: foo_dsp_effect
Post by: Masterfireheart on 2018-07-14 03:34:45
Would it be possible to add the feature where you can simply type in the values instead of using only the slider?
+1 this, no combination of clicks and mouse scrolls seem able to get tempo to exact values like 10, 15, 25, etc, which can have a slight effect on transients.
Title: Re: foo_dsp_effect
Post by: Rollin on 2018-07-14 13:02:15
no combination of clicks and mouse scrolls seem able to get tempo to exact values like 10, 15, 25, etc, which can have a slight effect on transients.
You can use arrows keys on keyboard.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-16 22:37:51
So you people want something like:

(https://i.imgur.com/43WBZdc.png)

Note that the pitch and tempo controls are separate UI elements.

?
Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2018-07-19 21:00:40
Being able to type in the numbers looks great.  I think the splitting of the UI elements is on the right track as well; I'm specifically interested in the playback rate section (I don't see it in the image), and assuming that I can display the playback rate section by itself, then I think what you have looks good!
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-19 21:03:03
Should be public now. To validate entries, use the enter key.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-07-20 06:45:20
Mudlord, kindly thank you for all your great work. This is my favorite 3rd party plugin.
I will check it and test new features right after coming back home from job!
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-20 07:39:29
The pitch/tempo/rate stuff should be fixed for size now.

The other stuff I need to work out. I got some final DSPs I want to add before I consider foo_dsp_effect feature complete and then after that is bugfixes.
Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2018-07-20 20:32:29
This new version is great, but there is one peculiarity I noticed.  With the playback rate section, if I exit foobar with the playback rate section enabled (and, say, for example, the playback rate at -10%), then whenever I open foobar again, the playback rate will say 0% and the "enabled" checkbox will be turned off.  Despite what the GUI displays, however, the playback rate of the audio remains at -10%.  As soon as I click "enabled" again, then it immediately jumps back to 0%.

Basically, the actual playback rate remains the same, but the GUI doesn't display it correctly after closing and opening foobar.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-20 21:25:27
Thanks, it was a GUID typo. Fixed in newest hotfix.
Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2018-07-20 22:46:25
Perfect, thank you very much!
Title: Re: foo_dsp_effect
Post by: no9 on 2018-07-21 11:02:22
I have two questions about equalizer. Is it possible to add one or two bands below 55 Hz? Can eq preserve settings while it is disabled and it's windows is closed? Now it resets all bands.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-21 18:45:40
the iir might also have the GUID bug, thanks for reminding me to double check everything.

As for the EQ, I'm not in the mood to implement another graphic EQ. I thought xnor already did a decent EQ.

EDIT: double checked the IIR filter, works fine here. Not sure what you mean. You might be getting confused with another component.
Title: Re: foo_dsp_effect
Post by: no9 on 2018-07-21 21:05:21
xnors eq is very nice. The only thing it lacks for me is to temporarily disable/bypass it. Maybe I should ask him then.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-07-22 09:10:47
Problem with Xnor's EQ is lack f UI element...

I have a small and definitely doable request - could it be possible to add small "Reset" buttons at least to PRS/TMP/Pitch GUI elements? Purpose is obvious - to quickly reset value to "zero" without typing and pressing enter or moving sliders. See image below for "advanced visualization" ;)


Also something that I am not sure if is doable but I will ask... There are some files in my library that trigger Playback Rate Shift thanks to Dynamic DSP, based on some tags. Is it technically possible to read the value that was applied via Dynamic DSP triggered chain and enter it to PRS box when track is played from playlist?
There is alternative - auto triggering certain effects based on adding built-in support for reading tags "like DSP_CHAIN", and parsing possible multivalues like "PRS=+6; TEMPO=-3; ECHO=2000,75,55; REVERB=50,60,70,65,75". In this case it would be definitely easier to feed these values to GUI elements.

Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-07-22 11:15:30
Bugs:
- extreme Tempo values (like sudden move of slider to -95%, even from previously set -40%, not just "zero") hangs foobar entirely
- sometimes entering manually "zero" into Tempo GUI element and pressing enter does not change anything. Zero is displayed, slider resets, but sound is still changed. Moving away from Tempo'sGUI element and going for example to Pitch, causes that slider of Tempo again shows position adequate to the sound that is changed. Going back to Tempo and accepting "zero" with enter mostly solves the issue.
Used algorithm: RubberBand.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-22 12:32:40
Can you pm me the file which it crashes on? Last time I checked the crashing it works for me after some fixes. It sounds like another buffer problem.

EDIT: It was a buffer problem, working on it, will need to do more tests to make sure it works,
Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2018-07-23 18:27:56
I also noticed that sometimes manually entering zero wouldn't always work for the playback rate.  Since it only happens occasionally, I'm not sure what I'm doing that causes it though.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-07-23 20:38:22
That's why I proposed "Reset" buttons :)
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-24 06:48:50
I did some looking into the issues with extreme ratios. Seems to be a issue out of my control. It really doesn't seem to like reallocating such large buffers at extreme rates. I'm pondering limiting to around 75% each way, since that seems to be the limit which internally it doesn't break.

Or my sample interleave/deinterleave loops are too much a bottleneck. Could use SSE but then theres a lot of messing around.

Reset buttons should be easy enough to add.
Title: Re: foo_dsp_effect
Post by: Nisto on 2018-07-28 20:37:01
Hi mudlord. A potentially big ask, but since you've already got a Playback Rate Shift DSP; could you possibly implement a DSP that allows playing a track at an arbitrary rate specified in Hz? Often times in video games you'll find resources with an unknown sample rate, and it tends to be a common sample rate like 11025, 22050, 24000, etc.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-07-31 10:00:27
Wouldn't that be a input component?
Title: Re: foo_dsp_effect
Post by: Nisto on 2018-07-31 11:32:33
I don't really know. I'm not asking for this feature for a specific format though; I'd just like to be able to change the playback rate in Hz of any file I open, in a convenient fashion. But maybe it's unrealistic with certain input components or files, like synthesized ones?
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-07-31 20:21:43
I think I have found a bug. In v 0.22 I could choose between SoundTouch and RubberBand in both Pitch and Tempo Shift effects. Since 0.30.3 and in last 0.31.3 SoundTouch/RubberBand choice is allowed only for Tempo Shift. Is it a bug or am I missing something? Unfortunately https://github.com/mudlord/foobar2000/blob/master/foo_dsp_effect/CHANGES.md gives me "HTTP 404" error...

Also one more thing. I am not sure if I should blame foobar's core or this DSP plug but... If I deselect "Enable" on my GUI elements for used effects (Picth, Tempo, Playback Rate) those effects are removed entirely from DSP chain. If I re-check "Enable" then they are added in the end. Then it causes that my saved chain is not recognized anymore by DSP switcher (both in Preferences and in GUI drop-down list element). Couldn't it be done in such way, that unchecking "Enable" simply performs zero operation / pass-through and does not remove given DSP from current chain? I would like to prevent making my current chain unsaved if I play with those check/uncheck boxes...
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-08-01 05:49:46
Its definately not a bug. I made it only selectable for tempo.

And thats a design choice. Would have to reimplement to just do passthrough.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-08-01 06:46:55
OK.
Out of curiosity - which algorithm is now used for Pitch, SoundTouch or RubberBand?
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-08-02 06:52:09
SoundTouch. Its also used for the Playback Shift effect.
Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2018-08-03 23:33:05
I notice that if I set "Playback Rate" to be accessible via a keyboard shortcut, and then press the keyboard shortcut, it seems that the "enabled" text gets highlighted (has a box around it); however, it would be ideal if the cursor would be immediately placed inside the input field; as it currently is, it seems impossible to navigate to this field using just the keyboard (I have to use the mouse to get to it).

Whenever the Playback Rate section is activated using a keyboard shortcut, would it be possible to automatically have the cursor appear in the input field so that way I can immediately start typing?

Here's an image of what I mean.  I set "Playback Rate" to be activated by the keyboard shortcut "Control R."  When I press Control R, the window looks like this:

(https://i.imgur.com/h6DmqQS.png)
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-08-08 03:50:43
Yep, easy problem to fix, I noticed the tab order was wrong, in future it will default onto the edit box and be editable.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-08-08 03:58:15
Also one more thing. I am not sure if I should blame foobar's core or this DSP plug but... If I deselect "Enable" on my GUI elements for used effects (Picth, Tempo, Playback Rate) those effects are removed entirely from DSP chain. If I re-check "Enable" then they are added in the end. Then it causes that my saved chain is not recognized anymore by DSP switcher (both in Preferences and in GUI drop-down list element). Couldn't it be done in such way, that unchecking "Enable" simply performs zero operation / pass-through and does not remove given DSP from current chain? I would like to prevent making my current chain unsaved if I play with those check/uncheck boxes...

Setting each pitch/tempo/rate DSP should zero it, making it pass through. Currently when you disable the DSP with the tick box it works the same way as the FB2K native EQ.

As for the curiosity about DSPs not taking effect, it seems for me to not take into effect for the first 5 seconds of a track, regardless of the DSP present, which is weird, especially for DSPs like echo which do not alter the sample chain duration. Maybe because of the normalizer DSP by kode54 in the chain, who knows.
Title: Re: foo_dsp_effect
Post by: kode54 on 2018-08-08 11:12:58
If you'll check the code (it's in the kode54/foobar2000 repo), you'll see that it needs 10 seconds of buffer on startup, then it maintains at least 4 seconds of buffer at all times.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-08-09 09:14:25
Now it all makes sense with the processing delays. Thanks.
Title: Re: foo_dsp_effect
Post by: q on 2018-08-17 02:49:27
mudlord, I can't thank you enough for making this. The PB Rate is a game changer for me.

I know that you mentioned earlier that making the elements scale-able was not really a priority for you, but I think it would be a great addition :)

Anyways - thanks again!
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-08-17 08:42:20
Nice to see some people appreciate stuff I do, makes it all worthwhile in the end.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-08-17 20:10:02
There are 4 things that I love in foobar, which cause that I am not going to change this software to anything else:
- possibility to configure Properties Window (custom fields, etc.)
- customer service (how quickly serious bugs in this free software are resolved, how easy and open is contact with devs, how open they are to introduce most wanted features - even if takes some time)
- possibility to reverse play track
- possibility to change playback rate.

Last 2 are possible only thanks to 3rd party plugins, from which one is yours :)

Question: is it possible to use some portions of your playback rate code and add it easily into Android / mobile version of foobar? I am asking more from technical point of view, as I have no idea about portability of code and your code for this certain plugin.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-08-17 20:41:58
Quote
Question: is it possible to use some portions of your playback rate code and add it easily into Android / mobile version of foobar? I am asking more from technical point of view, as I have no idea about portability of code and your code for this certain plugin.

That is something for Peter to consider, only he has control of the source. SoundTouch should work fine on Android.
Title: Re: foo_dsp_effect
Post by: sveakul on 2018-10-02 00:40:06
Thanks mudlord for this terrific plugin, been experimenting with it for the first time today in FB 1.4.  A question:  what is the proper positioning within the DSP chain of the Pitch Shift control?  I normally use the chain Resampler-->Graphic Equalizer-->Limiter.  Thanks for any suggestions!
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-10-02 06:42:31
I noticed one discrepancy. UI elements for playing with pitch or rate during playback have input fields for entering numerical values with keyboard. However when I use one of them as additional processing option in Converter, then controls for rate/pitch are old fashioned, with slider only. It would be nice to update them to look like those used for real-time playback control.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-10-07 03:37:36
Must have not noticed that myself since I heavily use the UI elements. Need to add that to my todo list.
Title: Re: foo_dsp_effect
Post by: sveakul on 2018-10-07 17:46:20
mudlord:  any suggestion re my Reply #365?  Have searched this on the web with no clear results.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-10-09 21:15:19
Pitch Shift should be at the end of the chain.
Title: Re: foo_dsp_effect
Post by: sveakul on 2018-10-09 22:42:54
Pitch Shift should be at the end of the chain.

Thank you mudlord!
Title: Re: foo_dsp_effect
Post by: doc_jochim on 2018-10-25 21:41:12
Hi there,
I just tried to install the 'effect dsp' to my foobar2000, because I had been looking for a possibility to affect tempo and pitch independant from each other.

And it's working fine :-))

But perhaps there is a bug - or is it a feature...?

Each time I want to add one of the effect-dsp-UI-Elements, it is added with a fixed width. If I place it under my playlist, the playlist is shrinked to the width of the new UI-Element and I don't have the possibility to change foobar2000 to a fullscreen-view anymore.

I always first have to add a splitter (left/right) to keep my playlist's width. But also my added splitter is moved while adding an effect-dsp-UI-Element and doesn't stay where I placed it.

Is there any hidden possibility to change the effect-dsp-UI-Element's width and I just didn't find it until now?

If width is really fixed and unchangeable, it would be great to get the possibility to take influence on it in future versions.

Yours André

(Sorry for my bad english, but school is already a long time ago...)
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-10-29 20:34:28
Its not a bug, its a current limitation of how I made UI elements.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-11-14 06:08:03
Uploaded 0.33 to fix bug with PB rate UI element.  Sorry for taking so long.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-11-15 05:31:35
0.34 update with minor subclass changes to pitch/tempo/rate ui elements. There's not much left on the roadmap apart from the sizable UI elements if that is possible. Already started on a new DSP array that uses OS built-in MS DirectX Media Objects, so that might not work on Wine at all.

Quote
Couldn't it be done in such way, that unchecking "Enable" simply performs zero operation / pass-through and does not remove given DSP from current chain? I would like to prevent making my current chain unsaved if I play with those check/uncheck boxes...

Good idea, I'm pondering doing that since really if everything is zero, no samples are altered and thus there is no latency problems if there is a crapton of DSPs in the chain.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-11-15 14:16:44
(...)
Reset buttons should be easy enough to add.

I still can't see small "Reset" buttons for Playback rate Shift / Tempo / Pitch. Can we expect them in not so long future? And how about updating DSP chain config dialogs - to allow there for entering value manually (and then also use "Reset" buttons) ?
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-11-16 04:27:24
What should the reset buttons do, just reset to default DSP settings while they are enabled? They are a 10 minute job, at most.

Title: Re: foo_dsp_effect
Post by: mudlord on 2018-11-16 06:07:31
(...)
Reset buttons should be easy enough to add.

I still can't see small "Reset" buttons for Playback rate Shift / Tempo / Pitch. Can we expect them in not so long future? And how about updating DSP chain config dialogs - to allow there for entering value manually (and then also use "Reset" buttons) ?

See your PM. Check it all works. Setting your DSPs at 0 should allow all samples to be bypassed through the DSP chain.
Title: Re: foo_dsp_effect
Post by: EpicForever on 2018-11-23 21:33:19
You haven't updated changelog :) And changes are noticeable I think :)
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-11-27 21:20:26
thanks for reminding me. I should do that.
Title: Re: foo_dsp_effect
Post by: eskapandr on 2018-12-10 18:37:35
Foobar2000 with Effect DSP 0.31 and 0.35 on win xp slows down terribly when switching from flac (and maybe another lossless) to another music.  Foobar2000 with Effect DSP 0.22 does not slow down when switching to music with flac. It starts slowing down when you add iir filter to the dsp manager and go with flac.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-12-17 04:38:35
....whuts your PC specs.

You don't give any details. At all.
Title: Re: foo_dsp_effect
Post by: eskapandr on 2018-12-18 08:23:04
....whuts your PC specs.

You don't give any details. At all.

OS: Windows xp sp3
RAM 1 Gb
HDD 1 Tb
Sound card: Creative Audigy SE ( SB0570 )
foobar2000 1.4.1

Do you need smth more?
Title: Re: foo_dsp_effect
Post by: kode54 on 2018-12-19 00:38:16
CPU model and speed would be extremely helpful, but I'm going to go out on a limb and guess something in the Athlon or Pentium 4 vintage.
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-12-20 08:22:17
I'm seriously considering dropping XP support. And Win7 support for that matter. I am wondering.

It is 2019 and people still have P1s? Reminds me of the emulator morons who want everything in OGL 1.5 still and completely ignored the invention of Shader Model 4.0.
Title: Re: foo_dsp_effect
Post by: eskapandr on 2018-12-20 09:23:46
CPU model and speed would be extremely helpful, but I'm going to go out on a limb and guess something in the Athlon or Pentium 4 vintage.

Yep, my PC is a little bit out of date - I have Intel Pentium 4, 2400 MHz socket 478. Is it a cause?
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-12-22 01:45:02
Most likely. P4s have terrible denormal penalties. And its 16~ years old.

Try this, see if it makes a difference.
Title: Re: foo_dsp_effect
Post by: eskapandr on 2018-12-24 08:36:36
Most likely. P4s have terrible denormal penalties. And its 16~ years old.

Try this, see if it makes a difference.

Thank you, but it does still slow down, at least while playing certain files like this - https://cloud.mail.ru/public/GQvE/8nG263Pia
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-12-25 12:23:54
At this stage I would just say to use the older version if you can.
Title: Re: foo_dsp_effect
Post by: FStanz on 2018-12-29 02:09:20
I noticed in a previous version when I triggered playback rate shift via keyboard shortcut I could hit ESC & it would close the window while retaining my setting. Now the escape button does nothing. Any chance of having it work the previous way again? It was quicker for me to open & close.

Also, any chance of mouse wheel adjusting in increments of 1% instead of 3%?
Title: Re: foo_dsp_effect
Post by: mudlord on 2018-12-30 07:05:21
That's because the text/pb rate display edit control swallows keyboard events on startup since people wanted that to be the default control first.

To still use ESC, just click on the slider (it wont do anything unless you scroll it, I made it that way a while ago) and then press ESC.
Title: Re: foo_dsp_effect
Post by: arch21 on 2019-01-05 06:36:56
IIR Filter Type from DSP main menu doesn't seem to work.
Title: Re: foo_dsp_effect
Post by: jason0342 on 2019-01-08 15:22:43
Hi mudlord,
First, I want to thank you for the great work.
I would like to know if you can made the Q value adjustable for those IIR filters.
Foobar2000 works really fine, but it dose lack a nice parametric EQ.
With the adjustable Q value, IIR filters would become much more useful.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-01-09 03:14:23
@arc: tested the one off the download page, works
@jason0342 : i guess i can look into that for some of the filters.
Title: Re: foo_dsp_effect
Post by: arch21 on 2019-01-09 05:48:47
Actually I just realized it doesn't work because Enabled is checked when I change the IIR Filter Type. It only works by uncheck Enabled first then check it again.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-01-09 11:34:00
Okay, so that can be something I can check into.
Title: Re: foo_dsp_effect
Post by: FStanz on 2019-01-23 00:06:43
Is there anywhere that I can access & download previous versions of foo_dsp_effect?
Title: Re: foo_dsp_effect
Post by: notbugme on 2019-02-19 13:24:42
Is there anywhere that I can access & download previous versions of foo_dsp_effect?
This.

This is a bad design decision, imo:
- Pitch, tempo and playback rate now in separate windows, so two more hotkeys need to be assigned to facilitate fast use.

Maybe this is preferred to 99% of all users, however, please make the previous version available if you're not planning on fixing the above.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-02-20 09:28:11
Fine, I farted about in the git repo tree and recompiled a older version.

From 0.40 onward, it will have a revised GUI based on this older version, but still having the text editable elements the new ones currently have. I still have tons of work to do before thats done, like add the new DSPs being added which are currently in another component.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-02-21 17:33:55
https://twitter.com/opcode_raeg/status/1098637011001389057
Title: Re: foo_dsp_effect
Post by: notbugme on 2019-02-24 21:31:55
https://twitter.com/opcode_raeg/status/1098637011001389057
Thank you sincerely. Honestly can't describe how much replayability to tracks this component has given to me.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-03-11 20:49:51
Gonna add the Q back in the IIR filter.

https://twitter.com/opcode_raeg/status/1105209015615676416
Title: Re: foo_dsp_effect
Post by: Gnx on 2019-03-11 21:38:15
Like the previous post, I would like to thank you for all your work
Personally I dream that you can see an interest to integrate foo_dsp_centercut and make it a bit more adjustable

Title: Re: foo_dsp_effect
Post by: mudlord on 2019-03-12 05:06:37
Whats that filter? What needs to be more adjustable in it? Is it a simple stereo seperation effect ala Amiga?
Title: Re: foo_dsp_effect
Post by: Gnx on 2019-03-12 07:25:53
I mean a wet/dry mixer instead of today on/off mode
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-03-13 09:32:18
Will have to see what it actually does.

Uploaded beta 1 of 0.40. Hopefully works okay and fixes the current issues in the UI elements.
Title: Re: foo_dsp_effect
Post by: arch21 on 2019-03-13 17:23:17
I see on beta, by just changing IIR Filter Type will enable it even without check the Enabled
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-03-13 20:28:28
Try beta 2.

https://twitter.com/opcode_raeg/status/1105932118733946880
Title: Re: foo_dsp_effect
Post by: arch21 on 2019-03-14 04:58:25
It's fixed. :)
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-03-14 05:51:31
Any other bugs I should know about?
Title: Re: foo_dsp_effect
Post by: arch21 on 2019-03-14 14:27:39
It's not bug but just cosmetic. Chorus and Echo have same description on status bar.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-03-14 20:01:01
I'll fix that when beta 3 comes.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-03-15 21:38:53
Beta 3 up, hopefully the remaining bugs with the other effects are fixed before merging in the new unreleased effects.
Title: Re: foo_dsp_effect
Post by: sveakul on 2019-03-16 05:15:40
Thanks mudlord, incredible plugin, can't wait to try the unreleased effects!
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-03-16 06:34:43
My priority atm is ironing out the last bugs that are in there before adding in the other stuff that I worked on in a unreleased component. It would be nice to know if there is still any left. The obvious ones I see should be gone now at least.
Title: Re: foo_dsp_effect
Post by: Aeons on 2019-04-11 09:12:23
Thanks for the awesome plugin Mudlord.

Got a minor bug for you - Upon closing foo and re-opening the new playback rate checkbox doesn't stay ticked (but it is still enabled so needs a double click to disable again).

Also a pet peeve - personally I prefer the pitch / playback rate / tempo etc to be separate items as you had prior to the update, to be added as a layout item individually instead of clumped together, but this is just me.

Keep up the good work!
Title: Re: foo_dsp_effect
Post by: Aeons on 2019-04-12 14:03:26
The forgotten checkbox only applies when playback rate is selected on its own, or with pitch enabled also. Pitch will remain ticked on re-opening foobar but not pb rate. However when tempo is ticked, it remembers pb rate also after exiting foobar.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-04-13 06:46:36
Try beta 4.

It also has some new effects that I added.

Quote
Also a pet peeve - personally I prefer the pitch / playback rate / tempo etc to be separate items as you had prior to the update, to be added as a layout item individually instead of clumped together, but this is just me.

I unfortunately had conflicting reports that people wanted the clumped together UI element since they use the component professionally in their DJ work.

So yeah, I am not sure what to do.
Title: Re: foo_dsp_effect
Post by: MJmusicguy on 2019-04-13 21:22:16
@mudlord if I may  Im not sure how this works code wise finer grained control is always better so i would keep that the default but group them together via checkbox like  "enable DJ mode/professional workflow" ?  if possible as i said I am no expert so not sure that will work?
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-04-18 04:28:48
From what I understand that will complicate things with the UI Element API interface. Which means I would have to create separate UI element instances for each dialog.

Thats just how DUI element design works I think :<
Title: Re: foo_dsp_effect
Post by: yetanotherid on 2019-04-21 15:26:34
mudlord,
You've added a compressor to 0.40 beta 4? I'm pretty sure it's from foo_dsp_effect but I'm easily confused. Anyway....

Just letting you know the Ratio option is labelled "Ratio: 1.00 ms". I assume that's not correct?
Also, the behaviour of the sliders is a little odd. It's no big deal, but as an example "release time" defaults to 200 ms, but if you adjust any slider it changes to 197.50ms and the next step up is 227.00 ms. It seems a bit odd you can't at least select the default value, or that it changes when you adjust another slider. Most of the them behave in a similar way.

Cheers.
Title: Re: foo_dsp_effect
Post by: Parole on 2019-04-26 22:07:17
How does the Skip Track effect work? Is it a replacement for the foo_skip component?
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-04-29 11:34:23
@yetanotherid those problems will be looked at for next beta. seems some of them are typos.
The compressor it implements is now from Windows itself, so the old compressor can be discarded. Which I will do sooner or later.

@Parole I think you are mistaken, my DSP set has no "Skip Track" effect.
Title: Re: foo_dsp_effect
Post by: yetanotherid on 2019-04-30 11:19:53
I had absolutely no idea Windows has a compressor.

I use my PC as my media player with RockSteady (https://winampheritage.com/plugin/rocksteady-2-1/1099) normalising the volume, courtesy of ffdshow, but is the built in compressor something a mere mortal can access?

Thanks.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-05-01 06:14:35
The compressor is a DirectX Media Object, been in Windows since Win98.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-05-18 04:25:03
beta 5 out,

Hopefully the final stuff done to this component now is just bugfixes/maintenance (hoping to finish at 0.40 final). I really want this component finished and feature-complete in my eyes, since I desperately want to work on other projects that need my time.
Title: Re: foo_dsp_effect
Post by: AndreaT on 2019-05-18 12:09:08
Hello Mudlord, I would understand if this component would be used to make a DSP-based X-Over and Phase adjust.
Can I used it to take a stereo input (2 ASIO in) and to make a 3-way x-over (6 ASIO out) and then for each of the output set a delay?

PS: I am now using Thuneau Allocator (VST plug-in), however, it is not anymore maintained and I would look for another solution.
Regards, Andrea
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-05-21 00:18:59
That's completely out of the scope of this component.

This component is just for special effects. Nothing else.
Besides, its now in feature-freeze because it fulfills all my needs.
Title: Re: foo_dsp_effect
Post by: AndreaT on 2019-05-22 14:55:04
Hi Mudlord, thanks for your reply.
Do you know any "good" component (or solution) for my need?
Regards, Andrea
Title: Re: foo_dsp_effect
Post by: Sandrine on 2019-05-23 07:28:57
You might be able to achieve the channel doubling with Matrix Mixer and then user further effects with some other plugin.
Title: Re: foo_dsp_effect
Post by: AndreaT on 2019-05-23 16:08:11
Hi Sandrine, thanks for you kind reply. However, this component (Matrix Mixer) looks not maintained (last release in 2008).
Regards, Andrea
Title: Re: foo_dsp_effect
Post by: Sandrine on 2019-05-26 19:22:05
You may have looked, but what did you hear?
Title: Re: foo_dsp_effect
Post by: yetanotherid on 2019-05-27 01:43:56
Hi Sandrine, thanks for you kind reply. However, this component (Matrix Mixer) looks not maintained (last release in 2008).
Regards, Andrea

I've been using the Matrix Mixer for years. There's really nothing to maintain as such, because it does what it's designed to do.
Title: Re: foo_dsp_effect
Post by: captainbeyond on 2019-07-18 09:56:28
Hello Mudlord. Thank you for your work. I use the IIR Filters parametric EQ. Unfortunately the GUI makes it impossible to adjust some frequencies e.g. 35Hz with the slider.  Is there any chance to get this fixed? I use Windows 7. The lowest value I can adjust is 212Hz :/
Furthermore I would like to know, if this single band filter is the same like a peaking filter? For example in Equlizer APO. I really would like to use Foobar instead of Equliizer APO.

Thank you.
Title: Re: foo_dsp_effect
Post by: mudlord on 2019-07-24 07:51:26
Saw your email. Noted, will get around to it when I can or when I feel like. Either way its not a unreasonable request at all.

Its indeed a peaking EQ. Single band.

I seen some public domain code around for a better EQ than the current foobar2000 1st party component. Might go about implementing that in the effect DSP. Ideally I wanted 0.40 to be the last release of the effect DSP as I think its quite feature complete.
Title: Re: foo_dsp_effect
Post by: leonsk on 2020-04-24 00:21:12
Using one of the DirectX effects in "Decoding speed test" causes fb2k to crash.

https://help.foobar2000.org/problem/80251b0dca5d4a8f3d8bc71b8caf757a
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-01 02:18:38
X

Strange, don't get any errors here.

What version of the component do you have? Might have to ask Senor DEATH or kode for the uploaded crash logs.
Title: Re: foo_dsp_effect
Post by: marc2k3 on 2020-05-01 03:01:13
You might have access to the crash logs through the component admin pages.

https://hydrogenaud.io/index.php?topic=118950.msg981043#msg981043
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-02 02:07:37
Using one of the DirectX effects in "Decoding speed test" causes fb2k to crash.

https://help.foobar2000.org/problem/80251b0dca5d4a8f3d8bc71b8caf757a

Thanks, ill see about debugging that.

Alternately there is another way to fix it, involving software emulation of the effects, but that will take a while to implement.
Title: Re: foo_dsp_effect
Post by: nbv4 on 2020-05-19 05:20:07
I have one small feature request. Could there be a way to have the plugin adjust the pitch of a track by reading the pitch offset from a tag? Basically I want to be able to tag each song with how much I want it to be pitched slight up or slightly down, and have the plugin always adjust that track every time it's played...
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-19 06:38:41
That would mean that the pitch sub-component would have to be active first to read the tag. Decode preprocessors got around this since they are read for certain formats *before* the main input decoder is loaded. I suppose checking if a tag is present on the current track: then move to specified amount, otherwise pay attention to currently enabled status and the current amount the dsp is set to.

Title: Re: foo_dsp_effect
Post by: Rollin on 2020-05-19 15:53:03
Could there be a way to have the plugin adjust the pitch of a track by reading the pitch offset from a tag? Basically I want to be able to tag each song with how much I want it to be pitched slight up or slightly down, and have the plugin always adjust that track every time it's played...
https://hydrogenaud.io/index.php?topic=96094.0
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-20 09:33:13
@leonsk can you try that please?

also includes the metadata to pitch changing.

the meta data has to be "pitch_amt" with the amount of change as the exact number of semitones as a float.

https://hydrogenaud.io/index.php?action=dlattach;sa=tmpattach;attach=post_tmp_49165_6ef55fed1594e2a93781ff571a7d3376;topic=84544

Guess the issue was initializing COM, per thread (the absence of doing that)
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-20 21:25:59
there, made new rls.

I tested what I could with the file convertor and the decode speed test. Threads in which the COM based DX components run in dont seem to crash anymore. Seems for each thread you must init and kill COM, which I forgot, which happened to work by mistake since FB2K starts COM anyway.
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-22 22:39:52
I guess I can do some refinements to the tag reading, such as doing a on-file play callback and then enabling the dsp, then its simply a case of changing the dsp or turning off as needed.


I assume the lack of response is a reason the fixes for DX filters are working?
Title: Re: foo_dsp_effect
Post by: originalflava on 2020-05-23 10:00:17
Quote
Question: is it possible to use some portions of your playback rate code and add it easily into Android / mobile version of foobar? I am asking more from technical point of view, as I have no idea about portability of code and your code for this certain plugin.

That is something for Peter to consider, only he has control of the source. SoundTouch should work fine on Android.

If there's any way of porting it to mobile and more specifically Playback Rate Shift I'd be eternally grateful, cheers
Title: Re: foo_dsp_effect
Post by: Gnx on 2020-05-23 21:56:30
also includes the metadata to pitch changing.
the meta data has to be "pitch_amt" with the amount of change as the exact number of semitones as a float.
If this new function can transpose songs without having to use Dynamic DSP, thank you master
But how to use it ?
I add the metadata "pitch_amt" with a value ("2.0" for example), but the tone does not change
I tried with the "Pitch Shift" DSP alone and with the "Pitch Tempo Rate" UI Element
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-24 04:46:52
the dsp has to be in the dsp chain first.
Title: Re: foo_dsp_effect
Post by: leonsk on 2020-05-24 08:53:32
@mudlord Just updated to 0.41 and can confirm that it works now, no more crashes.
Sorry for the late reply.
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-25 06:22:34
Excellent. Problem indeed was me misreading how COM works. Praise be to MSDN.
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-05-25 07:31:02
Quote
Question: is it possible to use some portions of your playback rate code and add it easily into Android / mobile version of foobar? I am asking more from technical point of view, as I have no idea about portability of code and your code for this certain plugin.

That is something for Peter to consider, only he has control of the source. SoundTouch should work fine on Android.

If there's any way of porting it to mobile and more specifically Playback Rate Shift I'd be eternally grateful, cheers

Doubt that will happen. Only Peter and some other devs work on foobar2000 mobile. As I said, the SoundTouch library is LGPL and should work fine on Android/iOS.

I cannot port foo_dsp_effect to Android.
Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2020-08-15 21:10:35
Hi, I updated to a newer version of dsp_effect (0.43) and I noticed a few things with the "Pitch/Tempo/Playback Rate" effect:
1. When hovering over the slider bars, scrolling up makes the percentage go down, while scrolling down makes the percentage go up. This is backwards.
2. Clicking on the slider makes the playback rate jump up or down 30%. This is a lot higher than what I ever use and I was wondering if there was any way to lower it (maybe it would jump up/down 1% or 2% instead?)
3. Is it possible to add a keyboard shortcut to change the playback percentage rates? For example, a keyboard shortcut to make the PB rate go up 1%, one to make it go down 1%, and another to reset it to default?
4. Is it possible to make the component's gui/window smaller, or change the layout somehow?  This is how my foobar looks with the latest version, and a square is not very conveniently shaped (see the screenshot below). It would be ideal if I could somehow only get the PB section and condense it down to be a lot thinner vertically somehow (even if it meant making it longer horizontally).

(https://i.imgur.com/lr1woJV.png)

Please let me know your thoughts on all four of these and if there would be any chance of making them happen. Thank you!
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-08-20 09:21:02
Quote
1. When hovering over the slider bars, scrolling up makes the percentage go down, while scrolling down makes the percentage go up. This is backwards.

I am using the default WTL class behaviours, not subclassed.

Quote
2. Clicking on the slider makes the playback rate jump up or down 30%. This is a lot higher than what I ever use and I was wondering if there was any way to lower it (maybe it would jump up/down 1% or 2% instead?)

Again, using default WTL behaviour for the slide control. It is possible to change the amount of "pages" so it goes up by one percent each click. (see .SetPageSize). Which means then clicking endlessly to make it where you want, where you could just slide instead or enter the exact value.

Quote
3. Is it possible to add a keyboard shortcut to change the playback percentage rates? For example, a keyboard shortcut to make the PB rate go up 1%, one to make it go down 1%, and another to reset it to default?

Adding a keyboard bind would be possible in the UI element box. Making it configurable would make it an entirely different matter as then I would have to bother with making a full blown bind set configuration system too.

Quote
4. Is it possible to make the component's gui/window smaller, or change the layout somehow?  This is how my foobar looks with the latest version, and a square is not very conveniently shaped (see the screenshot below). It would be ideal if I could somehow only get the PB section and condense it down to be a lot thinner vertically somehow (even if it meant making it longer horizontally).

Doing so would mean a drastic rewrite of the UI element. Personally I don't use the element as a box in the main FB2K view, so I never seen a need to make all UI elements the component exposes have all resizable UI controls. And to me frankly its not happening in the current future.

All the component stemmed from some personal needs of mine, its just a side effect somehow some other people seem to like the stuff exposed in it.  :-\

Title: Re: foo_dsp_effect
Post by: JohnTravolski on 2020-08-22 02:33:15
I'll gladly make the changes in the source code and compile it just for myself. Could you point me to which files in particular each of these changes would need to be made in? I'm only interested in the Playback Rate element.
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-08-30 02:08:21
dsp_soundtouch.cpp

Title: Re: foo_dsp_effect
Post by: Raznurok on 2020-10-04 22:36:50
Does anyone know what's happened to this plugin? It doesn't seem to be available.
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-10-06 09:21:39
Thats because I don't want anything to do with it or any of the other stuff I used to code.

Title: Re: foo_dsp_effect
Post by: Thundik81 on 2020-10-06 12:08:18
Thats because I don't want anything to do with it or any of the other stuff I used to code.

Thank you for everything!
Take care!
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-10-06 22:50:43
Right now I am too preoccupied with real world happenings to deal with anything remotely coding related. I have to sort out those matters first before I am even feeling comfortable enough to try code publically again.

I suppose I can upload to the uploads forum a copy of the binary and the source code. Thats the least I can do I suppose.
Title: Re: foo_dsp_effect
Post by: TheQwertiest on 2020-10-06 23:17:20
Right now I am too preoccupied with real world happenings to deal with anything remotely coding related. I have to sort out those matters first before I am even feeling comfortable enough to try code publically again.
Sounds like something really nasty happened =(
Hope that it (whatever it is) works out for you in the end...

And thanks for sharing the code, so that components could live on.
Title: Re: foo_dsp_effect
Post by: mudlord on 2020-10-07 04:40:47
Just had something physical health related pop-up and I really should deal with that first before doing I am comfortable doing anything else. Nothing overly major or anything, but I have to really look out for myself now way more than I used to months ago.

If it also means giving up programming or something to reduce stress or other things, so be it tbh.
Title: Re: foo_dsp_effect
Post by: Raznurok on 2020-10-07 18:02:27
Just had something physical health related pop-up and I really should deal with that first before doing I am comfortable doing anything else. Nothing overly major or anything, but I have to really look out for myself now way more than I used to months ago.

If it also means giving up programming or something to reduce stress or other things, so be it tbh.

I hope things get better for you, mudlord. Thank you for all the work you've done.
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-03-18 02:15:47
Reinstated download page. Wasn't sure about the version required for the component since it was last built, so I uploaded it as requiring 1.4.
Title: Re: foo_dsp_effect
Post by: sveakul on 2021-03-18 03:18:22
Glad to see you back again mudlord!  I hope you're feeling better.

A question:  is the .43 version with mod date 6/24/2020 that was available previous to your initial departure the same one that now has a modified date 9/19/20?  If not, is there a change log you could share?

I hope you're sticking around here but if not best of luck in your future goals.
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-03-18 18:12:09
It should be the same code wise. I tested it back to 1.4, which it works on. The DLL in the fb2k-component (which is a renamed ZIP) should have the file date as in June/July last year.

I should be sticking around but I am really interested in mainly maintaining it for my own use, and if any changes are made that benefits end users, then thats just a bonus I guess. Or random updates for bugs/UI/etc. I guess its my prerogative if end user stuff is taken into account, but these days I'll mainly focus on what I want out of it.

I feel much better coding sporadically these days instead of feeling obligated to provide support for......anything. Basically feel tons less stress as a result not having to deal with tech support, etc.
Title: Re: foo_dsp_effect
Post by: sveakul on 2021-03-18 23:56:01
I feel much better coding sporadically these days instead of feeling obligated to provide support for......anything. Basically feel tons less stress as a result not having to deal with tech support, etc.
That's great, and understood completely on losing THAT burden.

The foo_dsp_effect.dll with mod date of June 24, 2020 has a different hash than the dll with the mod date Sept 19, 2020, so that's why I assumed something may have changed despite having the same version number.  Anyway, your plugin has been essential for me and I'm sure will serve many more users in the future.  Thanks again.
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-03-19 04:23:02
Might be done to when I did the buffer updates to SoundTouch based DSPs.

Should have bumped that to 0.44, might as well do that then, since the code might be newer in Git than on FB2K servers.
Title: Re: foo_dsp_effect
Post by: sveakul on 2021-03-19 05:11:31
Ah, thanks mudlord!  I will check at a later date then for .44 in the fb2k repository whenever you get around to it as I do use the SoundTouch DSPs.
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-03-19 22:41:54
there, missed a spot with one dsp, should be updated. also updated to newest SoundTouch version.
Title: Re: foo_dsp_effect
Post by: sveakul on 2021-03-20 16:43:35
there, missed a spot with one dsp, should be updated. also updated to newest SoundTouch version.
Got it, much appreciated.  Thanks for being so responsive.
Title: Re: foo_dsp_effect
Post by: Koshingg on 2021-03-20 21:15:22
also includes the metadata to pitch changing.
the meta data has to be "pitch_amt" with the amount of change as the exact number of semitones as a float.
If this new function can transpose songs without having to use Dynamic DSP, thank you master
But how to use it ?
I add the metadata "pitch_amt" with a value ("2.0" for example), but the tone does not change
I tried with the "Pitch Shift" DSP alone and with the "Pitch Tempo Rate" UI Element


Hi! I add the metadata "pitch_amt" with any value (1.0 or 2.0 for example), the dsp is in the dsp chain first, but nothing happens.
I have the latest version of the component and foobar 1.6.4 , portable install ( this component is the only component that I have installed)
Thanks in advance mudlord (or anyone who can help)
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-03-20 21:37:48
Found the logic problem, a fix will be available very shortly.
Title: Re: foo_dsp_effect
Post by: Koshingg on 2021-03-20 22:41:52
Yes, it works now , thanks a lot for your work with this component.
Also I have a question (or a small request). Is it possible to do the same for Playback Rate Shift (using  metadata) ?
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-03-20 22:44:05
I don't see why not. I have some major updates planned down the track, I suppose this is entirely reasonable to add to that list for 0.50, whenever that time comes.
Title: Re: foo_dsp_effect
Post by: Koshingg on 2021-03-20 23:06:38
Yeees! :) Thanks a lot for your patience and dedication. I will wait version 0.50 then
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-03-20 23:41:39
Added 0.47 which adds the tags anyway. I did the same for Playback Rate Shift. Figured I was in MSVC anyway, so might as well do it now.
Title: Re: foo_dsp_effect
Post by: Koshingg on 2021-03-21 02:00:09
What can I say...Huge thankss :)
Btw I read a few months ago that you had some health problems, so take care, I wish you good health and good luck
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-03-21 03:51:41
I did.

Now that they are being treated, I am in general taking things very differently to how things are handled. For instance, to lower stress, only really doing coding on weekends. And not doing any real tech support for anything I make anymore.
Title: Re: foo_dsp_effect
Post by: Rollin on 2021-04-24 11:22:46
Hello! If you will be considering features requests again, can you please add ability to manually enter gain for IIR filter with granularity to 0.1 dB?
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-04-27 02:37:12
At some point, I wanted to add the same configurable things that the pitch/tempo/playback rate dialogs have with the custom edit control I added for manually entering values, to all the other DSP dialogs. I guess I should do that, though as always there is no ETA for when that happens.

I seen in the new SDK there is helpers for dynamically resizing controls (to allow for resizable dialog boxes with all their controls in proportion, like the EQ DSP has). Would be nice to *finally* add resizable DSP dialogs too.
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-05-02 03:02:27
Not to promise anything but:

https://twitter.com/mountnside/status/1388641210399526917

It is on my todo list what you asked. I plan to do it for every single UI Element and popup UI box.
Title: Re: foo_dsp_effect
Post by: sveakul on 2021-05-02 03:55:59
Very cool, thanks mudlord!
Title: Re: foo_dsp_effect
Post by: Thundik81 on 2021-05-02 12:48:54
TYVM, Appreciated!
Title: Re: foo_dsp_effect
Post by: ThutLotMax on 2021-07-06 18:53:12
Awesome work, Another leach i am asking for more features but is it possible to have a reset values to default option.
or Maybe even a few "bookmarks" or something.... maybe in the future.

Thanks for the awesome DSP Pack
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-08-07 00:42:11
Sorry for late reply.

In my current reworking of...all the dialogs to be resizable among other things, that is definately an easy request to do while I'm at it.

AFAIK the main problems people had were the DSP UI elements not being resizable. With some new helpers in the new 1.6 FB2K SDK, that is much, much easier to now add.
Title: Re: foo_dsp_effect
Post by: 6u6d6 on 2021-10-28 08:55:51
hi. any directory where all the older versions of this dsp are archived? For my own personal backup. Thank you. Especially because I sometimes like to have access to the old dynamics compressor for a more squashed sound.
Title: Re: foo_dsp_effect
Post by: sveakul on 2021-10-28 16:51:07
hi. any directory where all the older versions of this dsp are archived? For my own personal backup. Thank you. Especially because I sometimes like to have access to the old dynamics compressor for a more squashed sound.
What old version are you looking for?  I can supply  .43/.44/.45.
Title: Re: foo_dsp_effect
Post by: mudlord on 2021-11-06 20:11:43
There used to be an archive on Modland with foobar components. I remember in the past being a Japanese wiki for said backups too. I could readd it as well as a seperate DSP entry for the de-emphasis DSP too. I might keep the de-emphasis stuff as not driven by post-processors, though, since some people disliked that.

At the moment there is a fairly significant rewrite which has no ETA, but I guess I could readd it as well as the missing stuff.
Title: Re: foo_dsp_effect
Post by: stuboy1 on 2022-01-10 01:38:34
Any idea how i can imbed the pop up into my foobar main screen?
Title: Re: foo_dsp_effect
Post by: stprocal on 2022-01-10 05:24:35
At some point, I wanted to add the same configurable things that the pitch/tempo/playback rate dialogs have with the custom edit control I added for manually entering values, to all the other DSP dialogs. I guess I should do that, though as always there is no ETA for when that happens.

6 years ago I asked for a pitch control available in the toolbar (so with keyboard shortcuts capability).
It's sure a pain if anyone claim his favorite tool available in the Toolbar for convenience but... :-)
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-01-23 21:19:22
Yeah it is.

I kinda do my own programming bullshit for me and me only. I only really implement feature requests and things in my own software if I see a personal benefit to their use.

Its outlined on my GitHub page (https://github.com/mudlord/mudlord/blob/main/README.md).

Its been like that for many years and why things like progress have been so glacial. I only do bullshit when I want to, and if I care enough to implement said features. If people don't like that, they are more than welcome to fork the component, but I really don't want to know about said forks to begin with.
Title: Re: foo_dsp_effect
Post by: shw1395 on 2022-06-23 17:03:30
foobar2000 mobile and pc version cannot speed control, your dsp effect plugin cannot install in mobile, tell me how to tempo shift 95% in foobar2000 mobile?
Title: Re: foo_dsp_effect
Post by: doc_jochim on 2022-06-30 17:14:27
Hi,

is there any possibility to include your effects into my foobar2000-mobile? I love these effect-components to be used in my desktop-version, but sometimes I have to use foobar2000-mobile. But using foobar2000-mobile, I'm missing your effects.

Hope you can help me

André

Title: Re: foo_dsp_effect
Post by: Porcus on 2022-06-30 21:59:29
The mobile does still not support components at all?

Should be a pinned ...
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-01 21:18:26
Feature Request:

In the Pitch/Tempo/Playback Rate UI panel, allow for customisation of which controls are displayed.

Thank you, and thank you for this component.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-01 21:25:10
Feature Request:

also includes the metadata to pitch changing.

the meta data has to be "pitch_amt" with the amount of change as the exact number of semitones as a float.
Is there an equivalent for tempo change by metadata?  If not, please can I have one?
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-02 07:36:57
Feature Request:

also includes the metadata to pitch changing.

the meta data has to be "pitch_amt" with the amount of change as the exact number of semitones as a float.
Is there an equivalent for tempo change by metadata?  If not, please can I have one?

OK, belay that – I've just found this in the release notes (https://www.foobar2000.org/components/view/foo_dsp_effect/releases):
Quote
0.47 current version, released on: 2021-03-20
Added "tempo_amt" metadata parsing for Tempo Shift. Enables setting the tempo per file through tags. Tempo Shift needs to be in the DSP chain before using. Values from -95.0 to 95.0 are acceptable.
I will experiment!
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-02 08:31:54
I need some help with this please:

In the config for TagBox, I set up a new field "Tempo Shift" defined as "tempo_amt".  In Playlist View, I added a column defined as "[%tempo_amt%]".  Using TagBox I then inserted "-10" into tempo_amt for a track, and this showed up in Playlist View.  So far so good.

But I haven't managed to make it play at tempo -10%.  I'm not sure what "DSP chain" means, but the Tempo Enable tick box is ticked in the Pitch/Tempo/Playback Rate panel, and File > Preferences > Playback > DSP Manager > Active DSPs lists "Tempo Shift" (and only that).

What have I not done or done wrong?
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-02 10:33:06
What have I not done or done wrong?

I have just found out the version of DSP Effect installed is 0.44, but I downloaded it on 8th July 2022 and the release notes say 0.47 was released on 20th March 2021, so now I have to find out why this isn't what I downloaded.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-02 19:20:46
Have now been back to the components repository and discovered it says version 0.47.  The download is the same name as I downloaded before, but does not match in terms of content, and when installed has updated the register of components from 0.44 to 0.47, and now my tempo tag works!

Maybe somebody has updated the repository since 8th July?  Whatever, thanks very much!

Feature request: please could the tempo_amt setting be reflected in the control panel, so that (say) -5% appears as -5.00 in the tempo box and moves the slider the corresponding amount.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-03 09:06:28
Maybe somebody has updated the repository since 8th July?  Whatever, thanks very much!
I guess I must have (being a complete newbie at the time) downloaded from an out-of-date link in a forum post or something, instead of the formal components repo.

Feature request: please could the tempo_amt setting be reflected in the control panel, so that (say) -5% appears as -5.00 in the tempo box and moves the slider the corresponding amount.
I have now discovered that having a tempo_amt tag present, the tempo cannot then be adjusted.  No matter what I do with the Tempo % setting or slider control, the tempo adjustment is fixed (unless turned off all together).  That's no good to me.

Here's what I would like to happen:

When the cursor lands on a new track, read tempo_amt* tag and if present send the value to the Pitch/Tempo/Playback Rate control panel as a preset.  The control panel displays the preset and remains live for user input.

* Ditto the pitch_amt and pbrate_amt, but those do not affect me.
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-08-06 20:08:54
Quote
Maybe somebody has updated the repository since 8th July?  Whatever, thanks very much!

That would be me.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-07 07:06:48
That would be me.
Cheers!  Perhaps I'm not going mad after all (although I'm not sure anyone would agree).
Title: Re: foo_dsp_effect
Post by: ThutLotMax on 2022-08-07 10:24:50
Where can i find the Source repo for this DSP, cant seam to find it on Mudlords Git (maybe I'm blind) and the link on DSP download page is dead. 
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-07 10:32:01
Where can i find the Source repo for this DSP, cant seam to find it on Mudlords Git (maybe I'm blind) and the link on DSP download page is dead. 
https://www.foobar2000.org/ (https://www.foobar2000.org/) > Components > Effect DSP > Links > Download
Title: Re: foo_dsp_effect
Post by: ThutLotMax on 2022-08-07 13:30:07
The download link is for the component , what I need is actually the source code in the repo -The Source link to github is dead
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-07 13:43:30
Apologies.
Title: Re: foo_dsp_effect
Post by: ThutLotMax on 2022-08-07 13:59:35
Does anybody know what the difference is between the two algorithms Rubberband and SoundTouch used for the Playback Rate DSP Is?
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-07 14:06:48
It's all black magic to me, but the best summary I found is actually a promo for a commercial offering which disses the freebies:

https://superpowered.com/free-open-source-time-stretching-pitch-shifting

Click through and you'll see there was a new release of Rubber Band on 7/7/2022.  The latest release of SoundTouch was 7/9/2021 (sorry – I'm in the UK so my date format is DD/MM/YYYY), so I don't think Effect DSP 0.47 (20/3/2021) includes either of them.
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-08-07 22:42:55
The link is dead because the source base now includes things from the next major upcoming foobar2000 2.0 release.

With now being given clearance to release said code, I suppose I can add the link back.

Apologies.
Title: Re: foo_dsp_effect
Post by: ThutLotMax on 2022-08-08 02:52:38
Awesome, Thanks MudLord
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-08-12 22:42:59
Source code is back up, now including the new 2.0 public available SDK.
Title: Re: foo_dsp_effect
Post by: Raznurok on 2022-08-25 16:09:16
Is it possible to build this from source with the Rubber Band algorithm back in? I understand there's potential licensing issues when offering it as a .dll but I much prefer it over the SoundTouch module. Thanks in advance for any help!
Title: Re: foo_dsp_effect
Post by: fooball on 2022-08-25 20:30:08
Is it possible to build this from source with the Rubber Band algorithm back in? I understand there's potential licensing issues when offering it as a .dll but I much prefer it over the SoundTouch module. Thanks in advance for any help!
I'm using Effect DSP 0.47, and Rubber Band is offered as an option in the UI panel drop-down list.
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-08-26 09:38:57
Is it possible to build this from source with the Rubber Band algorithm back in? I understand there's potential licensing issues when offering it as a .dll but I much prefer it over the SoundTouch module. Thanks in advance for any help!

Some developers take the view that even source code only distributions could be infringing upon the GPL, if the code is for a proprietary application, even if the "glue" is BSD-licensed. Some others take the more extreme view that Windows is not FOSS, and thus not GPL compatible. I am extremely wary of stepping on any grounds to get sued by.
Title: Re: foo_dsp_effect
Post by: Raznurok on 2022-08-26 20:45:54
Thanks for your responses. I'll stick with 0.47 in that case. :)
Title: Re: foo_dsp_effect
Post by: omgwtf on 2022-09-29 08:22:51
I am so confused. I got new headphones and wanted to eq them in foobar, but when i go into the iir filter, there are only sliders and no way to type exact frequencies, which i thought there used to be. How did i put in the exact values for my other headphones and speakers if there wasn't? I can only change the frequency in 212hz jumps. I also never updated foobar or components iirc so i have no idea what is going on. Am i missing something?
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-10-15 22:31:13
That would be because something got missing when I did updates. Ideally I should go back through everything with a fine tooth comb to make sure everything is fine for the 64bit release, whenever and if ever that happens.

X

Like that?

You certainly didn't miss anything. I did.

Title: Re: foo_dsp_effect
Post by: SirTwist on 2022-10-27 18:52:19
Good evening!
I just stumbled upon this great component, and I need it mostly because of the speed/tempo adaption, for dance lessons and training.
Regarding that, I have a question and / or feature request:
Thank you for spending the time to read my post :)
Kind regargs,
Michael
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-10-28 22:48:30
That would be best solved with a subclassed spincontrol. A textedit basically with buttons to increase by exact increments. Maybe by 0.1 of a percent or 0.01 of a percent on holddown?
Title: Re: foo_dsp_effect
Post by: SirTwist on 2022-10-30 09:34:21
Good Morning,
thank you for considering my request :)
That would be best solved with a subclassed spincontrol.
I thought about some buttons to increase / decrease the speed. I was inspired by the MapleJB player on Android:
(https://i.ibb.co/bshsFB8/Screenshot-20221030-102821.png)
Personally, I would need steps with 1%, 5% and 10%, like shown above. Others might need more granular control.

Another suggestion, just from the experience from yesterday evening: Would it be possible to define an ID3 tag for automatic speed adjustment? Similar to the Regain feature? So if I add a tag %DSP_TEMPO% and set it to 98%, this song will be played automatically with 98%, and after the song, the tempo is restored.
Kind regards,
Michael
Title: Re: foo_dsp_effect
Post by: fooball on 2022-10-30 12:56:09
Would it be possible to define an ID3 tag for automatic speed adjustment?
This already exists, the tag is tempo_amt (I presume you don't really mean "speed") and is available to control the tempo if you have foo_dsp_effect version 0.47 installed and, tempo control in the effects chain.  The downside is that if the tempo is set in the tag, then it is impossible to override live.

See here: https://hydrogenaud.io/index.php/topic,122658.msg1013133.html#msg1013133
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-11-01 20:23:45
I thought I fixed that at some point, maybe need to redo it for beta 2. Whenever that comes out at least.
Title: Re: foo_dsp_effect
Post by: SirTwist on 2022-11-01 20:25:42
This already exists, the tag is tempo_amt (I presume you don't really mean "speed") and is available to control the tempo if you have foo_dsp_effect version 0.47 installed and, tempo control in the effects chain.  The downside is that if the tempo is set in the tag, then it is impossible to override live.
Wonderful! I wasn't aware of that. Thanks for pointing me to this.
Title: SPLIT: Re: foo_dsp_effect
Post by: Peter on 2022-11-04 09:20:49
One or more of the messages of this topic have been moved to Recycle Bin (https://hydrogenaud.io/index.php?board=41.0) - https://hydrogenaud.io/index.php?topic=123303.0 (https://hydrogenaud.io/index.php?topic=123303.0)

Please do not drag discussions about new vs old foobar2000 into unrelated topics.

Thanks.
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-12-06 20:48:48
beta 2 out. Will look at feature requests I think in beta 4. I wanted to really clean up beta 1 as well as adding full x64/DarkMode support.
I read the entire thread and I think I now fixed that tag issue with tempo/rate/pitch.

edit: and now beta 3 for those stuck on 1.6
Title: Re: foo_dsp_effect
Post by: bananamangofestival on 2022-12-09 20:53:13
thank you... i was waiting for this.
Title: Re: foo_dsp_effect
Post by: mrgypsum on 2022-12-10 06:53:07
when i attempt to load this, it fails out the component and i have to revert it back to pre beta version. i have windows 11 and the error message complains about the dll not being a valid system 32 repository
Title: Re: foo_dsp_effect
Post by: Cardiacs on 2022-12-10 07:02:45
when i attempt to load this, it fails out the component and i have to revert it back to pre beta version. i have windows 11 and the error message complains about the dll not being a valid system 32 repository

Me Too

Cardiacs
Title: Re: foo_dsp_effect
Post by: n99 on 2022-12-10 07:15:03
Beta 3 still works, can be downloaded here: https://www.foobar2000.org/components/view/foo_dsp_effect/release/0.50+beta+3
Title: Re: foo_dsp_effect
Post by: Cardiacs on 2022-12-10 07:19:37
Beta 3 still works, can be downloaded here: https://www.foobar2000.org/components/view/foo_dsp_effect/release/0.50+beta+3

Infatti ho la beta 3

Cardiacs
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-12-10 08:20:12
fixed. wrong dll. try now. did some ignoramous shit.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-12-10 12:24:03
Please can somebody explain why installing foo_dsp_effect v0.50 beta 3 in place of v0.47 changes my DUI config so dramatically?  It goes from this (0.47):

X
X

...to this (0.50b3):

X
X

...but (fortunately) it goes back to previous if I re-install 0.47.  FB2K 1.6.12.  I can understand why the tempo and graphic equaliser tabs might need to be re-configured, because they (presumably) are keyed to foo_dsp_effect, but why would the cover art tab go AWOL?  I guess the layout shift in the right hand pane is due to the width of the left hand pane previously being set by the tempo tab.
Title: Re: foo_dsp_effect
Post by: anamorphic on 2022-12-10 12:53:18
Yes the 'Tabs' element will revert to scroll buttons when the tabs no longer fit (see the arrow buttons on the right side of the left 'Tabs'?) Just move the middle splitter so the tabs fit again.

(Always been a pet peeve of mine because 'Playlist Tabs' element stacks tabs, and I wish the 'Tabs' one did the same or at least an option - that way you could make a vertical stack of tabs. But anyway...)
Title: Re: foo_dsp_effect
Post by: fooball on 2022-12-10 13:06:22
I just worked that out for myself, sorry my bad.  All I had to do was move the divider back to where it was before.

Regarding 0.50b3/1.6.12:


Nonetheless, very grateful mudlord is supporting us v1 users.
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-12-10 19:41:09
Try.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-12-11 14:54:24
Try [0.50 beta 5]
An improvement with reservations.  I think it's now a problem of clarity in the user interface (and bear in mind I have only looked at the tempo section, not pitch nor speed, but I suspect the comments apply similarly).


I think the shortcomings can be overcome very simply: take the tempo_amt value and instead of acting on it directly, use it to preset the UI setting (both percentage display and slider, and whether enabled or not), then the user gets to see exactly what's going on.  I'm undecided what to do at the end of the track - keep the setting as is or reset to 0%... maybe that could be an option tick box.

Add to that some buttons which increment/decrement the current percentage setting (again reflected in the percentage display and the slider), eg:

[ -10% ] [-3%] [-1%] [-0.5%] [Reset] [+0.5%] [+1%] [+3%] [+10%]

...and I'll be ecstatic.  I think somebody else wanted similar.  I can't imagine anyone needing finer control than that but if they do there's always direct typed input.  To cover all user requirements, maybe the buttons could be configurable in Preferences.

With grateful thanks for the continued support.

Incidentally, VirtualDJ's default settings automatically adjusts the next track's playback tempo (as auto-extracted on load) to match the measured beat rate of the current playing track.  Great for clubbing no doubt, not so clever if you're playing a jive followed by a waltz!  It wasn't until I realised what was going on that I was able to delve into the settings and disable it!

Beat detection in VirtualDJ is remarkably good... but not perfect, particularly when it comes to ballroom music, and can't be totally trusted.
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-12-11 19:17:23
Quote
use it to preset the UI setting (both percentage display and slider, and whether enabled or not), then the user gets to see exactly what's going on.  I'm undecided what to do at the end of the track - keep the setting as is or reset to 0%... maybe that could be an option tick box.

brilliant idea. why didn't I think of that.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-12-12 18:14:50
I'm holding my breath...
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-12-12 18:50:10
There is a conundrum though.

Is this to be done on track start? Programmatically I see the only way to do this is how I do it now. You cannot alter UI elements from playback_static callbacks AFAIK. You can only change things from the interfaces given, which is via DSP manager code.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-12-13 09:26:50
Can it be done on track select (which might be better anyway)?  Would track select interrupt existing current playing track (not sure)?
Title: Re: foo_dsp_effect
Post by: fooball on 2022-12-16 08:33:32
Okay, different tack:


Obviously the same would apply to pitch and speed.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-12-16 13:20:15
Can there be a separate enable for tempo_amt?  Then the user has the choice whether to respond to tempo_amt at all.  If not enabled (with the control enabled), 0 is the original tempo of the track, whereas with tempo_amt enabled, 0 represents the original tempo shifted by tempo_amt.[/li][/list]

To expand on this: two tick boxes, one for "Tempo Adjust Enable" and the other "tempo_amt Enable ([value])".

0 0 : no tempo alteration from original source;
0 1 : tempo_amt applied, adjustment controls ignored;
1 0 : tempo_amt ignored, adjustment controls operative with "0.00" representing original tempo;
1 1 : tempo_amt applied, adjustment controls operative with "0.00" representing original tempo after applying tempo_amt.

For the casual user (no tempo_amt tags), the tempo control panel operates exactly as before regardless of whether "tempo_amt Enable" is ticked.  For a serious listener to have set a tempo_amt tag, that will be the tempo they want and all they need is "tempo_amt Enable" ticked.

For my use-case, where I might have a baseline alteration of tempo for a ballroom track but still need to tweak that live, I have full options.
Title: Re: foo_dsp_effect
Post by: mudlord on 2022-12-21 05:02:11
Can it be done on track select (which might be better anyway)?

No. Can be done on track start/new track.

Quote
Is it possible to display the value of tempo_amt in the control panel?  At least then the user can see what the effect of "enable" will be, even if not reflected in the controls.

It does now.

To be quite honest I think the elaborate set of options to me is getting tedious and unfun to implement, which is fairly important since I originally coded this component for myself and out of fun. It is no longer becoming fun.

At the moment to be honest I'd rather be implementing features I want at this stage, since I am rather done with the component and rather work on other things since to me personally, its complete.
Title: Re: foo_dsp_effect
Post by: fooball on 2022-12-25 10:51:44
Fair enough, it is all appreciated.

As it stands, the tempo_amt tag remains pretty well useless for me (or at least very inconvenient to use).  0.50b5 is nice in that it separates the control panels for tempo, speed, and pitch, but I will continue to adjust tempos live and not use tempo_amt presets.
Title: Re: foo_dsp_effect
Post by: KLR on 2023-08-08 19:07:32
I'm a musician who likes to play along with recordings, and often the pitch is off up to two semitones in either direction, so I created DSP chain presets for each of those increments, then added buttons for each to my toolbar - including one in the middle for normalizing pitch.  It's much like what people are asking for here.

I had to redo all of those presets for the move to 2.0, too - using them on the new build would just give errors.  Pretty easy to correct, though.  Thanks for keeping one of my favorite components up and running!
Title: Re: foo_dsp_effect
Post by: zizka90 on 2023-10-16 14:11:52
Is it just me who has a problem that tracks in which I change the tempo or pitch do not play smoothly? The track sounds choppy. I wish it worked more smoothly.
For example, in Aimp internal plugins do this more smoothly.
Title: Re: foo_dsp_effect
Post by: fooball on 2023-10-16 15:58:30
Is it just me who has a problem that tracks in which I change the tempo or pitch do not play smoothly?
I find it's adequate when the adjustment is slight, but go beyond (say) 20% and artefacts are obtrusive.
Title: Re: foo_dsp_effect
Post by: zizka90 on 2023-10-16 21:19:14
I find it's adequate when the adjustment is slight, but go beyond (say) 20% and artefacts are obtrusive.

Is it possible for the developer to improve this point? So that the sound is free of artifacts, regardless of the level of tempo or pitch.
Title: Re: foo_dsp_effect
Post by: fooball on 2023-10-16 21:32:17
Is it possible for the developer to improve this point? So that the sound is free of artifacts, regardless of the level of tempo or pitch.
I doubt it, for several reasons:
There are great tomes written on this subject, if you google.  Being prepared to do the processing ahead of time allows for non-real-time processing, and the high-quality option in the Audacity stretcher does a very good job.
Title: Re: foo_dsp_effect
Post by: TF3RDL on 2023-10-18 08:59:50
FR for the IIR Filter effect on this component: The ability to set frequency value to fractional values, rename frequency value from "Frequency (db)" to "Frequency (Hz)", higher order filters (up to 40th order) and coefficient configurations (Butterworth, Bessel, Chebyshev type I and II, Elliptic, Critically-damped, and Linkwitz-Riley crossover filters) for all filter types (including low and high shelving and peaking filters), and channel configuration to EQ specific channels (including Mid and Side channels)

Of course, I'd like to see high-order low-shelf filter for bass boosting at 69Hz or 75Hz and below with similar sound to fb2k's built-in EQ but minimum-phase (to avoid pre-ring) for Butterworth case, and type I Chebyshev low-shelf filter with passband ripple of 6dB or more for sounding like WMP's 10 band EQ when boosting first two bands (31.5Hz and 63Hz respectively)
Title: Re: foo_dsp_effect
Post by: bamajon1974 on 2024-01-30 01:34:00
Have the DSP Effect plugins been updated or released out of beta yet?
Title: Re: foo_dsp_effect
Post by: mudlord on 2024-01-30 19:26:42
I never really felt the need. For me it fills my needs so far of what I wanted to accomplish with the component, which I do want to rewrite for use in my own personal tech, which would mean rewriting the entire thing to use SSE/NEON. So it seemed to me kinda pointless just to bump a version number.

Why do you ask? :)
Title: Re: foo_dsp_effect
Post by: bamajon1974 on 2024-02-01 01:12:12
Since the last update was still a beta release, I wondered if the component still had bugs or was abandoned altogether.
Title: Re: foo_dsp_effect
Post by: mudlord on 2024-02-01 04:24:38
I'll reiterate what I said:
Quote
For me it fills my needs so far of what I wanted to accomplish with the component

So I didn't feel the need to push a version number for the sake of it, just so people can see "line go up".