Skip to main content

Notice

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

foo_dsp_effect

Reply #175
well it would be very helpful to know what tag it uses....

 

foo_dsp_effect

Reply #176
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.


foo_dsp_effect

Reply #178
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.

foo_dsp_effect

Reply #179
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.

foo_dsp_effect

Reply #180
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?

foo_dsp_effect

Reply #181
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.)

foo_dsp_effect

Reply #182
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.

foo_dsp_effect

Reply #183
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


foo_dsp_effect

Reply #185
noticed the problem with the aliasing and such

mudlord.info/temp/foo_dsp_effect.zip
mudlord.info/temp/foo_dsp_effect_nodemph.zip

foo_dsp_effect

Reply #186
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).

foo_dsp_effect

Reply #187
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".

foo_dsp_effect

Reply #188
(...) 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


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

foo_dsp_effect

Reply #189
One question - is it possible to make foobar display length of track after playback rate shift modification? I'm thinking mostly about status bar.

foo_dsp_effect

Reply #190
No.

foo_dsp_effect

Reply #191
OK, but you mean impossible because you are not willing to code it or because of foobar's limitations?

foo_dsp_effect

Reply #192
from what I know, the latter.

foo_dsp_effect

Reply #193
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?

foo_dsp_effect

Reply #194
I am honestly unsure whether DSP services can do get_dynamic_info(). I know its certainly possible in preprocessor services, though.


foo_dsp_effect

Reply #196
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?

foo_dsp_effect

Reply #197
I don't care about that "bug", since the DSPs were intended for listening, not for archiving. >_>

foo_dsp_effect

Reply #198
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?

foo_dsp_effect

Reply #199
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.