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: Flex DSP (Read 16123 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Flex DSP

Switch DSP based on track metadata.

This component starts independent development on Dynamic DSP v2.1.1.3.

Flex DSP v1.0

What new:
- Added option to log DSP updates.

Fixes:
- Unrecoverable error: 6 channel/DSP updates in exclusive mode.
- Multi-line chain configuration dialog labels.
- Nested chain configuration dialog crash.

Importing Dynamic DSP (v2.1.1.3) chain definitions:

- Open Dynamic DSP, enable 'Export setup on exit' and click OK.
- Copy/rename <profile>/configuration/foo_dynamicdsp.exp foo_flex_dsp.exp.
- Imported settings will be used as default by the first Flex DSP instance added to the active DSPs.

Note: Imports only from the Active DSP root and secondary groups.

Re: Flex DSP

Reply #1
Switch DSP based on track metadata.

This component starts independent development on Dynamic DSP v2.1.1.3.

Flex DSP v1.0

What new:
- Added option to log DSP updates.

Fixes:
- Unrecoverable error: 6 channel/DSP updates in exclusive mode.
- Multi-line chain configuration dialog labels.
- Nested chain configuration dialog crash.

Importing Dynamic DSP (v2.1.1.3) chain definitions:

- Open Dynamic DSP, enable 'Export setup on exit' and click OK.
- Copy/rename <profile>/configuration/foo_dynamicdsp.exp foo_flex_dsp.exp.
- Imported settings will be used as default by the first Flex DSP instance added to the active DSPs.

Note: Imports only from the Active DSP root and secondary groups.
hi
i'm using this amazing plugin!
but can i ask you which version is the last ?
Flex DSP or Dynamic DSP ?
just because i have installed both
should we post here any feedbacks
thanks

Re: Flex DSP

Reply #2
Switch DSP based on track metadata.

This component starts independent development on Dynamic DSP v2.1.1.3.

Flex DSP v1.0

What new:
- Added option to log DSP updates.

Fixes:
- Unrecoverable error: 6 channel/DSP updates in exclusive mode.
- Multi-line chain configuration dialog labels.
- Nested chain configuration dialog crash.

Importing Dynamic DSP (v2.1.1.3) chain definitions:

- Open Dynamic DSP, enable 'Export setup on exit' and click OK.
- Copy/rename <profile>/configuration/foo_dynamicdsp.exp foo_flex_dsp.exp.
- Imported settings will be used as default by the first Flex DSP instance added to the active DSPs.

Note: Imports only from the Active DSP root and secondary groups.
hi
i'm using this amazing plugin!
but can i ask you which version is the last ?
Flex DSP or Dynamic DSP ?
just because i have installed both
should we post here any feedbacks
thanks
@francesco, I also enjoy using this plugin. This version is current Flex DSP v1.0.
I think @da yuyu created this thread also to post feedback from users here.

Re: Flex DSP

Reply #3

@Sergey77  @da yuyu

hi
I would like to know if Flex Dsp can enable/disable replaygain and set replagay to album or artist and vice versa , i would like too
about disble and enable replaygain Playlist Attributes (foo_playlist_attributes) can do it but there are some bugs
and i can not find any information how to disable "ReplayGain scanner mode with DSP enabled" outside hide from the context menu
thanks



Re: Flex DSP

Reply #6
hi
i have created a foobar2000 script to add tags items like TRACKDSP and TRACK_FLEXDSP , it could be done with lots of albums in 1 click
so it's pretty easy to add an value like EqLowHigh , or Eqbalance
I think could be a good idea,what do you think?
thanks

Re: Flex DSP

Reply #7
Bug report: it doesn't seem to work with the youtube source plugin.  I have no idea why, but if you need any more info let me know.  Thank you!

Re: Flex DSP

Reply #8
Suggestion: Rename the component file to "foo_dsp_flexdsp" so it follows the naming convention for most every dsp component and can be grouped together with the other dsp components in FB2K's component list.

Re: Flex DSP

Reply #9
Suggestion: Rename the component file to "foo_dsp_flexdsp" so it follows the naming convention for most every dsp component and can be grouped together with the other dsp components in FB2K's component list.
hi
i don't know if the author will update the component
i think it's open source ,could be renamed the file to foo_dsp_flexdsp , or should be re-compiled?
thanks

Re: Flex DSP

Reply #10
@francesco and @Just_Addict,
Sure, I will change the name.., you mentioned foo_dst_flexdst.
Why not just foo_dst_flex?
If you already made up your mind (foo_dst_flexdst),
I'll publish the new release both here and at the repo in a few days.


Re: Flex DSP

Reply #12
Now this seems to be interesting for me. Not sure. My first idea is to foo_Amplify or foo_replaygain_alternative depending on %__replagain...% values. Not yet tested, I guess it's not possible, because it would require float() comparison.

What's your use cases btw? I'm curious.

Re: Flex DSP

Reply #13
Please check this issue. Present on both versions of the component (old and new).
https://hydrogenaud.io/index.php/topic,96094.msg1053288.html#msg1053288

Re: Flex DSP

Reply #14
I guess now's a good time for me to speak up. I've been using this and Dynamic DSP for many years now, and it works for the original purpose I need it for with no trouble (skip silence at the beginning of tracks with a particular tag).

However, every time I have tried to do something with it with DSPs affecting the audio, it has always returned mixed results and audible skipping and popping.

1. I tried to automatically switch from my usual DSP to Dolby Headphone using it when it would detect more than stereo channels, and it worked for FLAC files but would cause popping, skipping, etc. when used with any other file format, such as UMX (which often have 4 channels).

2. I also tried to use it to automatically switch my Convolver DSP chain off when anything with a custom Binaural tag was present, and same as before it worked when presented with FLAC but it would cause popping and skipping on MP3s and some others, regardless of whether they had the Binaural tag or not.

My main takeaway has been that I can use it to skip silence when it sees that tag, but I can't trust it for any other task. It would be cool if it could be made to be more reliable.
Think millionaire, but with cannons.

Re: Flex DSP

Reply #15
I've been using this component for around eight months, and the only chain I had set up was for affix silence. About four days ago I added a chain entry for VLevel, and that VLevel entry disappears from the chain list. If I recheck the chain list later the VLevel entry might be back in the list (but it will diappear again).

Has anyone had this happen to them? Where their entries disappear from the chain list?

I have a regular system installed foobar2000, and a portable installation of the same version.

The sys. installation is the one where the disappearance takes place, no observed problems with the portable installation.

This isn't a bug report, as such, or even a gripe. I am ready to chaulk it up to the laptop I am using being a low end Dell. Just wondering if any others have experienced this.

X

Re: Flex DSP

Reply #16
@cwb

There is no problem in my environment.

foobar2000 v2.24.1 64-bit

VLevel (foo_dsp_vlevel) x86 x64 2023-08-27
https://foobar.hyv.fi/?view=foo_dsp_vlevel



Flex DSP screen > Double-click VLevel > DSP chain presets > VLevel select > Load
or
DSP chain presets "Flex DSP" Save

Did you click "Load" at the end to load it?

DSP Manager > Active DSPs:
Please empty DSP Manager > Active DSPs and set it again from the beginning.
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, HIFIMAN ANANDA, Bowers & Wilkins P7, FiiO FT5, FiiO FT1 Pro, 水月雨 (MOONDROP) 空鳴 - VOID, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: Flex DSP

Reply #17
How to use Flex DSP (foo_flex_dsp):
Reply #3: https://hydrogenaud.io/index.php/topic,127075.msg1055859.html#msg1055859

-----

Multiple Registrations:

Flex DSP screen Top:
Change the titleformat script.
e.g [%track_flexdsp2%] > DSP chain presets > Flex DSP 2

Properties > + add new > TRACK_FLEXDSP2 > DSP chain prresets name

SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, HIFIMAN ANANDA, Bowers & Wilkins P7, FiiO FT5, FiiO FT1 Pro, 水月雨 (MOONDROP) 空鳴 - VOID, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: Flex DSP

Reply #18
Actually what I did yesterday, about two hours after I had posted in this thread was, for the heck of it, I added another DSP to the Flex DSP chain, in this case it was Tempo Shift, and then I added VLevel to the chain. So I had three entries:

affix_silence
Tempo_Shift
VLevel

and then I closed foobar2000, and restarted it, and the three entries were still in the DSP chain window, so I removed the Tempo_Shift entry. Which left the two I wanted:

affix_silence
VLevel

I don't know what I was expecting to happen by doing the above, but so far the VLevel entry has not disappeared.


Another thing worth my noting is that, in the past, when I unticked the "Enable evaluation to multiple chains" box. When I reopened the Flex DSP settings window, that box I had unticked would be reticked. I just accepted that maybe that is the way it was supposed to be, except in my portable installation that box when unticked, remained unticked.

Since doing the above, adding and removing, yesterday evening, the "Enable evaluation to multiple chains" box in the foobar2000 system installation has remained unticked.

Hoping the VLevel entry doesn't start disappearing again.

But why it would seem to have been jostled into behaving is beyond me.

 

Re: Flex DSP

Reply #19
@cwb

"Flex DSP" Basic Usage

Enable DSP in Preferences > DSP Manager > Active DSPs.
Then give it a DSP chain presets name and save it.
Register that DSP chain presets name in "Flex DSP" and use it.
Otherwise it will be meaningless.

How about this basic usage?
--------
By "add," do you mean Flex DSP Screen > New chain > Chain box?

Flex DSP screen > Double-click VLevel > DSP chain presets > VLevel select > Load > Save
or
DSP chain presets "Flex DSP" Save

Have you done so?
--------
I think you are using the basics correctly.
Try a new Script e.g. [%track_flexdsp2%] > DSP chain presets > Flex DSP 2
and
Properties > + add new > TRACK_FLEXDSP2 > DSP chain prresets name etc.
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, HIFIMAN ANANDA, Bowers & Wilkins P7, FiiO FT5, FiiO FT1 Pro, 水月雨 (MOONDROP) 空鳴 - VOID, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: Flex DSP

Reply #20
Reply #3: https://hydrogenaud.io/index.php/topic,127075.msg1055859.html#msg1055859

Example of DSP preset acquisition when using Flex DSP (foo_flex_dsp):

Output Info (foo_outinfo)
https://foobar.hyv.fi/?view=foo_outinfo

Output Info (foo_outinfo) to obtain the DSP preset name.
Use %output_dsp_preset%.

Title Formatting Reference - Control flow functions
https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference#Control_flow_functions

Use $ifequal(int1,int2,then,else).
for example:
$ifequal(%output_dsp_preset%,Flex DSP,%track_flexdsp%,)

Statusbar (Default UI)
[ >>>DSP preset<<<: %output_dsp_preset%]$ifequal(%output_dsp_preset%,Flex DSP,[ : %track_flexdsp%],)



Text Display (JSP 3)
[DSP preset: %output_dsp_preset%]$ifequal(%output_dsp_preset%,Flex DSP,[ : %track_flexdsp%],)$crlf()

Flowin
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, HIFIMAN ANANDA, Bowers & Wilkins P7, FiiO FT5, FiiO FT1 Pro, 水月雨 (MOONDROP) 空鳴 - VOID, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: Flex DSP

Reply #21
Is $ifequal(%output_dsp_preset%,Flex DSP,%track_flexdsp%) working?
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, HIFIMAN ANANDA, Bowers & Wilkins P7, FiiO FT5, FiiO FT1 Pro, 水月雨 (MOONDROP) 空鳴 - VOID, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: Flex DSP

Reply #22
Is this correct?

$ifequal(%output_dsp_preset%,'Flex DSP',%track_flexdsp%,)
$ifequal(%output_dsp_preset%,'Flex DSP',[ : %track_flexdsp%],)

The %track_flexdsp% is no longer displayed when a DSP preset other than Flex DSP is selected.
--------
for example:

Statusbar (Default UI)
[ >>>DSP preset<<<: %output_dsp_preset%]$ifequal(%output_dsp_preset%,'Flex DSP',[ : %track_flexdsp%],)
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, HIFIMAN ANANDA, Bowers & Wilkins P7, FiiO FT5, FiiO FT1 Pro, 水月雨 (MOONDROP) 空鳴 - VOID, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)

Re: Flex DSP

Reply #23
^ $ifequal is used to compare numbers (integers), not text.

You probably want one of the string (text) compare -

Quote
$strstr(str1,str2)
Returns position of first occurrence of string str2 in string str1. Function is case-sensitive.

$strcmp(str1,str2)
Performs a case-sensitive comparison of the strings str1 and str2.

$stricmp(str1,str2)
Performs a case-insensitive comparison of the strings str1 and str2.

So something like -

Code: [Select]
$if($strcmp(%output_dsp_preset%,'Flex DSP'),%track_flexdsp%,)

(Thought I'm not using either of these components to know for sure what is happening)

Re: Flex DSP

Reply #24
@anamorphic
Thanks for the great advice!
------
No, I don't understand. orz
SHURE SRH1840, SENNHEISER HD660S2, SENNHEISER HD620S, SENNHEISER HD 490 Pro Plus, beyerdynamic DT 1990 PRO, HiFiMAN Edition XS, HIFIMAN ANANDA, Bowers & Wilkins P7, FiiO FT5, FiiO FT1 Pro, 水月雨 (MOONDROP) 空鳴 - VOID, SONY WH1000XM5 (made a Upgrade/Balanced Cable by myself)