Chat

Author Topic: Genesis--ripped DAC drumkits from games  (Read 30454 times)

cuttingagent

  • Guest
Genesis--ripped DAC drumkits from games
« Reply #15 on: June 20, 2013, 05:49:33 am »
I'm just going to add, and I hate to nitpick, but they all sound way better in VGMMM without having to turn the gain up so loud that they clip.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
Genesis--ripped DAC drumkits from games
« Reply #16 on: June 20, 2013, 01:36:55 pm »
VGMMM has a full re sampler inside. It transform all possible rates to another ones and sets the volume automatically inside the sample.
So, in VGMMM you don't have to worry about the sampling rates. It will transform the sample for you.

In DefleMask you have to transform the sample to a compatible form by yourself. In order to simplify the work of the tracker and the rom builder. ( like in 80s)

Because:
*It is a chipmusic tracker, not a sample based one. It is not really necessary and I don't want to transform this in a giant audio tool box.
*Adding a resampler will require lot of code for only a few systems, and the results will NOT be better than in an external audio editor. Do it by yourself, just the way it should be.
*VGMMM's exported files are a mess if they have samples. For this reason tfd format can't play samples.
I don't want that. I'm looking for the cleaner, optimized and original ways, I don't want to have issues when the files are inside the consoles.
« Last Edit: June 20, 2013, 01:42:56 pm by Delek »

cuttingagent

  • Guest
Genesis--ripped DAC drumkits from games
« Reply #17 on: June 22, 2013, 12:15:22 am »
Understandable, and I've considered soft-editing the samples from Genesis games, compression and whatnot, but I wanted them to be as authentic as possible (while still being loud enough), which is not feasible with how much quieter Defle plays them... as far as I can tell anyway. The problem is, they clip when I turn the Amp up and they still don't sound loud enough when I boost their volume in software. What I'm wondering about the sample rate issue is if *any* of that clipping is coming from the distortion that happens when you have them recorded to the wrong sample format (I've read that for instance converting 8000 to 22050 will mess up the sound--of course, again, ripping from Gens Kmod I don't have the option of outputting it in the sample's native rate--and again, not your problem, I'm just musing on the complications--and I should probably just wait for neologix's tool which will hopefully help solve this problem.)

So, barring that, if you have any tips on soft-optimizing samples for the hardware, I'm all ears. I don't know if there's any weird things that will do more harm than good, and I have no experience with this kind of thing having only made 'regular' electronic music in the past, and of course, I'm not expecting you to know or care or solve the problem for me, I just want to make the samples play the best I can.

Anyway, thank you for the time and information and sorry if I ask anything unreasonable. The funny thing about this is when I work in the programs (this one or VGMMM or any other similar thing) and I run into a problem, I'm never sure if it's a problem involving the program, the chip, the emulation of the chip, or simply my own ineptness at working with all of the above or not knowing how something was traditionally done in the past--it's a shame that there is so little documentation available for the chip and that it was not common for old game scorers to document what they were doing, like people these days seem to do with anything technical on Youtube or blogs. And here I am rambling. Cheers!

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
Genesis--ripped DAC drumkits from games
« Reply #18 on: June 22, 2013, 03:47:26 pm »
Oh, I understand your appreciation now.

Did you test the ROMS generated by DefleMask and VGMMM in the actual Hardware?
There's, as you said, very little information about the volume balances between FM, PSG and PCM. This is, if you have a SEGA Genesis with motherboard revision VA1, VA2 or VA3, you will have a specific volume balance (with a true YM2612 inside), the best volume balances of all Genesis versions, VA4, VA5 and VA6 have the PCM a little bit lower in volume, if you have a VA7 the YM2612 is removed and replaced by a cheaper chip that sounds fatal, it is not YAMAHA and the PCM playback is EVEN BETTER than in the YM2612.
In the SEGA Genesis 2, the balance of the PSG is way quieter, I'm not sure about the PCM balances but if my memory is fine the PCM sounds horrible.

What you are asking, if I'm right, is that the volume balance of the PCM Channel should be modified in the internal emulator of DefleMask (maybe emulating a SEGA Genesis 1 VA3 for example?).
I need some Hardware tests before increasing it, but this can be done changing only 1 line of code. The point is: This will be Hardware accurate? If you can help with audio demos of recording tracks I will be really happy. :D

Here is a guide, not complete, but useful about the motherboard revisions:
http://www.sega-16.com/forum/showthread.php?7796-GUIDE-Telling-apart-good-Genesis-1s-and-Genesis-2s-from-bad-ones

And there are some recordings that I've done in order to calibrate DefleMask volume balance:
KEGA Fusion VS TRUE Genesis
http://www.delek.com.ar/Comix_Zone_Comparsion.mp3
http://www.delek.com.ar/Sonic_Stage_Clear_Comparsion.mp3

Actual recording directly from a VA3 Genesis
http://www.delek.com.ar/Sonic_Green_Hill_Zone_VA3.mp3

Regards.

Offline marcb0t

  • Member
  • Posts: 125
Genesis--ripped DAC drumkits from games
« Reply #19 on: June 22, 2013, 03:49:43 pm »
Greetings Cutting Agent,

Hmmm.... I believe you hit it right on the money. You are trying to essentially make "a copy of a copy". Like the text being fuzzy and vague on a paper copy from another 5 previous ones, the sound will be more and more degraded which each successive up and downsampling. Volume, frequency integrity, and distortion quantity can all be things effected by upsampling an 8KHz file to 22KHz, and then trying to play it back through an 8KHz filter.

If you are going to go this route, I would suggest the following:

Record your samples at the highest mono 16-bit frequency at the highest amplitude right before spiking. (probably 44.1KHz, or 32Khz)
Then play back your samples in Deflemask using the highest sample rate, 32KHz, and tweak accordingly.

If it still sounds too quiet, this is a little trick I'm starting to do. Start ALL your FM instruments at a lower volume level by default (i.e. instead of having every instrument normally play at full blast of 1F, play them starting at 19 or 15 for the volume level.

This will allow you to hear the samples and PSG tones much more in unison with the song (louder whitenoise hi-hats anyone?).
Remember, the max volume level of all 4 PSG tones/noise playing together equals the max volume of ONE single FM channel!

This technique will also allow you to play a single instrument louder than the rest of the song when you want. I have a piano tune I made in VGMM where I have some the melody spike above the volume of the rest of the song much like real piano players do. It adds a bit more human authenticity to it, even if it is chip music.

Also, I've noticed that in actual Genesis games like Phantasy Star IV for example, the drum samples are really not that loud sounding to begin with. I think that if the music designers for that game used the tricks I mentioned, it would have made for more resilient sounding drums and beats. But inspite, it's still an outstanding soundtrack. A technological marvel in my book.

Yes, waiting for a program that can extract the sample data from a game would really be the best way to play back the original sound without any hiccups, but hopefully the advice above will prove helpful.

BTW, thank you for taking the time to rip these samples from those games. :D I've not had the time to do this myself for Sonic 3, and there are some cool drumsamples I want to use from there. I'm sure what you have provided is fine especially using my techniques.

Take care,
marcb0t

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
Genesis--ripped DAC drumkits from games
« Reply #20 on: June 22, 2013, 05:19:11 pm »
I think that Street Fighter II Turbo (a rare version) used the technique described by marcb0t.


cuttingagent

  • Guest
Genesis--ripped DAC drumkits from games
« Reply #21 on: June 23, 2013, 06:58:46 am »
Delek---I haven't been able to test anything on HW because I don't have the means to, I haven't even owned a Genny for a very long time-- also the volume differences between revisions isn't what I was getting at, though that is a whole other monster of an issue in itself!!! =O
What I was getting at is that the FM synths are capable of playing the FM sounds much louder without clipping than the DAC channel is, and just seem louder by default.  Ideally, the DAC would be much louder (while still not clipping in the tracker) and if something was clipping the user would just turn the AMP down. Note that when this happens, it sounds clippy but isn't causing a big mess in the little volume analyzer graph under the Song Info Block like you would expect it to be if you heard it clipping.
I wish I could help with hardware tests but I can't afford to buy the consoles and flashcarts right yet.

As for the other bit--
I have read about the issues between revisions in the past a bit, and As I understood it, the best versions were the Model 1 VA1, 2, and 3.
I'm a little confused about what you said about the revisons--you say here that the best are the Model 1 VA4, 5, and 6, but the DAC is lower? And that the DAC on the Model 1 R7 sounds better, but the rest of the FM sounds bad (fatal)? What I've read says that the overall best is the VA3, and that yes, any Genesis 2 model is to be avoided at all costs(and I'm pretty sure it's mono only too. Thanks for the links, I will see what I can glean from them. And I think I've seen you say before somewhere that Deflemask is set to emulate the Model 1 VA3?

it's also too bad that none of these revision guides mention the JVC Wondermega/X'Eye models, which is what I had when I was a kid. I don't know which architecture it had but I remember it sounded amazing coming out of a nice set of speakers plugged into an old analog receiver.

Perhaps, and this sounds like a LOT of work, but might be worth it with all this revision confusion, is to have an option to switch which revision the tracker emulates. So, say, if I had a Genesis Model 1 VA4 (which I don't--I'll probably try to get a VA3) I could config Deflemask to emulate that revision specifically. That would just help people know they had their levels where they needed to be if they were going to perform their songs live on their hardware. And again, I have no idea how reasonable that would be to try to do. What would be even MORE ideal, is having a way to plug the Genesis into the computer and have the tracker send commands to it directly while working on the music.

So, if perhaps it's not feasible the get the DAC any louder without clipping, maybe the default volumes for the FM synths could be lower? But, could the DAC not just be louder? I can't tell how it sounds on HW but I know when I write my songs to WAV, there is quite a lot of headroom to work with, and again, I'm not redlining in the tracker when that clipping occurs.

As for your tests, WOW, I'm amazed at how much different Kega Fusion sounds than the console. What sound settings were you using in Kega(22050/44100 and SuperHQ on/off)?


Anyway, thanks again.
« Last Edit: June 23, 2013, 07:15:47 am by cuttingagent »

r57shell

  • Guest
Genesis--ripped DAC drumkits from games
« Reply #22 on: June 25, 2013, 08:56:42 pm »
Dump WAV from KMOD with all channels turned off except DAC. Then, make mono, gain volume twice (200%), resample it at any rate you want. Result will be close to original PCM but, with timing issues. I have done one test: ripped and compared with original one sample from Comix Zone. Precision ± 1 for level, with floating timing.

I don't know about how DefleMask plays DAC, but I know about its stupid restrictions for timings: tempo, samples Hz. Genesis has no restrictions for samplerate and tempo. It has only cap for them. Samplerate cap somewhere above 32000 Hz and tempo cap is 3600 ticks per second. For tempo you can make more ticks in second but it's useless. But with DefleMask you can't make 3500 ticks for example. Only divisors: http://www.numberempire.com/3600

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
Genesis--ripped DAC drumkits from games
« Reply #23 on: June 25, 2013, 10:56:34 pm »
I don't know about how DefleMask plays DAC, but I know about its stupid restrictions for timings: tempo, samples Hz. Genesis has no restrictions for samplerate and tempo. It has only cap for them. Samplerate cap somewhere above 32000 Hz and tempo cap is 3600 ticks per second.
So you think that using 32000hz of DAC playback and 3600 ticks of sound engine playback will work without destroying the soundchip?, also, DefleMask supports 32000hz of samples playback.

Where do you saw that values anyway?, please post your sources

Also, have you ever saw a tracker with that count of ticks per second to update?.
The maximum playback rate is always associated with the screen refresh, this is, 60 ticks per second, almost the 100% of sound engines are using that update rate, the "cap speed of the CPU" really does not matter, we are looking for a standard and intelligent playback speed. That's the DefleMask, VGMMM, FamiTracker, MuseTracker, etc, etc, etc, 60hz of maximum speed of update.

Could we do this faster?, yes, but destroying the PC CPU and without the possibility to write a decent playback routine for the HWs, really, imagine updating the emulator and all the tracker core CRAZY times per second, that will be insane and useless, there's does not even exist an original PLAYBACK ENGINE, for ANY console in history that uses the FULL soundchip speed.

About the sample hz cap, you have to understand that what the tracker is actually doing should be translated to the real Hardware. So, making possible to import ANY TYPE of sampling rates and playing them back to ANY SAMPLING RATES will make impossible to write a sound playback routine. Lot of asm here and lot of timing calculus. For this reason all samples used in Sonic games are using a fixed HZ value, for this reason MuseTracker can only import samples @8000hz, for this reason FamiTracker only supports the automatic DPCM part of the NES that plays samples automatically without worries about the speed of playback of the sample, and for that reason DefleMask will convert any sample rates to 8000hz, 11025hz, 16000hz, 22050hz and 32000hz.
« Last Edit: June 25, 2013, 11:01:44 pm by Delek »

r57shell

  • Guest
Genesis--ripped DAC drumkits from games
« Reply #24 on: June 26, 2013, 09:23:36 am »
About tempo: see this rom: http://elektropage.ru/r57shell/Player.bin
You can smoothly change tempo: Hold B and press arrows. I can't make such change in DefleMask.

About Samples. YM2612 cycle frequency about 55.075kHz. It is frequency how many times all channels mixed to output levels. Output level of DAC taken into account in each cycle. So, it's readed 55.075kHz "times". There is some restrictions on Z80 or M68k to update DAC level fast enough. You know that 32000Hz is possible. Any rate lower than this - possible too. Anyway it will become 55075Hz.

There is timer in YM2612
Formulae of delay = 18 * (1024 - TIMER A) microseconds
So, frequences from this timer can be: 55556Hz, 27778Hz, 18519Hz, 13889Hz, 11111Hz, 9259Hz, 7937Hz, 6944Hz, and so on.
But you can do anything.
And, by the way, you can use this timer to make ticks :D. How about 18519 ticks? Huh?) But, as I said already before, more than 3600 ticks is useless, but any value before is very useful.

Lot of asm here and lot of timing calculus.
Is this a joke? You use VGM player. Only thing you must to do is: correct vgm compiling.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
Genesis--ripped DAC drumkits from games
« Reply #25 on: June 26, 2013, 01:11:13 pm »
About tempo: see this rom: http://elektropage.ru/r57shell/Player.bin
You can smoothly change tempo: Hold B and press arrows. I can't make such change in DefleMask.
You can change tempo dinamically in DefleMask by using:
9xx - Set Speed Value 1
and
Fxx - Set Speed Value 2

Please read the fucking manual.
Lot of asm here and lot of timing calculus.
Only thing you must to do is: correct vgm compiling.
It is not so simple, please try to make a rom builder before talking like this, if you success in having that count of sampling rates and your FM/PSG playback is working at a decent speed I will use it in DefleMask and you will be credited.

Having a selection of accepted sampling rates, reduces a lot the complexity of the playback routine and you avoid lot of wrong timing calculations.

r57shell

  • Guest
Genesis--ripped DAC drumkits from games
« Reply #26 on: June 26, 2013, 02:22:55 pm »
You can change tempo dinamically in DefleMask by using:
9xx - Set Speed Value 1
and
Fxx - Set Speed Value 2

Please read the fucking manual.
I know this. For example Earthworm Jim 2 Moonlight Sonata 1st Movement Tempo : 1248 rows in second. How I can achive this in DefleMask?! During playback, it's changing tempo to 1272, 1296, 1152, 1080, 1200. Closest to DefleMask is: 1200. It is 3 ticks in both speeds. Two another closest: 900,1800. I don't even need to change speed because another speeds does not provided.

It is not so simple, please try to make a rom builder before talking like this, if you success in having that count of sampling rates and your FM/PSG playback is working at a decent speed I will use it in DefleMask and you will be credited.
I don't need to prove I'm right. And, I don't need to be credited.

Having a selection of accepted sampling rates, reduces a lot the complexity of the playback routine and you avoid lot of wrong timing calculations.
Reducing of bugs by reducing possibilities: good way :)

It's your software, do what you think.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
Genesis--ripped DAC drumkits from games
« Reply #27 on: June 26, 2013, 04:08:09 pm »
Then maybe the engine used in EWJ is working at a different uptade speed. Did you try to change the hz speed? If you look closely you can change pal/ntsc and even set a custom update speed in HZ.

Offline Delek

  • Sali para ver
  • Administrator
  • Hero Member
  • Posts: 1810
    • Delek's Website
    • Email
Genesis--ripped DAC drumkits from games
« Reply #28 on: June 26, 2013, 09:15:58 pm »
Custom HZ: 48, Speed 6/8 is very very close to the actual tempo of Earthworm Jim 2 Moonlight Sonata 1st Movement. I don't have more time to make more tests, but the exactly speed could be achieved with DefleMask.

poodlecock

  • Guest
Genesis--ripped DAC drumkits from games
« Reply #29 on: July 01, 2013, 09:38:53 am »
Two things:

- Speed 7/7 is same as 6/8 I believe. However, there was a rounding error in Famitracker that messes up the precision of speed 7. Maybe check the forums and the discussion about it there.
- As for the FM being louder than the PCM drums, notice how the TL of patches ripped from real games is almost never 0, but practically always below 10, around 20 usually. Have you considered lowering the TL of the moderator carrier(s)?