..:: 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.
hi Air,
Quote:It tends to deaden samples which are meant to be noisy, however (like snares, hi hats, or sndfx meant to be staticy or what not), and it tends to completely butcher samples which are meant to be "chippy" (by that I mean chiptunes and their many square waves, sawtooths, and stuff).

Well let's make an analogy with images , ok ?
If you increase size of pictures , with blocky patterns (as often it is with some gifs), with bicubic interpolation , it with destroy completely the subtlety of these patterns , and "nearest neighborhood" (or no interpolation) will probably more indicated for this special case of pictures, isn't it ? But no one would want to increase regular photos with "no interpolation", just because of the special case where we have a blocky pattern isn't it ?

Anyway, in theory the cubic interpolation is considered as more accurate than linear in "general", even if there are special case were linear will give better results. Now , maybe the ps2 just do itself internally linear interpolation (I don't know), and you just want to stick as much as possible to original sound (i.e with ps2) , at least I could understand. But do not neglect cubic thanks Happy
@bigmehdi

If you want it bad enough, attempt to learn c/c++ and implement it "correctly" yourself.
It simply isn't a priority for jake, as I assume linear is adequate for 99.999% of people.
@Trigun
Quote:If you want it bad enough, attempt to learn c/c++ and implement it "correctly" yourself.
I've already suggested some code changes. Well, anyway I'll stop my moanings... I was just protesting against the fact , that pcsx2 developers think that cubic is not worthy.
Quote:As for cubic interpolation: When done correctly, cubic has an averaging effect over the entire waveform. This is great for broad stroking sounds like bass, and is roughly equivalent to linear for midrange samples. It tends to deaden samples which are meant to be noisy, however (like snares, hi hats, or sndfx meant to be staticy or what not), and it tends to completely butcher samples which are meant to be "chippy" (by that I mean chiptunes and their many square waves, sawtooths, and stuff).
Technically, could you allow users to set frequency ranges on which they could apply a selected filter? (I'm only kidding.)
New SPU2-X release. See the top post of this thread for the attachment/info, or:
Quick overview of fixes:

* Fixed random bleeps and 'censor-like' sounds in many games.

* Fixed a less common "menu sound disappearing act" bug, where some games' menu sounds would be latent or missing after a few seconds of blipping around options.

* Added proper MMX register freezing.

That's about it, but they're pretty major fixes in a sense.
As before, this build posted here is PGO Optimized, which means it's about 15-25% faster than beta builds. Enjoy.
how can i use PGO on plugins... I succed with pcsx2 itself but not the plugins...
(02-24-2009, 12:42 PM)mudlord Wrote: [ -> ]Hi,

This is a dev only question.

I was mainly drawn to posting here due to the reverb code used. I was wondering if its feasible for it to be abstracted into one that is not so directly tied to the plugin.

For instance, I have been looking for a decent reverberation model for one of my own works. Currently I am using a filter based on the Schroeder-Moorer model with the usual comb and allpass filters. However I am looking for other models to try without resorting to convolution based reverb (which requires outside files which hold the convolver data. And then it won't be reverb code, just a convolver, which is done to death).

So, I was kinda hoping if your code is malleable for a arbritrary interface (one in C that has pointers for data in, data out, and length of input and output data) suitable for a music player component. If not, I will just continue my search.

Thanks for reading.

The reverb model in SPU2-X could be applied to any audio source, as far as I know. The trick is knowing the correct reverberation settings to use to attain the desired effect. Depending on the lengths of the various write-back buffers, you can get anything from a slight phase shift, to reverb, to a feedback echo, to (most commonly, if you make a mistake) complete feedback overflow. Wink

The PS2 has several presets programmed into its kernel that most games rely on. I'm not really sure how the values were originally calculated or anything.
There is almost no sound in Spyro: A New Beginning with effect processing. It is a little better without it, but footsteps and slash sounds aren't playing anyway.
Quote:The reverb model in SPU2-X could be applied to any audio source, as far as I know. The trick is knowing the correct reverberation settings to use to attain the desired effect. Depending on the lengths of the various write-back buffers, you can get anything from a slight phase shift, to reverb, to a feedback echo, to (most commonly, if you make a mistake) complete feedback overflow.

Ah okay, thankyou.

Just got confused due to the V_Core references.....
Yeah the V_Core references contain the buffer details, and alpha factors. It's not exactly a cut and dry thing to take the code and tailor it for use outside the context of the SPU2. You'd need to allocate a buffer large enough to do the processing, and then remove references to the StartX (which tells SPU2-X where the buffer is located in SPU2 mem). Since you'd be referencing an array of your own manufacture, you don't need to position it within SPU2 memory. Smile