PowerPak Expansion Audio Volume

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
PowerPak Expansion Audio Volume
by on (#45960)
NSF
http://average.truechiptilldeath.com/fi ... l_plot.nsf

Hardware Record
http://average.truechiptilldeath.com/fi ... l_plot.mp3

I'm using a PowerPak and a 47K ohm resistor. Do any of you notice that the VRC6 audio is really loud half way through the song?

By the way, this track is made by a friend on the latest stable version of FamiTracker.

by on (#45968)
If I can find the time to build my VRC6 dev-cart, I could always test it later on it. That would be the best test to confirm it. I will see what I can do.

by on (#45971)
I didn't spend a whole lot of time tweaking the volume levels just right, so I'm not surprised. I did enough to make it sound "pretty good" to my ears and moved on. Comparing it to the Real Thing instead of a software NSF player would be nice though.

by on (#45972)
loopy wrote:
Comparing it to the Real Thing instead of a software NSF player would be nice though.


This is what I had in mind since a reference sound should help to tweak the powerpak properly. I need to make that dev-cart for one of my project anyway so this give me another incentive to find the time to put the sockets on it (if my child let me to..).


@B00daW: can you find a way to ask your friend to make from famitracker a nes version of this file? This way I would just need to remove the header and copy the file on the flash eprom.

by on (#45981)
I have the FTM. Here's the PRG.

by on (#45985)
B00daW wrote:
I have the FTM. Here's the PRG.


ok, great. I will try to find some time this week to make the cart. If I remove just the PRG-ROM that should be enough to do the testing. Once I have it up and running and can record it, I will do an MP3 of it.

edit:

There is one issue thought. Do we know how Famitracker uses the VRC6 registers? Because if it uses the Akumajou dracula way, I will need to make a custom build of the driver since I will use a Madara cart for the dev-cart (a lot cheaper than akumajou dracula to get). Did Jsr mention anything about it?

by on (#45997)
I guess check the source or check out the registers in FCEUX. :)

by on (#46000)
B00daW wrote:
I guess check the source or check out the registers in FCEUX. :)


There is good chance that the answer is in the apu.s module were all the APU writes are done (unless Jsr changed the structure of it). I will give it a look during my lunch time since I will need to update the driver for my own needs soon.

If the write are the same as Akumajou, I will make a new driver and the only thing I will need is the music/dpcm data.

edit:

It's not in the APU module but in the vrc6.s instead. The mapping is for Akumajou. The file is quite small so it should be quite easy to inverse the registers.

edit2:

I re-converted the driver to work with my sample and added a few flags along the way:

- You can again disable/enable any channels (VRC6 included). Restoring channel is still not perfect
- You can decide which note table to insert a compile time (PAL/NTSC)
- You can select which VRC6 board you want to use (Akumajou or Madara/Esper dream)
- You can include VRC6 or not (option was already there)
- You can define a list of song in a table and can be located anywhere you want

My test sample is now working with the new driver. I will need the data/dpcm bin files so I can compile it in my sample. What is left is just to make the dev cart.

by on (#46013)
http://user.tninet.se/~zxy965r/nsf.zip NSF Live! allows users to rip DPCM sample data out of NSFs. Enjoy :)

by on (#46016)
This reminded me that I was going to figure out the mixing level of VRC6 and the internal audio as I haven't seen it documented anywhere. So I made some quick tests with a Madara-cart and the result wasn't very surprising, the amplitude of VRC6 pulse channel levels was exactly as the internal pulse channels on the same volume levels. The sawtooth channel has one bit extra connected to the DAC so it's able to play twice as loud. (As explained in Kevins VRC6 chip info document).

I haven't checked many emulators but it seems Nintendulator gets it right. NSFplay however doesn't, the default settings are too quiet.

B00daW: If you want to tweak the Powerpak audio, just compare the pulse channels of VRC6 and 2A03 on the same amplitude and adjust the resistor until they both measure the same. (I assume the mixing inside the powerpak is linear.)

Banshaku: It is the Akumajou order, but this can easily be changed in the NSF with a hex editor. (The PRG-image probably won't work properly as it doesn't set up the banks for the VRC6 mapper.)

by on (#46017)
jsr wrote:
It is the Akumajou order, but this can easily be changed in the NSF with a hex editor. (The PRG-image probably won't work properly as it doesn't set up the banks for the VRC6 mapper.)


For the PRG file, I had a feeling this would be the case so I already started to prepare my test sample with the updated driver source code. It's already compiling and working (in emulators). I just need B00daW's music binary data+DPCM to compile it inside.

I just inserted a new flag so you can select either the Akumajou or Madara/Esper dream board at compile time: it just replace the value of a few symbolic constants. Not many people may need that but at least it will be there. I still plan to use Famitracker for my future game(s)/tech testing so I updated again the driver with my needs. I still have a some issue with restoring the channels but I will figure it out later.

I saw that in the main driver code that you inserted some stubs method for "maybe" disabling channels. Do you plan do add this option in a near future? :)


@B00daW: Based on JSR comments, do you still need to test it on the real thing? Once I get the data, I can still do it someday.

by on (#46018)
I was under the assumption that the audio values were wrong per the PowerPak. I have a 47K resistor installed, which is the popular prescription.

So VRC6 channels are loud naturally, but are other expansion audio channels loud as well?

Basically, am I noticing a problem or is it a lot of nothing?

by on (#46132)
Banshaku wrote:
I saw that in the main driver code that you inserted some stubs method for "maybe" disabling channels. Do you plan do add this option in a near future? :)

Yes those methods are now functional and will available in the next version to make it easier to add sound effects.

B00daW wrote:
So VRC6 channels are loud naturally, but are other expansion audio channels loud as well?

To clarify, it shouldn't be much louder than the internal channels. I don't know about other channels, but I got a few other carts that I'll check sometime. (I suspect the same result.)

by on (#46139)
jsr wrote:
Yes those methods are now functional and will available in the next version to make it easier to add sound effects.


This is good news! I will be more than happy to use it when it comes out. Is it planned for version 3.0?

by on (#47013)
Regarding the powerpak and audio expansion-
I was trying out some FDS games last night. The wavetable audio seems to be slightly out of tune, noticeably different than using Nestopia or listening to an NSF in notsofatso / nsfplug. I could provide samples later on if anyone is interested.

by on (#47027)
bucky o'hare wrote:
Regarding the powerpak and audio expansion-
I was trying out some FDS games last night. The wavetable audio seems to be slightly out of tune, noticeably different than using Nestopia or listening to an NSF in notsofatso / nsfplug. I could provide samples later on if anyone is interested.

Yes, I suppose you're right.
I made some comparisons myself.
YouTube

by on (#47029)
Ah, cool. Nice work!

Yeah it may be less obvious when heard as sfx, but when it's used melodically with the rest of the normal channels it stands out much more.

by on (#81331)
Sorry to dig up an old post. I'm a new PowerPak owner and I did the resistor mod. I too noticed that the VRC6 channel is too loud in Akumajō Densetsu. You can barely hear the whip noise overtop of it. Anyone else notice that?

by on (#81343)
philexile wrote:
Sorry to dig up an old post. I'm a new PowerPak owner and I did the resistor mod. I too noticed that the VRC6 channel is too loud in Akumajō Densetsu. You can barely hear the whip noise overtop of it. Anyone else notice that?


I got a 100k potentiometer and used that in place of the 47k resistor. That way you can change the volume to whatever level you want (i matched mine to an emulator's vrc6 levels using a wave editor).

by on (#81355)
Ha, that's pretty brilliant! Do you have any picts or video?

by on (#81357)
Image
Loopy's included pic of the mod. That just uses a 47k resistor.. replace it with something like this:

Image
key: black thing toward bottom is the potentiometer with a knob in the middle, brown things are wires, yellow dots are soldered pins.


I will get a real picture sometime later today. I might not want to take apart my system completely because it was a tight fit / i didn't have really small wires to work with, so I don't want to screw it up :P

edit: mine actually connects to the leftmost and middle prongs of the potentiometer... the far prong was too much resistance.

by on (#81360)
Oh, no need for more pictures. I get it! So it was a 100k pot? I just wanted to double check because the resistor is supposed to be 47 ohm.

I actually used two 100 ohm resistors in parallel to create 50 ohm, which seems to work fine. (I didn't have any 47 ohm resistors handy)

by on (#81366)
you would connect the wires to the potentiometer so that outer and middle pins get used. connection to outer pins = non adjustable resistance (potentiometer's value)

by on (#81399)
Yes.. you'd want more than 50k in case you need more than 50k :P If you can find a 75k potentiometer then go ahead.. I couldn't though.