Audio differences between SNESAPU and GEP? (FF6 Kefka laugh)

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
jimbo1qaz
Posts: 9
Joined: Tue Mar 29, 2016 1:25 am

Audio differences between SNESAPU and GEP? (FF6 Kefka laugh)

Post by jimbo1qaz »

I'm working on converting/ripping the song "Dancing Mad" from Final Fantasy 6.

The most unique element of that song is Kefka's laugh. This is created through pitch modulation. The SPC sounds very different when played back through SNESAPU (SPC player) vs. GEP (foobar2000 foo_gep).

I assume that GEP is more accurate (something about being cycle-accurate and ridiculously CPU-intensive). Is that correct? Can anyone confirm on hardware?

Does anyone know how to rip Kefka's laugh accurately without background audio?

(My research): Sonic.exe contains a sample of Kefka's laugh. Unfortunately, extracting the audio data using 7-Zip and Audacity reveals that it's severely clipped. Additionally, there appears to be some remnants of background audio, since the audio before the laugh is not completely zeroed out.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by tepples »

I don't own any Final Fantasy (or even Final Fight) game on cartridge, but my SNES PowerPak (with MUFASA firmware) can play SPC files. If you upload a demo, I'll try to provide recordings from my 1/1/1 Super NES, so we can tell which is more accurate.
jimbo1qaz
Posts: 9
Joined: Tue Mar 29, 2016 1:25 am

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by jimbo1qaz »

Try this? https://www.dropbox.com/s/jqn525gxcgxn3 ... c.spc?dl=1

EDIT: Snes9X produces the same sound as GEP. Sadly, I still can't rip the samples for a soundfont, due to echo.
User avatar
bazz
Posts: 476
Joined: Fri Sep 02, 2011 8:34 pm
Contact:

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by bazz »

jimbo1qaz wrote:Try this? https://www.dropbox.com/s/jqn525gxcgxn3 ... c.spc?dl=1

EDIT: Snes9X produces the same sound as GEP. Sadly, I still can't rip the samples for a soundfont, due to echo.
Fortunately, my WIP program SNES Tracker Debugger (http://snestracker.club) allowed me to solo channel 1+2, and disable the echo with a click of a button. I used its WAV export feature and tidied the result in Audacity. Is this what you want? Note: The sample could be normalized -- this is direct output from a pretty great APU emulator made by Blargg -- Note: I'm using some custom DSP output that is "not real" SNES ie DSP_SMOOTHING - which reduces pops in sudden volume changes .. If anything it probably just made a better sample for you :)

Of course I had to include a little sample image of the SNES Tracker Debugger (STD) and its solo'd channels and No Echo volume setting on :3
Attachments
kefka laugh _ pitch mod sample dumped with echo disabled by SNES Tracker Debugger
kefka laugh _ pitch mod sample dumped with echo disabled by SNES Tracker Debugger
Screen Shot 2016-03-29 at 11.54.21 PM.png (9.11 KiB) Viewed 13747 times
SNES Tutorials (WLA DX)
SNES Memory Mapping Tutorial (Universal / LoROM) -- By Universal I introduce how memory mapping works, rather than just provide a LoROM map.
SNES Tracker (WIP) - Music/SFX composition tool / SPC Debugger
jimbo1qaz
Posts: 9
Joined: Tue Mar 29, 2016 1:25 am

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by jimbo1qaz »

Thanks for your rip, it's exactly what I'm looking for.

I'm contacting dgrfactory about the emulation error.
User avatar
bazz
Posts: 476
Joined: Fri Sep 02, 2011 8:34 pm
Contact:

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by bazz »

jimbo1qaz wrote:Thanks for your rip, it's exactly what I'm looking for.
That's great! Please credit me and SNES Tracker http://snestracker.club/ for producing the sample.
SNES Tutorials (WLA DX)
SNES Memory Mapping Tutorial (Universal / LoROM) -- By Universal I introduce how memory mapping works, rather than just provide a LoROM map.
SNES Tracker (WIP) - Music/SFX composition tool / SPC Debugger
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by tepples »

If you report an emulation error, be sure to include a recording from hardware.
Attachments
Kefka_laugh_HW_comparison.ogg
(34.19 KiB) Downloaded 140 times
User avatar
bazz
Posts: 476
Joined: Fri Sep 02, 2011 8:34 pm
Contact:

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by bazz »

tepples wrote:If you report an emulation error, be sure to include a recording from hardware.
nice job on the hardware sample :)
SNES Tutorials (WLA DX)
SNES Memory Mapping Tutorial (Universal / LoROM) -- By Universal I introduce how memory mapping works, rather than just provide a LoROM map.
SNES Tracker (WIP) - Music/SFX composition tool / SPC Debugger
jimbo1qaz
Posts: 9
Joined: Tue Mar 29, 2016 1:25 am

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by jimbo1qaz »

how is snestracker development going? does it compile and run on windows/linux?
User avatar
bazz
Posts: 476
Joined: Fri Sep 02, 2011 8:34 pm
Contact:

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by bazz »

jimbo1qaz wrote:how is snestracker development going? does it compile and run on windows/linux?
*typing from phone, typos very likely*

Its going great thanks for asking! I am starting a new community for it on IRC. The server is ESPERnet, channel is #snestracker. I'm interested in having anyone join that is interested in helping in whatever way they can, whether as testers or gfx or programming, and some day marketing / publicity.

I have configured the project to compile on Linux, and can be cross-compiled for Win32 from Linux. I've seen the program run on Win XP and Windows 7 I believe.. Although there are some holes that need to be filled there in the file load/save dialog library (filters, and save dialog) -- this is because I like to make way more work than necessary, and instead of using something pre-built and ready to rock like QT, I am using a greater amount of dependencies and creating my GUI from scratch.

I feel I am being a bit too detailed. So to avoid doing so, I will just say I am a very stubborn person who refuses to just use QT directly. Instead, I am interested in abstracting everything and having driver implementations that can (hopefully) be built in a straight-forward manner.

This means rather than have a direct QT implementation for say, a button, or a button class directly made with SDL... I'll just make an abstract button class that can have a separate implementation for whatever library I or someone wants to drive..

I need to take a few steps back because this abstraction really calla for a re-design of the code.

I think I also took a terrible first-attempt with the way I have floating "contexts" - it was kind of my way at making certain objects available in a slightly, if at all, better way than being straight up global... It might be the right implementation, but something about the way this code exists really frustrates me. I think its because I hate the idea of giving a bunch of different objects references to one object, when I could just be a direct reference... I'm not sure if compiler will optimize that for me, but my low-level self wants to see the resources only have one pointer to it instead of twenty, for instance...

A part of me hoped to have given you a simple "thanks, its going well" response, but *smiles* nope
SNES Tutorials (WLA DX)
SNES Memory Mapping Tutorial (Universal / LoROM) -- By Universal I introduce how memory mapping works, rather than just provide a LoROM map.
SNES Tracker (WIP) - Music/SFX composition tool / SPC Debugger
jimbo1qaz
Posts: 9
Joined: Tue Mar 29, 2016 1:25 am

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by jimbo1qaz »

use hiro (byuu)? </sarcasm>

I've never used it before, and I'm not sure if the API is anywhere near stable at this point, but...

It's more geared towards emulators. I'm not sure if the file open is what you're looking for.
User avatar
bazz
Posts: 476
Joined: Fri Sep 02, 2011 8:34 pm
Contact:

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by bazz »

Is this the most recent comment from byuu on hiro? (mid-2015): https://news.ycombinator.com/item?id=10030499

> I hope to get a stable API version along with documentation out this year. If anyone really wants to see it right now, take a look at higan and the source to its UI.

Hiro is greyed out on byuu.org - so I guess I'll have to look at the latest higan for it. I have plenty of tasks before I check this out, however. Right now, I'm refactoring and then decoupling the GUI-implementation details from the classes to help create a clearer API.
SNES Tutorials (WLA DX)
SNES Memory Mapping Tutorial (Universal / LoROM) -- By Universal I introduce how memory mapping works, rather than just provide a LoROM map.
SNES Tracker (WIP) - Music/SFX composition tool / SPC Debugger
jimbo1qaz
Posts: 9
Joined: Tue Mar 29, 2016 1:25 am

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by jimbo1qaz »

Someone's maintaining an unofficial Higan snapshot repository. You can find hiro builds source code there: https://gitlab.com/higan/higan
I think hiro may depend on nall, also in that repo.

Note that development discussion is in byuu's forum: http://board.byuu.org/phpbb3/viewforum.php?f=15
Last edited by jimbo1qaz on Mon May 16, 2016 9:35 am, edited 1 time in total.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Re: Audio differences between SNESAPU and GEP? (FF6 Kefka la

Post by Bregalad »

I extracted all ~260 sound effects from Final Fantasy VI, including the one you're looking for.
The one you're looking for is number 205.
I am not sure if the version played as a sound effect is absolutely 100% identical to the version played as part of the final boss music, though.
Post Reply