One fine audio sample

3/2/2010 9:14:15 PM

Bookmark and Share

So I originally was going to be releasing something earlier than the current date but it's been POSTPONED (postpwned?)! The reasons why aren't many but they are important.

Ever since RetroCopy was first being worked on and I was solving the problems that come about with a multi system emulator (MAME being another example of one) the issue of dealing with sound was one that bothered me greatly. Firstly you have to deal with PCs that aren't that too good at doing what emulators desire, and that is low latency, real time output of dynamic audio samples.

DirectSound is OK-ish at helping with this, but it's not ideal. At least once you know its flaws you can output audio at a decent quality using it (the same thing is easier said than done on other platforms). With the move to VISTA though the soundscape changed, and no longer was hardware acceleration possible, which isn't too big a deal for emulators but it introduces its own issues.

But the issue from an emulation viewpoint, is how do you take these analog sound chips found in the Nintendo, Genesis, Sega Master System, etc, and make them sound like they originally did on PC digital hardware? Well the sound chips are still mostly digital devices, and they have a clock rate, on each pulse of the clock they do something. So along comes the emulator and looks at what it does, sometimes on each clock (accurate) but more often on every few clocks (more inaccurate but faster).



RetroCopy has always looked at every clock for every sound chip it covers as it one of few emulators with a focus on accuracy. However where I haven't been too focused is what do I do with the samples I collect. You can't just take the sound from the chip and output it to the PC as they are at differing frequencies. The easiest way to do this is just to average or skip samples so that you can take the sampling rate of one device (the NES) and convert it to another (the PC). While the simplest it also introduces a few quality issues that many can notice.

So starting with the next version RetroCopy will have a very high quality resampling engine for every sound chip. It is likely one with the highest signal to noise ratio in comparison to any other emulator. It's a little slower than what I doing before but the improvement in quality is very noticeable. It is almost finished now, I just have to complete the NES sound chip.

Bookmark and Share

10 responses to One fine audio sample

Sasha wrote:

3/3/2010 8:29:25 AM

And it will sounds as real console? i worry about standard sound pitches, i heared "Sine PSG" in Gens 2.12 and it no good...

If it only will be very clean sound, and i completely agree with it :)

RetroRalph wrote:

3/3/2010 8:58:55 AM

Should in theory sound more like real console with less "noise". It sounds cleaner than Kega to my ears (The Kawakasi drum beat doesn't sound so scratchy) but I'm not exactly the most in-tune person going around. Maybe some tests can be done at some stage to see what is the most accurate.

I don't know if other emulators filter both the PSG and FM chip, RetroCopy filters both now.

dench wrote:

3/3/2010 7:07:00 PM

Why not use OpenAL instead of DirectSound?

RetroRalph wrote:

3/3/2010 10:48:15 PM

Not everyone has OpenAL which would require having people need to download two things to use RetroCopy or bundling it in, that and it doesn't really provide any advantages over DirectX. I might provide ASIO support as an option eventually though when I do my own 3D audio engine, as that provides the lowest latency possible.

Harmik wrote:

3/4/2010 6:24:45 AM

Sounds awesome :)get it :)

Harmik wrote:

3/4/2010 6:28:49 AM

Seriously thou I prefer accuracy over speed as you can always get a faster PC. And that will happen to everyone sooner or latter.

RetroRalph wrote:

3/4/2010 6:33:02 AM

It's actually not that much slower, maybe 2-3%, because other aspects have been improved. Which in the scheme of things is nothing since RetroCopy targets the more high end machines. Though the recommended PC for RetroCopy isn't really high end in 2010, it's circa 2007 high end.

I think everyone will be pleased with the sound of RetroCopy, only 44100 and 48000 output sample rates are supported due to the changes I've made, the higher sample rates are now irrelevant.

Sasha wrote:

3/4/2010 8:56:50 AM

I can't wait any longer, i want new release
I'm prepared all my 500 games for 100 hours non-stop testing

Aaaaaa! :)

RetroRalph wrote:

3/4/2010 9:07:55 AM

I'll try and get it out tomorrow or next day. All sound is done, now it's just a matter of testing and a few minor things like a reset button.

panzeroceania wrote:

3/10/2010 11:17:23 PM

woot audio quality for the win. Keep bringing it on

Add Comment
RetroCopy : Modern and accurate emulator for Sega Megadrive,SMS,NES,GG,Arcade and more!
  |   Copyright RetroCopy © 2010   |   Privacy Policy   |   End User License Agreement