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 248940 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_dsp_effect

Reply #300
Wow! Can't wait to leave hospital to test it :-)

Re: foo_dsp_effect

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

Re: foo_dsp_effect

Reply #302
DirectX DMO effects will work on Wine, if you regsvr32 msdmo.dll from a Windows XP installation instead of the Wine stub dll.

Re: foo_dsp_effect

Reply #303
Interesting. Its curious how OpenMPT has complete DMO emulation for non Windows systems, while Wine people refuse to add such functionality.

Re: foo_dsp_effect

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

Re: foo_dsp_effect

Reply #305
Seems then I need to make the dynamics compressor fully instance safe.

Re: foo_dsp_effect

Reply #306
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%.

Re: foo_dsp_effect

Reply #307
@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.

Re: foo_dsp_effect

Reply #308
@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.

Re: foo_dsp_effect

Reply #309
it should show up, it needs the latest foobar2000 alpha.

Re: foo_dsp_effect

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


Re: foo_dsp_effect

Reply #312
@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.

Re: foo_dsp_effect

Reply #313
Thanks. No crashes with this one and so far the multi-thread conversions worked fine.

Re: foo_dsp_effect

Reply #314
Thanks, I'll make it official then.

Re: foo_dsp_effect

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

Re: foo_dsp_effect

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

Re: foo_dsp_effect

Reply #317
I would opt for optimized sizes of UI elements. Bu especially - for splitting Tempo, Pitch and PRS :)

Re: foo_dsp_effect

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



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!

Re: foo_dsp_effect

Reply #319
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
a fan of AutoEq + Meier Crossfeed

Re: foo_dsp_effect

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

Re: foo_dsp_effect

Reply #321
Maybe kode's reverb? The one which is based on PSX reverb?

 

Re: foo_dsp_effect

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

Re: foo_dsp_effect

Reply #323
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 :)

Re: foo_dsp_effect

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