..:: PCSX2 Forums ::..

Full Version: SPU2-X v2
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
There's no dreaming here, just conversation. I'm not talking for real spatial, the mechanism for such thing is missing and I know it. Maybe I don't make myself clear enough but I'm talking about something like dividing the streams to different channels PRE-DSP routines or anything else involved to downmixing and processing. (Random example, see GB,GBA,NDS emus) You can effectively isolate every single channel/voice, whether it uses DSP generated audio, ADPCM sample synthesized music audio or ADPCM samples like voice samples etc and all that with or without an assigned fx. Now you could send those channels with a pan control to a different channel (FL,FR,C,S,RL,RL) and creating a substitute to 5.1 experience without using cheap phase mixing technics. This one may not be real binaural surround (like feeling gunshots pass through you or something) but still gives a real multichannel experience compared to stereo to multichannel conversion technics.
yeh. i get that. but how you wanna control the orientation of the sound. for every game. means a general algorithm. you could patch maybe a specific location in 1 game to use a concrete channel mapping that you can invade and map to your surround mixing environment. but this channels are not the same for every game.

example:

say... you have the sounds of ingame characters speaking in game A at channels 1,2,3,4 but in game B they are on channels 6,7,8,9. how you make sure both games map those to the center speaker? you wanna hack and patch both game's complete audio locations from start to end? enjoy that then. Wink

btw... those lil ntendo emus don't have that much channels. the gba for example only has a 4 synth chiptuner in mono and a dma pcm buffer for streaming music or pcm ingame sounds mixed. doesn't make that much sense to break that up. what's the point?
Most game engines also pick an available voice/channel out of the pool and run just short bits of the audio on them.
Clearly it's not going to work to simply pick some voices and statically route them on seperate outputs.

What we can do is:
- pick up the direct (ADMA) voices and put them on all main speakers equally
- pick up the effect output and mix them into the 2 back speakers, maybe a bit equalized
- calculate a mono track from all the voices for the center track

This would not simulate a full surround sound game but it would create a more immersive experience than normal.
As soon as I get my new sound card I'll do some tests in this direction Smile
(10-01-2012, 08:25 PM)rama Wrote: [ -> ]This would not simulate a full surround sound game but it would create a more immersive experience than normal.
As soon as I get my new sound card I'll do some tests in this direction Smile

right. volumetric reverb sounds really cool. i love me some old hl2 hours. Laugh

(10-01-2012, 08:25 PM)rama Wrote: [ -> ]- calculate a mono track from all the voices for the center track

btw... how about doing that as a lowpass for the lfe. that's gonna rumble. Laugh bass... man... bass...

/offtopic
i'd help do some code but i only have a old rig with my 5.1 card and i'm short on speakers on the lap (wish i could hack the jack detection to have a "quad" with some half ear heaphones). Glare
I have a couple of ideas for that.

One of them which could be game universal is get the info of that voice where it gets sent, right or left?
Then send half of the ones that are sent right to the front right and the rest to the rear front.
Same applies to the Left. The result is the same with stereo if you downmix the real and the front channels of each side but when you hear them saperately you get a nice feeling of space. This is quadraphonic but it's not bad actually.

Another solution (game specific this time) is the idea of making a small txt file with the CRC of the game that could be loaded from the plugin that lists all 48 voices of the SPUs and on which channel you map them like:

For Channels:

Front Left = 1
Front Right = 2
Center Channel = 3
LFO Channel = 4
Rear Left = 5
Rear Right = 6

So the txt would list one by one all the voices and the channels that gets mapped, it would look like:
1 = 3
2 = 3
3 = 1
4 = 2
...
46 = 3
47 = 6
48 = 5

Another solution is the oldschool manual mapping with a familiar to everyone mixer which is the same idea as above but it's realtime accessible to everyone to experiment with it.
VIRGIN KLM:
You should get yourself a devel build of SPU2-X and enable debug options > "Show Core Activity".
It'll instantly tell you what goes on in games like FFX and why all of your voice to speaker map ideas will not work Tongue2
(10-02-2012, 01:08 AM)rama Wrote: [ -> ]VIRGIN KLM:
You should get yourself a devel build of SPU2-X and enable debug options > "Show Core Activity".
It'll instantly tell you what goes on in games like FFX and why all of your voice to speaker map ideas will not work Tongue2
link?
I'll try to come up with an idea once I get in practice what's going on.
Are there any debug options that let me interfere in the processing?
The link hasn't been posted yet. Where is the development build of SPU2-X I kinda want to check it out too
i don't wanna smart ass @ref, but core activity is not included in the svn prebuilds. so you gotta tell them they need svn and have to build the devel configuration themselves. atleast they didn't have the idea themselves. Wink