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

foo_dsp_fsurround

Reply #100
I can't access the attachment! :-(

"Sorry, some required files are missing, if you intended to view a topic, it's possible that it's been moved or deleted. Please go back and try again."

I'm dying to test the new version! Please provide a new link!

Thank you pro_optimizer :-)

Edit: Nevermind, I found it: foo_dsp_fsurround_0.8_beta

foo_dsp_fsurround

Reply #101
I can't access the attachment! :-(

"Sorry, some required files are missing, if you intended to view a topic, it's possible that it's been moved or deleted. Please go back and try again."

I'm dying to test the new version! Please provide a new link!

Thank you pro_optimizer :-)

Edit: Nevermind, I found it: foo_dsp_fsurround_0.8_beta


Thanks - thought that I could just replace the attached file after I noticed that a feature was disabled... fixed now.

foo_dsp_fsurround

Reply #102
Fix: Had the wrong default value for Focus (should have been 0) -- upped the version number to 0.8.1. Sorry for the inconvenience!

Updated the attachment in the first post.

foo_dsp_fsurround

Reply #103
Just dropping by to say thanks for the plugin, it's great!

Pain of Salvations' albums seem to be consistently superb with it - or certainly the two I've listened to so far.

foo_dsp_fsurround

Reply #104
Replying again to say thank you as well.
Sound is really great on almost everything I am listening to.
Voice is properly centered in rock music and electronic music sounds just incredible.
(Especially my Ultimae Records collection!)

Always a pleasure!

You should get it added to the component page.

foo_dsp_fsurround

Reply #105
Some questions (of many):
- Does SQ decoding mean just selecting 4.1 without LFE, and QS the same but with 1.5 separation (both or just front/rear)? Can you share how you implemented SQ decoding? I read Wendy Carlos schematics but did not really understand how to do it (not thinking about C programming)
- I have a radioplay encoded in MP3 joint stereo. When I play it with 4.1 I don't get anything in rear channels - it's just plays like I don't have this component in DSP manager. If I decode it to mid-side I get only mid
- similarly to above, if I try default 5.1 setting on mentioned material, I get only center channel, all others are muted. With previous version of this component this can happen if "Center image" is set to 1

foo_dsp_fsurround

Reply #106
Some questions (of many):
- Does SQ decoding mean just selecting 4.1 without LFE, and QS the same but with 1.5 separation (both or just front/rear)? Can you share how you implemented SQ decoding? I read Wendy Carlos schematics but did not really understand how to do it (not thinking about C programming)
- I have a radioplay encoded in MP3 joint stereo. When I play it with 4.1 I don't get anything in rear channels - it's just plays like I don't have this component in DSP manager. If I decode it to mid-side I get only mid
- similarly to above, if I try default 5.1 setting on mentioned material, I get only center channel, all others are muted. With previous version of this component this can happen if "Center image" is set to 1


Yes, that'd be the correct approach. It could be that the joint stereo has damaged some of the surround info (possibly if it was done with one of the early encoders), but that's hard to tell. Is your source material available from somewhere (possibly in original form)? Then, I could test it myself. With today's methods one can do a theoretically optimal SQ decoder (just like FS is basically optimal for DPL2 etc.), if one uses the correct encoding matrix... but that requires some mathematics. Given some material for testing I might look into it on a future weekend.

foo_dsp_fsurround

Reply #107
thank you for this new version, pro_optimizer, it's full of new functionality to experiment with surround with great results..
it's become my top dsp plugin in my 5.1 setup and it's always on. Its processing makes magic from stereo.
Keep up the good work!

foo_dsp_fsurround

Reply #108
Thanks for the Plugin,  It's very much appreciated.

I do have a question, how does the Bass Transition Lower, and Bass Transition Upper work?

I noticed the levels in the LFE goes up when i put bass transition lower to 80hz.  My goal is to pretty much just send anything at 80hz and lower to the LFE.

Also, I created a 6 Channel wav, to see if I can isolate the Centre Channel and I noticed that a lot of bass was being sent there. 

Also, with the bass in the centre channel, and the bass that's being re-directed to the LFE, I'm getting extra bass in the tracks.  My receiver is re-directing the bass from the centre to my LFE.  I don't mind the extra bass too much, but i'd like it all in the LFE from the get go.

In Soundbooth, the centre channel is also peaking above 0db

My settings are set to 5.1 (surround), with direct bass to LFE checked.

I'll looking into trying the other 5.1 settings to see if it'll help.

thanks again with the plugins.

foo_dsp_fsurround

Reply #109
beta 0.8.1 makes foobar crash on my system, when i try to open DSP manager
Crash report:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 02159AA4h
Access violation, operation: write, address: 021BE604h

Call path:
entry=>app_mainloop

Code bytes (02159AA4h):
02159A64h:  74 09 8B 16 8B 42 04 8B CE FF D0 B0 01 8B 4C 24
02159A74h:  34 64 89 0D 00 00 00 00 5F 5E 8B E5 5D C2 08 00
02159A84h:  8B 4C 24 34 5F 32 C0 64 89 0D 00 00 00 00 5E 8B
02159A94h:  E5 5D C2 08 00 CC CC CC CC CC CC CC 8B 44 24 04
02159AA4h:  F3 0F 7E 05 04 E6 1B 02 66 0F D6 00 F3 0F 7E 05
02159AB4h:  0C E6 1B 02 66 0F D6 40 08 C2 04 00 B0 01 C3 CC
02159AC4h:  CC CC CC CC CC CC CC CC CC CC CC CC 56 8B 74 24
02159AD4h:  10 57 8B 7C 24 0C E8 51 19 05 00 5F 5E C2 0C 00

Stack (0012EB70h):
0012EB50h:  0012F944 7C9C94F8 77F643ED 7C9C94F8
0012EB60h:  00000004 00000000 0012EE50 00000000
0012EB70h:  00443EB4 0012EC00 00000000 7E37929A
0012EB80h:  0350F578 00000000 0220F958 00000000
0012EB90h:  00000000 00000000 00000001 01000000
0012EBA0h:  0056B7E8 0371FFF8 00000015 00000040
0012EBB0h:  00000014 03511130 0000000A 0000000C
0012EBC0h:  00F31DC0 00000000 001AB1E8 00000005
0012EBD0h:  0000000A 00000000 00000000 00000000
0012EBE0h:  035012F8 00000000 00000000 03511130
0012EBF0h:  00000000 00000000 00000000 00000000
0012EC00h:  0E2473DF 471B1170 D4C509A6 D45AD3A6
0012EC10h:  00000000 0012EC5C 005514EA 00000002
0012EC20h:  00030610 0012EC6C 0044385B 0350F578
0012EC30h:  0012ED6C 0350F578 000004DD D80A0EFC
0012EC40h:  00000104 01000000 0012EC7C 0012EC68
0012EC50h:  00447705 00050620 0012ED6C 0012ED04
0012EC60h:  00554708 FFFFFFFF 0012EC84 0012EC84
0012EC70h:  00442F4C 000605F4 00000110 00050620
0012EC80h:  0350F578 0012ECAC 00446301 00050620

Registers:
EAX: 0012EC00, EBX: 0012EB01, ECX: 0220F958, EDX: 0012EC00
ESI: 0350F578, EDI: 035012F8, EBP: 0012EC24, ESP: 0012EB70

Crash location:
Module: foo_dsp_fsurround_beta
Offset: 9AA4h

Loaded modules:
foobar2000                      loaded at 00400000h - 005F0000h
ntdll                            loaded at 7C900000h - 7C9B3000h
kernel32                        loaded at 7C800000h - 7C8F8000h
COMCTL32                        loaded at 773C0000h - 774C3000h
msvcrt                          loaded at 77C00000h - 77C58000h
ADVAPI32                        loaded at 77DC0000h - 77E6C000h
RPCRT4                          loaded at 77E70000h - 77F03000h
Secur32                          loaded at 77FE0000h - 77FF1000h
GDI32                            loaded at 77F10000h - 77F59000h
USER32                          loaded at 7E360000h - 7E3F1000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
DSOUND                          loaded at 73ED0000h - 73F2C000h
ole32                            loaded at 774D0000h - 7760E000h
VERSION                          loaded at 77BF0000h - 77BF8000h
WINMM                            loaded at 76B20000h - 76B4E000h
UxTheme                          loaded at 5B260000h - 5B298000h
SHELL32                          loaded at 7C9C0000h - 7D1DB000h
zlib1                            loaded at 5A4C0000h - 5A4D4000h
shared                          loaded at 10000000h - 1002B000h
imagehlp                        loaded at 76C80000h - 76CA8000h
dbghelp                          loaded at 59C60000h - 59D01000h
COMDLG32                        loaded at 76380000h - 763C9000h
CRYPT32                          loaded at 77A70000h - 77B06000h
MSASN1                          loaded at 77B10000h - 77B22000h
gdiplus                          loaded at 4EBE0000h - 4ED8B000h
IMM32                            loaded at 76360000h - 7637D000h
MSCTF                            loaded at 746E0000h - 7472C000h
WINTRUST                        loaded at 76C20000h - 76C4E000h
wdmaud                          loaded at 72CE0000h - 72CE9000h
msacm32                          loaded at 72CD0000h - 72CD8000h
MSACM32                          loaded at 77BD0000h - 77BE5000h
midimap                          loaded at 77BC0000h - 77BC7000h
msctfime                        loaded at 75310000h - 7533E000h
foo_bitcompare                  loaded at 01030000h - 01058000h
foo_input_shorten                loaded at 01080000h - 010AD000h
foo_chacon                      loaded at 010D0000h - 010F4000h
foo_gep                          loaded at 01110000h - 011CA000h
MSIMG32                          loaded at 76350000h - 76355000h
OLEAUT32                        loaded at 77110000h - 7719B000h
foo_dsp_eqsplit                  loaded at 011F0000h - 01242000h
foo_dsp_mm                      loaded at 01270000h - 012B1000h
foo_input_std                    loaded at 012D0000h - 01425000h
foo_benchmark                    loaded at 01450000h - 0147D000h
foo_input_ofr                    loaded at 014A0000h - 014DD000h
OptimFROG                        loaded at 014F0000h - 01521000h
foo_wave_seekbar                loaded at 01550000h - 0171A000h
WS2_32                          loaded at 71A90000h - 71AA7000h
WS2HELP                          loaded at 71A80000h - 71A88000h
foo_dsp_winamp                  loaded at 01740000h - 01768000h
foo_dsp_convolver                loaded at 01790000h - 0184A000h
PSAPI                            loaded at 76BE0000h - 76BEB000h
foo_texttools                    loaded at 01870000h - 018A4000h
foo_dsp_ssrc                    loaded at 018D0000h - 01903000h
foo_freedb2                      loaded at 01920000h - 01960000h
foo_input_amr                    loaded at 01980000h - 019C6000h
foo_out_ks                      loaded at 019F0000h - 01A1A000h
SETUPAPI                        loaded at 77910000h - 77A04000h
foo_lyricsgrabber2              loaded at 01A40000h - 01AFC000h
WLDAP32                          loaded at 76F50000h - 76F7D000h
python25                        loaded at 1E000000h - 1E208000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_abx                          loaded at 01C30000h - 01C62000h
foo_dsp_resampler_mod2          loaded at 01C90000h - 01CC9000h
foo_input_dsdiff                loaded at 01CF0000h - 01D1D000h
foo_unpack                      loaded at 01D40000h - 01D6E000h
foo_dsp_ssrcX                    loaded at 01D90000h - 01DD3000h
foo_burninate                    loaded at 01DF0000h - 01E30000h
foo_bpm                          loaded at 01E50000h - 01E9E000h
libfftw                          loaded at 01EB0000h - 02036000h
foo_dsp_resampler SOX            loaded at 02070000h - 020A8000h
foo_convolve                    loaded at 020D0000h - 02121000h
foo_dsp_fsurround_beta          loaded at 02150000h - 02224000h
WINSPOOL                        loaded at 72FC0000h - 72FE6000h
foo_input_dvda                  loaded at 02270000h - 022C7000h
foo_rgscan                      loaded at 022F0000h - 0233D000h
foo_out_asio                    loaded at 02360000h - 02396000h
foo_input_monkey                loaded at 023C0000h - 02408000h
foo_dsp_bs2b                    loaded at 02430000h - 02457000h
foo_run                          loaded at 02480000h - 024DF000h
foo_channel_mixer                loaded at 02500000h - 0253A000h
foo_input_tta                    loaded at 02550000h - 02592000h
foo_ac3                          loaded at 025C0000h - 025F0000h
foo_input_alac                  loaded at 02610000h - 0262D000h
foo_cdda                        loaded at 02650000h - 0269E000h
foo_midi                        loaded at 026C0000h - 02855000h
foo_fileops                      loaded at 02880000h - 028C7000h
foo_dsp_resampler_SoX_mod        loaded at 028F0000h - 0292F000h
foo_input_la                    loaded at 02950000h - 02975000h
la-core                          loaded at 02990000h - 02A03000h
OLEACC                          loaded at 74C40000h - 74C6C000h
MSVCP60                          loaded at 76050000h - 760B5000h
foo_ui_std                      loaded at 02B40000h - 02C58000h
foo_masstag                      loaded at 02C80000h - 02CD4000h
foo_discogs                      loaded at 02D00000h - 02D61000h
WININET                          loaded at 3F9E0000h - 3FAC6000h
Normaliz                        loaded at 02D70000h - 02D79000h
urlmon                          loaded at 45020000h - 45153000h
iertutil                        loaded at 40080000h - 40269000h
foo_verifier                    loaded at 02FD0000h - 03013000h
foo_vst                          loaded at 03040000h - 0306E000h
MSVCP90                          loaded at 78480000h - 7850E000h
MSVCR90                          loaded at 78520000h - 785C3000h
foo_dsp_std                      loaded at 03090000h - 030D8000h
foo_input_tak                    loaded at 03100000h - 03144000h
tak_deco_lib                    loaded at 03160000h - 03180000h
foo_converter                    loaded at 03290000h - 0330B000h
foo_albumlist                    loaded at 03330000h - 0338D000h
_socket                          loaded at 03D10000h - 03D1D000h
CLBCATQ                          loaded at 76FC0000h - 7703F000h
COMRes                          loaded at 77040000h - 77107000h
xpsp2res                        loaded at 03D30000h - 03FFD000h

Stack dump analysis:
Address: 00443EB4h (foobar2000+43EB4h)
Address: 7E37929Ah (USER32+1929Ah), symbol: "SendMessageW" (+0h)
Address: 0220F958h (foo_dsp_fsurround_beta+BF958h), symbol: "boost::serialization::singleton<std::set<boost::serialization::void_cast_detail::void_caster const *,boost:" (+76AA8h)
Address: 0056B7E8h (foobar2000+16B7E8h)
Address: 005514EAh (foobar2000+1514EAh)
Address: 0044385Bh (foobar2000+4385Bh)
Address: 00447705h (foobar2000+47705h)
Address: 00554708h (foobar2000+154708h)
Address: 00442F4Ch (foobar2000+42F4Ch)
Address: 00446301h (foobar2000+46301h)
Address: 004460D9h (foobar2000+460D9h)
Address: 00571EBCh (foobar2000+171EBCh)
Address: 0044606Ah (foobar2000+4606Ah)
Address: 00571EBCh (foobar2000+171EBCh)
Address: 00548EF8h (foobar2000+148EF8h)
Address: 00596F10h (foobar2000+196F10h)
Address: 004062A0h (foobar2000+62A0h)
Address: 7E368734h (USER32+8734h), symbol: "GetDC" (+6Dh)
Address: 7E37413Ch (USER32+1413Ch), symbol: "DefDlgProcW" (+402h)
Address: 7E378D90h (USER32+18D90h), symbol: "DefWindowProcW" (+70h)
Address: 7E39048Fh (USER32+3048Fh), symbol: "DeregisterShellHookWindow" (+1CFh)
Address: 7E373D08h (USER32+13D08h), symbol: "EnumDisplaySettingsA" (+2A1h)
Address: 7E373B30h (USER32+13B30h), symbol: "EnumDisplaySettingsA" (+C9h)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E373D5Ch (USER32+13D5Ch), symbol: "DefDlgProcW" (+22h)
Address: 7E368734h (USER32+8734h), symbol: "GetDC" (+6Dh)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E368816h (USER32+8816h), symbol: "GetDC" (+14Fh)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E39048Fh (USER32+3048Fh), symbol: "DeregisterShellHookWindow" (+1CFh)
Address: 7E39048Fh (USER32+3048Fh), symbol: "DeregisterShellHookWindow" (+1CFh)
Address: 7E368830h (USER32+8830h), symbol: "GetDC" (+169h)
Address: 7E37927Bh (USER32+1927Bh), symbol: "GetParent" (+16Ch)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 005C2FFCh (foobar2000+1C2FFCh)
Address: 7E37651Ah (USER32+1651Ah), symbol: "IsDlgButtonChecked" (+1720h)
Address: 005C2D14h (foobar2000+1C2D14h)
Address: 00400000h (foobar2000+0h)
Address: 005C2EC0h (foobar2000+1C2EC0h)
Address: 00400000h (foobar2000+0h)
Address: 005C2FECh (foobar2000+1C2FECh)
Address: 00400000h (foobar2000+0h)
Address: 01AD0198h (foo_lyricsgrabber2+90198h)
Address: 005C2FFAh (foobar2000+1C2FFAh)
Address: 01F20000h (libfftw+70000h), symbol: "fftw_set_timelimit" (+6A700h)
Address: 005A01D4h (foobar2000+1A01D4h)
Address: 7E37683Eh (USER32+1683Eh), symbol: "CreateDialogIndirectParamAorW" (+33h)
Address: 00405950h (foobar2000+5950h)
Address: 7E36EA84h (USER32+EA84h), symbol: "CreateDialogParamW" (+49h)
Address: 00400000h (foobar2000+0h)
Address: 005C2D14h (foobar2000+1C2D14h)
Address: 00405950h (foobar2000+5950h)
Address: 005784FCh (foobar2000+1784FCh)
Address: 00446D10h (foobar2000+46D10h)
Address: 00400000h (foobar2000+0h)
Address: 00405950h (foobar2000+5950h)
Address: 0044411Dh (foobar2000+4411Dh)
Address: 00555E73h (foobar2000+155E73h)
Address: 00445398h (foobar2000+45398h)
Address: 004BFFFCh (foobar2000+BFFFCh)
Address: 004BFE61h (foobar2000+BFE61h)
Address: 004062A0h (foobar2000+62A0h)
Address: 7E368734h (USER32+8734h), symbol: "GetDC" (+6Dh)
Address: 7E37413Ch (USER32+1413Ch), symbol: "DefDlgProcW" (+402h)
Address: 7E378D90h (USER32+18D90h), symbol: "DefWindowProcW" (+70h)
Address: 7E39048Fh (USER32+3048Fh), symbol: "DeregisterShellHookWindow" (+1CFh)
Address: 7E373D08h (USER32+13D08h), symbol: "EnumDisplaySettingsA" (+2A1h)
Address: 7E373B30h (USER32+13B30h), symbol: "EnumDisplaySettingsA" (+C9h)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E373D5Ch (USER32+13D5Ch), symbol: "DefDlgProcW" (+22h)
Address: 7E368734h (USER32+8734h), symbol: "GetDC" (+6Dh)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E368816h (USER32+8816h), symbol: "GetDC" (+14Fh)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E39048Fh (USER32+3048Fh), symbol: "DeregisterShellHookWindow" (+1CFh)
Address: 7E368830h (USER32+8830h), symbol: "GetDC" (+169h)
Address: 7E37927Bh (USER32+1927Bh), symbol: "GetParent" (+16Ch)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 005C2990h (foobar2000+1C2990h)
Address: 7E37651Ah (USER32+1651Ah), symbol: "IsDlgButtonChecked" (+1720h)
Address: 005C2950h (foobar2000+1C2950h)
Address: 00400000h (foobar2000+0h)
Address: 005AC000h (foobar2000+1AC000h)
Address: 005C296Eh (foobar2000+1C296Eh)
Address: 00400000h (foobar2000+0h)
Address: 005C296Eh (foobar2000+1C296Eh)
Address: 00400000h (foobar2000+0h)
Address: 005ACB28h (foobar2000+1ACB28h)
Address: 01F20000h (libfftw+70000h), symbol: "fftw_set_timelimit" (+6A700h)
Address: 005A01D4h (foobar2000+1A01D4h)
Address: 7E37683Eh (USER32+1683Eh), symbol: "CreateDialogIndirectParamAorW" (+33h)
Address: 00400000h (foobar2000+0h)
Address: 00405950h (foobar2000+5950h)
Address: 7E36EA84h (USER32+EA84h), symbol: "CreateDialogParamW" (+49h)
Address: 00400000h (foobar2000+0h)
Address: 005C2950h (foobar2000+1C2950h)
Address: 00405950h (foobar2000+5950h)
Address: 004C0510h (foobar2000+C0510h)
Address: 00400000h (foobar2000+0h)
Address: 00405950h (foobar2000+5950h)
Address: 004C03B7h (foobar2000+C03B7h)
Address: 00555742h (foobar2000+155742h)
Address: 004C017Fh (foobar2000+C017Fh)
Address: 005A53A0h (foobar2000+1A53A0h)
Address: 005511C3h (foobar2000+1511C3h)
Address: 004BA460h (foobar2000+BA460h)
Address: 0057D968h (foobar2000+17D968h)
Address: 5B26153Dh (UxTheme+153Dh)
Address: 5B26225Dh (UxTheme+225Dh)
Address: 5B262271h (UxTheme+2271h)
Address: 5B2630A3h (UxTheme+30A3h), symbol: "DrawThemeText" (+ABh)
Address: 7C9100C4h (ntdll+100C4h), symbol: "RtlAllocateHeap" (+0h)
Address: 005A53A0h (foobar2000+1A53A0h)
Address: 005A53A0h (foobar2000+1A53A0h)
Address: 00552245h (foobar2000+152245h)
Address: 004BABDEh (foobar2000+BABDEh)
Address: 00553BD0h (foobar2000+153BD0h)
Address: 004B9918h (foobar2000+B9918h)
Address: 004BBB69h (foobar2000+BBB69h)
Address: 004BB879h (foobar2000+BB879h)
Address: 005781E4h (foobar2000+1781E4h)
Address: 004BB80Ah (foobar2000+BB80Ah)
Address: 005781E4h (foobar2000+1781E4h)
Address: 00548EF8h (foobar2000+148EF8h)
Address: 00596A08h (foobar2000+196A08h)
Address: 004062A0h (foobar2000+62A0h)
Address: 7E368734h (USER32+8734h), symbol: "GetDC" (+6Dh)
Address: 7E373CE4h (USER32+13CE4h), symbol: "EnumDisplaySettingsA" (+27Dh)
Address: 7E378D90h (USER32+18D90h), symbol: "DefWindowProcW" (+70h)
Address: 7E39048Fh (USER32+3048Fh), symbol: "DeregisterShellHookWindow" (+1CFh)
Address: 7E373D08h (USER32+13D08h), symbol: "EnumDisplaySettingsA" (+2A1h)
Address: 7E373B30h (USER32+13B30h), symbol: "EnumDisplaySettingsA" (+C9h)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E373D5Ch (USER32+13D5Ch), symbol: "DefDlgProcW" (+22h)
Address: 7E368734h (USER32+8734h), symbol: "GetDC" (+6Dh)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E368816h (USER32+8816h), symbol: "GetDC" (+14Fh)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E39048Fh (USER32+3048Fh), symbol: "DeregisterShellHookWindow" (+1CFh)
Address: 7E368830h (USER32+8830h), symbol: "GetDC" (+169h)
Address: 7E37927Bh (USER32+1927Bh), symbol: "GetParent" (+16Ch)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 7E3792E3h (USER32+192E3h), symbol: "SendMessageW" (+49h)
Address: 773DB00Ch (COMCTL32+1B00Ch), symbol: "Ordinal414" (+FB4h)
Address: 7E36882Ah (USER32+882Ah), symbol: "GetDC" (+163h)
Address: 7E37927Bh (USER32+1927Bh), symbol: "GetParent" (+16Ch)
Address: 7E373D3Ah (USER32+13D3Ah), symbol: "DefDlgProcW" (+0h)
Address: 773F73ADh (COMCTL32+373ADh), symbol: "Ordinal384" (+1B4F2h)
Address: 773F773Bh (COMCTL32+3773Bh), symbol: "Ordinal384" (+1B880h)
Address: 7E379950h (USER32+19950h), symbol: "RedrawWindow" (+Ch)
Address: 773F8877h (COMCTL32+38877h), symbol: "Ordinal384" (+1C9BCh)
Address: 773F96D8h (COMCTL32+396D8h), symbol: "Ordinal384" (+1D81Dh)
Address: 773FA4E6h (COMCTL32+3A4E6h), symbol: "Ordinal384" (+1E62Bh)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 7E3688D1h (USER32+88D1h), symbol: "GetWindowLongW" (+2Bh)
Address: 7E3688DAh (USER32+88DAh), symbol: "GetWindowLongW" (+34h)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 773FAB9Ah (COMCTL32+3AB9Ah), symbol: "Ordinal384" (+1ECDFh)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 7E378EABh (USER32+18EABh), symbol: "DefWindowProcW" (+18Bh)
Address: 7E37C31Ch (USER32+1C31Ch), symbol: "GetActiveWindow" (+34h)
Address: 7E37C32Ch (USER32+1C32Ch), symbol: "GetActiveWindow" (+44h)
Address: 7E368734h (USER32+8734h), symbol: "GetDC" (+6Dh)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 7E368816h (USER32+8816h), symbol: "GetDC" (+14Fh)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 7E39048Fh (USER32+3048Fh), symbol: "DeregisterShellHookWindow" (+1CFh)
Address: 7E368830h (USER32+8830h), symbol: "GetDC" (+169h)
Address: 7E37A013h (USER32+1A013h), symbol: "IsWindowUnicode" (+A1h)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 7E37A039h (USER32+1A039h), symbol: "CallWindowProcW" (+1Bh)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 00404CF8h (foobar2000+4CF8h)
Address: 773FA564h (COMCTL32+3A564h), symbol: "Ordinal384" (+1E6A9h)
Address: 7E368734h (USER32+8734h), symbol: "GetDC" (+6Dh)

Environment:
App: foobar2000 v1.1.2
OS: Windows 5.1.2600 Service Pack 3 x86
CPU: AMD Athlon™ XP 1800+, features: 3DNow!ex MMX SSE
Audio: SB Live! 24-bit
UI: Default User Interface 0.9.5

Components:
Core (2011-01-22 00:03:02 UTC)
    foobar2000 core 1.1.2
foo_abx.dll (2009-06-07 12:25:26 UTC)
    ABX Comparator 1.3.4
foo_ac3.dll (2010-04-13 04:00:12 UTC)
    AC3 decoder 0.9.5
foo_albumlist.dll (2011-01-22 00:01:28 UTC)
    Album List 4.5
foo_benchmark.dll (2008-12-31 16:23:04 UTC)
    Decoding Speed Test 1.1
foo_bitcompare.dll (2008-12-05 12:08:02 UTC)
    Binary Comparator 1.2
foo_bpm.dll (2010-04-20 12:35:07 UTC)
    BPM Analyser 0.2.4.1
foo_burninate.dll (2010-01-18 18:10:44 UTC)
    Audio CD Writer 3.0.2
foo_cdda.dll (2011-01-22 00:01:02 UTC)
    CD Audio Decoder 3.0
foo_chacon.dll (2010-07-19 15:15:49 UTC)
    Chacon 3
foo_channel_mixer.dll (2008-03-12 09:37:47 UTC)
    Channel Mixer 0.9.6.5
foo_converter.dll (2011-01-22 00:00:36 UTC)
    Converter 1.5
foo_convolve.dll (2006-08-04 18:57:26 UTC)
    Convolver 0.3
foo_discogs.dll (2010-07-24 19:14:44 UTC)
    Discogs Tagger 1.25
foo_dsp_bs2b.dll (2009-06-08 09:30:06 UTC)
    bs2b 3.1.0
foo_dsp_convolver.dll (2011-02-05 12:39:24 UTC)
    Convolver (gapless) 0.3.8
foo_dsp_eqsplit.dll (2008-07-12 23:49:10 UTC)
    Split equalizer v0.0.1
foo_dsp_fsurround_beta.dll (2011-02-06 09:17:03 UTC)
    FreeSurround 0.8.1
foo_dsp_mm.dll (2011-02-01 17:37:14 UTC)
    Matrix Mixer 0.3
foo_dsp_resampler SOX.dll (2010-11-21 19:21:11 UTC)
    SoX Resampler 0.5.4.4
foo_dsp_resampler_mod2.dll (2011-01-30 15:11:41 UTC)
    SoX Resampler mod2 0.5.4.4 mod2
foo_dsp_resampler_SoX_mod.dll (2009-11-17 18:22:49 UTC)
    SoX Resampler modified 0.5.4.1 mod
foo_dsp_ssrc.dll (2009-01-14 16:43:36 UTC)
    Resampler DSP (SSRC) 0.57
foo_dsp_ssrcX.dll (2008-05-11 04:45:16 UTC)
    Resampler DSP (SSRC X) 0.57
foo_dsp_std.dll (2011-01-22 00:01:18 UTC)
    Standard DSP Array 1.0
foo_dsp_winamp.dll (2011-02-04 17:36:15 UTC)
    Winamp DSP Bridge 1.4.7
foo_fileops.dll (2011-01-21 23:59:40 UTC)
    File Operations 2.1.3
foo_freedb2.dll (2011-01-21 23:59:42 UTC)
    freedb Tagger 0.6.3
foo_gep.dll (2011-01-18 14:22:27 UTC)
    Game Emu Player 1.108
foo_input_alac.dll (2010-09-19 10:43:34 UTC)
    ALAC Decoder 1.0.6
foo_input_amr.dll (2011-01-30 14:42:17 UTC)
    AMR input 1.1.1
foo_input_dsdiff.dll (2011-01-30 14:57:52 UTC)
    DSDIFF Decoder 1.3
foo_input_dvda.dll (2010-10-04 19:31:22 UTC)
    DVD-Audio Decoder and Watermark Detector 0.4.1
foo_input_la.dll (2010-11-02 14:40:36 UTC)
    Lossless Audio(La) decoder 0.01
foo_input_monkey.dll (2009-05-01 10:40:52 UTC)
    Monkey's Audio Decoder 2.1.4
foo_input_ofr.dll (2008-11-29 11:48:04 UTC)
    OptimFROG Lossless/DualStream Decoder 1.21b
foo_input_shorten.dll (2009-11-15 17:46:36 UTC)
    Shorten decoder 0.4.2.2
foo_input_std.dll (2011-01-22 00:00:58 UTC)
    Standard Input Array 1.0
foo_input_tak.dll (2010-01-09 16:11:58 UTC)
    TAK Decoder 0.4.4
foo_input_tta.dll (2010-10-27 09:50:20 UTC)
    TTA Audio Decoder 3.2
foo_lyricsgrabber2.dll (2010-09-24 16:39:55 UTC)
    Lyrics Grabber 2 0.5.5.2 beta
foo_masstag.dll (2010-09-14 15:22:47 UTC)
    Masstagger 1.8.4
foo_midi.dll (2010-12-25 19:47:45 UTC)
    MIDI synthesizer host 1.113
foo_out_asio.dll (2010-07-19 15:15:49 UTC)
    ASIO support 1.2.7
foo_out_ks.dll (2006-08-04 17:54:58 UTC)
    Kernel Streaming Output 1.2.2
foo_rgscan.dll (2011-01-22 00:00:36 UTC)
    ReplayGain Scanner 2.0.9
foo_run.dll (2010-07-24 12:29:07 UTC)
    Run services 0.3.7
foo_texttools.dll (2010-09-19 10:43:34 UTC)
    Text Tools 1.0.5
foo_ui_std.dll (2011-01-22 00:00:58 UTC)
    Default User Interface 0.9.5
foo_unpack.dll (2011-01-22 00:00:10 UTC)
    ZIP/GZIP/RAR Reader 1.6
foo_verifier.dll (2009-10-05 07:39:20 UTC)
    File Integrity Verifier 1.1
foo_vst.dll (2011-01-29 10:21:05 UTC)
    VST 2.4 adapter 0.8.0.1
foo_wave_seekbar.dll (2010-08-20 14:38:06 UTC)
    Waveform seekbar 0.2.12

Recent events:
Startup time : 0:00.881215
Watching: D:\Music

foo_dsp_fsurround

Reply #110
beta 0.8.1 makes foobar crash on my system, when i try to open DSP manager
Crash report:
Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 02159AA4h
Access violation, operation: write, address: 021BE604h
...
02159AA4h:  F3 0F 7E 05 04 E6 1B 02 66 0F D6 00 F3 0F 7E 05
...
CPU: AMD Athlon(tm) XP 1800+, features: 3DNow!ex MMX SSE

It looks like this component was compiled with SSE2 support. AthlonXP doesn't support these instructions.

foo_dsp_fsurround

Reply #111
Thanks for this.

foo_dsp_fsurround

Reply #112
Thanks for the feedback, guys. @redmodel: Yes, if I had a proper sub-satellite setup (and enough time), I could perhaps fine tune the bass redirection a bit more.

I noticed one possible issue with the beta version: When you go to high numbers of rear channels (say 9.1 or more) and when there is a lot of action going on in the sound field, you may get a bit of noise in the positioning (that may sound like warbling, at least with mp3). The noise is pretty much intrinsic to the sound, but it gets more obvious when splitting it up across different speakers. I only tried this with HRTFs, which are themselves less than ideal, so it may be less of an issue with real speakers. The focus slider can exacerbate this effect -- for best sound quality, I would leave it at 0. The remaining sliders are okay, though.

foo_dsp_fsurround

Reply #113
Bug in the Surround Sound decoding.

It seems when you reverse the left and right channels before decoding, a slightly left panned vocal does not go equally go to the right in equal matter but gets in dead center.  This means the left side of the sound field is usually slightly louder than it probally should be.  A notice this bug when testing out various songs that never seem to have a little off to right going on but did in Stereo.  This is with default settings.

foo_dsp_fsurround

Reply #114
Bug in the Surround Sound decoding.

It seems when you reverse the left and right channels before decoding, a slightly left panned vocal does not go equally go to the right in equal matter but gets in dead center.  This means the left side of the sound field is usually slightly louder than it probally should be.  A notice this bug when testing out various songs that never seem to have a little off to right going on but did in Stereo.  This is with default settings.


Thanks for the report - I presume that this is in the beta (or does it happen in the old version, too)? Do you have a particular song which reproduces it?

foo_dsp_fsurround

Reply #115
It happens in older versions.  And the easiest so far to tell is track 14 of the first Titanic album (pretty common CD, though you have to turn the volume up high) reproduces it.  Celine Dion singing is a little off the to the left of sound stage but swapping the channels before decoding doesn't create the slightly off to the right sound but instead ends up in the center.

foo_dsp_fsurround

Reply #116
Opps.  Forget got to mention it happens in the beta version, too.

Sorry couldn't find edit button.

foo_dsp_fsurround

Reply #117
I tried the beta version, and dismissed it as unusable. I have two problems: First, I couldn't find any usable documentation on what the options do, even though they appear to do complicated changes to the output, which are unintuitive for me. But the second is the real problem: It sounds bad.

No matter what I did in the options, the result always clearly lost when comparing with the ProLogic IIx that comes with my sound card, or even plain stereo without any upmix. It sounds as if there is some kind of chorus, phase problem or whatever between the side and center channels. The problem is notable on most music, but becomes very clear on "hard" foreground sounds. It feels as if the music is being played far away. It's really reminiscent of the Chorus Effect.

If this can be setup correctly, I'm not qualified to do it in reasonable time. To name some questions to explain my confusion:

  • What does "Panorama" do? I can set it to 90° and still get massive rear sound, which is counter-intuitive to a point I would call a bug.
  • How does "Panorama" interact with "Dimension", "Dimension" with "Depth" and "Panorama" with "Depth" and the other ways around?
  • What does "Focus" do? It it disabled at 0?
  • What is the difference between "Surround", "5-Stereo" and "Legacy Upmix"?
  • Especially on "5-Stereo", there is a massive loss in absolute amplitude. Massive enough to appear unreasonable to me. Is this a bug?


Heck, I can't make myself understand any options apart from the LFE crossover, and that's just because its mechanism is trivial on the stereo sources I use. I think it is unrealistic to have the end-user change all the settings given.

My recommendation: remove all settings except front opening angle (affecting Center/Front balance only) and Front/Back balance. If you really love it, add a chorus checkbox, or whatever is used for this effect described above. LFE crossover is also OK -- it actually belongs in the sound driver, but nobody will complain as long as they can just disable it.

TL;DR: I'm back to plain stereo now because I just can't get this to sound right.

foo_dsp_fsurround

Reply #118
I think Surround is the new algorithm and Lagecy Upmix is the old algorithm.  5-Stereo, is probally like the 3-Stereo option on old recievers but uses 5 channels instead of 3.

I also think that the sound may clip in certain cases (doesn't happen on my current system, but it did on my old), reducing foobar2000's master volume might help.

EDIT: Here's documentation on the beta version.

A few notes on the sound stage transforms - these are best thought of as geometric transformations of a real stage (usually spanned between front left and front right speaker):
  • Panorama wraps the sound stage (spanning 90 degrees between front left/right) around the listener, as if the instruments were arranged in a circle.
  • Dimension shifts the stage backwards or forward.
  • Depth scales the stage backwards.
  • Focus chances the size of the sound sources - large=diffuse/ambient and small=focal/localizable (should only be really noticable with many speakers).
  • The regular surround content remains intact and is transformed accordingly, as well.

foo_dsp_fsurround

Reply #119
I tried the beta version, and dismissed it as unusable. I have two problems: First, I couldn't find any usable documentation on what the options do, even though they appear to do complicated changes to the output, which are unintuitive for me. But the second is the real problem: It sounds bad.

No matter what I did in the options, the result always clearly lost when comparing with the ProLogic IIx that comes with my sound card, or even plain stereo without any upmix. It sounds as if there is some kind of chorus, phase problem or whatever between the side and center channels. The problem is notable on most music, but becomes very clear on "hard" foreground sounds. It feels as if the music is being played far away. It's really reminiscent of the Chorus Effect.

If this can be setup correctly, I'm not qualified to do it in reasonable time. To name some questions to explain my confusion:

  • What does "Panorama" do? I can set it to 90° and still get massive rear sound, which is counter-intuitive to a point I would call a bug.
  • How does "Panorama" interact with "Dimension", "Dimension" with "Depth" and "Panorama" with "Depth" and the other ways around?
  • What does "Focus" do? It it disabled at 0?
  • What is the difference between "Surround", "5-Stereo" and "Legacy Upmix"?
  • Especially on "5-Stereo", there is a massive loss in absolute amplitude. Massive enough to appear unreasonable to me. Is this a bug?


Heck, I can't make myself understand any options apart from the LFE crossover, and that's just because its mechanism is trivial on the stereo sources I use. I think it is unrealistic to have the end-user change all the settings given.

My recommendation: remove all settings except front opening angle (affecting Center/Front balance only) and Front/Back balance. If you really love it, add a chorus checkbox, or whatever is used for this effect described above. LFE crossover is also OK -- it actually belongs in the sound driver, but nobody will complain as long as they can just disable it.

TL;DR: I'm back to plain stereo now because I just can't get this to sound right.


Dude, you know what? No one forces you to use any free software on the internet. I have a day job, and on the order of 2000 items on my TODO list over there... the reason why I am making this free (and open source as in the prior version) is because I like foobar2000's model of giving value to people for free, perhaps making a few folks happy, and perhaps getting something from the community in return. I could have patented the algorithm and sold it to an audio company (as many people in the business have), but I chose not to - for that same reason.

Thanks for the feedback, but please bear in mind that it is 100x harder to create something than to criticise it. I will get back to this plugin and improve whatever needs to be improved once my schedule clears up.


foo_dsp_fsurround

Reply #121
I signed up just to post on this great DSP plugin. In combination with Dolby Headphone I think Fsurround (beta) gives the best spacial sound without losing too much crispness or creating a 'wooly' sweater-over-the-head sound (like the various channel mixer solutions).
There's one small issue I did not notice before, but on my new Sennheiser 360 headset (much better placement/accuracy than my previous headset) was suddenly revealed though. It seems like the sound stage is being rotated ~10 degrees counter clockwise when compared to the untouched stereo source. Voices tend to become balanced to the left a bit and the reverb is coming from a slightly more right-back direction instead of right behind me.
When switching back to plain stereo or using channel mixer the voices are placed dead centre again, so it's not simply my right ear failing me

My DSP chain:

Gapless Crossfader
Noise Sharpening - 20%
Free Surround (beta) - all default settings + 5.1 surround
Dolby Headphone - DH1 reference room + no dynamic compression + amplification 93% (dolbyhph.dll version 1.10.0.270)
Graphic Equalizer - Sliders between +4dB and +10dB to compensate for volume loss caused by dolbyhph.
Advanced Limiter

I hope I didn't draw people's attention to a 'problem' they didn't hear before and now can't stop noticing (like I do when there's something slightly off in audio...pretty annoying, should just ignore it and enjoy the music )

Edit: Just saw Chibisteven's post. Rotation of the sound stage could do that. If the source has the voice slightly to the left rotating to the left makes it slightly more to the left. When reversed, a slightly to the right voice gets cancelled out by rotating it to the left and ends up dead centre...

Proph out

foo_dsp_fsurround

Reply #122
Me again (can't edit above post anymore for some reason):

I just tested with a Dolby 5.1 AC3 version of Pink Floyd - Dark side of the moon (gotta love "Money" and the intro coming from all around you ) and the behaviour described above did not occur. So it seems to be related to stereo to 5.1 conversion.
Does FSurround let 5.1 sources pass through untouched? If so, this test was useless :/

foo_dsp_fsurround

Reply #123
Me again (can't edit above post anymore for some reason):

I just tested with a Dolby 5.1 AC3 version of Pink Floyd - Dark side of the moon (gotta love "Money" and the intro coming from all around you ) and the behaviour described above did not occur. So it seems to be related to stereo to 5.1 conversion.
Does FSurround let 5.1 sources pass through untouched? If so, this test was useless :/


Yeah 5.1 Dolby Digital and DTS passes through untouched.  Even FLAC 5.1 passes through untouched.

foo_dsp_fsurround

Reply #124
I tried the beta version, and dismissed it as unusable. I have two problems: First, I couldn't find any usable documentation on what the options do, even though they appear to do complicated changes to the output, which are unintuitive for me. But the second is the real problem: It sounds bad.
I'm back to plain stereo now because I just can't get this to sound right.


This plugin is awesome. I use it everyday and I surprend myself each time I tune it to my liking. It does magic and helps configure soundstage with great customization. It's simple and professional and self explainable. I'd love to test it with a good hi-fi setup, but sounds great with my logitech 5.1. It sounds better to my taste than ATSurround in foobar2000 and it's free. If you don't like it, don't use it, but we should be thankful to pro_optimizer for his work and encourage him to continue with it. It's incredible to enjoy all stereo music in 5.1. Plain stereo is good too, but free_sourround takes it to another level.