Create 4-bit unsigned little endian PCM samples?

Discuss NSF files, FamiTracker, MML tools, or anything else related to NES music.

Moderator: Moderators

User avatar
Sumez
Posts: 909
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: "Ghostbusters!" PCM little help needed

Post by Sumez » Fri Dec 15, 2017 1:59 am

In more simple terms, DPCM samples on NES hardware allows the APU to play the sound on its own without much involvement from the CPU, which makes it much more viable to use during actual gameplay, but the sound quality is very limited compared to what you can do with pure PCM playback. Considering how terrible the "ghost buster!" sample sounds in that game, I'm surprised it's not DPCM.

User avatar
Bregalad
Posts: 7752
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: "Ghostbusters!" PCM little help needed

Post by Bregalad » Fri Dec 15, 2017 3:27 am

Sumez wrote:Considering how terrible the "ghost buster!" sample sounds in that game, I'm surprised it's not DPCM.
I'm surprised as well.

User avatar
nesrocks
Posts: 428
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: "Ghostbusters!" PCM little help needed

Post by nesrocks » Fri Dec 15, 2017 5:37 am

Okay... I'm gonna try replacing the code that plays it for a more standard code then. Luckly for me DPCM can be used because the original sample is partially located at 0xC000, with $700 of its bytes being after 0xC000. So I can instantly have a $700 bytes long dpcm sample to test without having to move anything around.

Instantly, I have a question. Can a new song use this very same sample during its playpack? You know, at the right moments in the song.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!

User avatar
Bregalad
Posts: 7752
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Re: "Ghostbusters!" PCM little help needed

Post by Bregalad » Fri Dec 15, 2017 6:52 am

nesrocks wrote:Can a new song use this very same sample during its playpack? You know, at the right moments in the song.
Well, of course it can. However, I don't think Ghostbusters' sound engine supports it.

User avatar
nesrocks
Posts: 428
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: "Ghostbusters!" PCM little help needed

Post by nesrocks » Fri Dec 15, 2017 6:58 am

I got 1-bit dpcm working! My sample sounds pretty compressed though. I replaced the code for sample playback using tepples 81ex.nes example.
Bregalad wrote:Well, of course it can. However, I don't think Ghostbusters' sound engine supports it.
Humm yeah okay. The engine supports the noise channel for music, but the noise channel data is just a 00. At least that can be used.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!

tepples
Posts: 21710
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: "Ghostbusters!" PCM little help needed

Post by tepples » Fri Dec 15, 2017 7:21 am

I can take an educated guess why they didn't use the shouting sample from the Ray Parker Jr. song in the game.

Compare the scream in Ghostbusters for NES (video) to the same scream in the C64 version (video). Notice that the C64 scream is longer and clearer. This is because it uses a much more efficient audio codec by Forrest Mozer called ESS MX, the same used in Impossible Mission for C64 ("another visitor") and Mito Koumon for Famicom (video). I imagine the NES port team didn't want to spend the extra bucks licensing this codec for the NES version.

The one drawback of ESS MX is that it doesn't handle anything other than a single voice. ESS MX won't handle a crowd shouting because it works based on repeating short wavetable segments one period long, and shouting isn't nearly as periodic. And I imagine they wanted the same audio on all platforms, as licensing the sample from Arista Records just for the NES version would also be more expensive.

User avatar
nesrocks
Posts: 428
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: "Ghostbusters!" PCM little help needed

Post by nesrocks » Fri Dec 15, 2017 7:31 am

All of that may be true, but personally I think it's just because this game was made by interns and they used the cheapest quickest solution they could get working.

edit: the licensing thing on the other hand I agree you must be 100% spot on.
Last edited by nesrocks on Fri Dec 15, 2017 8:57 am, edited 1 time in total.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!

User avatar
Sumez
Posts: 909
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: "Ghostbusters!" PCM little help needed

Post by Sumez » Fri Dec 15, 2017 8:48 am

Yeah.... Ghostbusters 1 on NES is a pretty classic example of "here's a lucrative movie license, just put whatever out so we can make money on it, I don't care what it is"

User avatar
bazza
Posts: 88
Joined: Fri Nov 24, 2017 1:36 pm
Location: Argentina
Contact:

Re: "Ghostbusters!" PCM little help needed

Post by bazza » Fri Dec 15, 2017 9:06 am

@nesrocks I want to see the version that these doing of ghostbuster

User avatar
nesrocks
Posts: 428
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: "Ghostbusters!" PCM little help needed

Post by nesrocks » Fri Dec 15, 2017 9:11 am

I'm going to free a little more space so I can have $7A0 bytes instead of $700 and then I'll share an ips. That ok? In fact, I think that if I spend a little more time I can get $9F0 free for the sample.
Last edited by nesrocks on Wed Dec 20, 2017 5:10 am, edited 1 time in total.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!

User avatar
Fisher
Posts: 977
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: "Ghostbusters!" PCM little help needed

Post by Fisher » Fri Dec 15, 2017 5:17 pm

WOW!! :shock:
Far better than the original!!
Thanks, and keep the good work!!

User avatar
nesrocks
Posts: 428
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: "Ghostbusters!" PCM little help needed

Post by nesrocks » Wed Dec 20, 2017 10:55 am

After trying everything I'm ready to give up and remove it altogether. Maybe even replace it with 3 notes, like the attached file. The reason for this is that the dpcm sample sounds a lot lower on volume compared to the rest of the game (and the original 4-bit PCM sample).

edit: gauntlet 2 has exactly the same format as the original game, with a faster rate. Now when you press start in a version of ghostbusters only I have, it says "WELCOME WARRIOR", loud and clear. How can we generate new samples on this format?

edit2: when I follow these instructions I can make a sound that is like static noise but it has the same rhythm as the ghostbusters yell.
http://fullmotionvideo.free.fr/phpBB3/v ... f=1&t=1487

You can find Kaja's tools here https://sites.google.com/site/kajapon/pmd

edit3: huge progress, I'm calling it solved: http://vgmrips.net/forum/viewtopic.php? ... 9493#p9493
Attachments
yellsquare2.zip
(41.52 KiB) Downloaded 139 times
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!

Post Reply