SNES music program
Moderator: Moderators
Forum rules
- For making cartridges of your Super NES games, see Reproduction.
-
- Posts: 3140
- Joined: Wed May 19, 2010 6:12 pm
SNES music program
This weekend I started working on my own SNES music program. It's going to use the Mario Paint mouse and will have 3 main sections:
-SPC700 parameters (volume, ADSR, echo enable, etc)
-software synthesizer
-music tracker
The software synthesizer lets you create your own samples from scratch using a combination of additive synth and FM.
My "synthesizer specs" include, up to 4 operators per channel (maybe even 8 operators in the future). Operators can be a selection of waveforms (pulse, square, saw, triangle and sine) with detuning, FM modulation and ADSR settings (though you would have to be careful not to clash with the hardware ADSR).
There would be 5 sample loop settings:
-no loop
-single cycle loop (no detuning)
-multi cycle loop
-single cycle loop with attack (no detuning)
-multi cycle loop with attack
-SPC700 parameters (volume, ADSR, echo enable, etc)
-software synthesizer
-music tracker
The software synthesizer lets you create your own samples from scratch using a combination of additive synth and FM.
My "synthesizer specs" include, up to 4 operators per channel (maybe even 8 operators in the future). Operators can be a selection of waveforms (pulse, square, saw, triangle and sine) with detuning, FM modulation and ADSR settings (though you would have to be careful not to clash with the hardware ADSR).
There would be 5 sample loop settings:
-no loop
-single cycle loop (no detuning)
-multi cycle loop
-single cycle loop with attack (no detuning)
-multi cycle loop with attack
Re: SNES music program
Sounds interesting.
Do you mean offline processing? Are you going to try to do an optimizing BRR encoder?The software synthesizer lets you create your own samples from scratch using a combination of additive synth and FM.
-
- Posts: 3140
- Joined: Wed May 19, 2010 6:12 pm
Re: SNES music program
I found out using the Mario Paint mouse is harder than I thought. I thought the directions you move the mouse work the same as the D-Pad, and the 2 buttons are A and B, but I guess I was wrong.
I never heard of offline processing before, but it's going to attempt to compute the BRR samples with the 65816 as soon as parameters get changed, then feed them to the SPC700.93143 wrote:Sounds interesting.
Do you mean offline processing? Are you going to try to do an optimizing BRR encoder?The software synthesizer lets you create your own samples from scratch using a combination of additive synth and FM.
Re: SNES music program
The buttons are X and A, and the cumulative distance is in the sign-and-magnitude of the next 16 bits after the autoreader finishes. For more info, see "Mouse" on NESdev Wiki.
Need code examples? My NES programs with Super NES Mouse support include Controller test, Thwaite, Action 53 menu, and the sound effects editor that comes with Pently. NovaSquirrel has Sliding Blaster. The controller interface on the Super NES controllers works exactly the same way, except that the autoreader has already read the first 16 bits for you.
Need code examples? My NES programs with Super NES Mouse support include Controller test, Thwaite, Action 53 menu, and the sound effects editor that comes with Pently. NovaSquirrel has Sliding Blaster. The controller interface on the Super NES controllers works exactly the same way, except that the autoreader has already read the first 16 bits for you.
-
- Posts: 3140
- Joined: Wed May 19, 2010 6:12 pm
Re: SNES music program
So it's basically
lda $4016
lsr
ror {joypad}
8 times in a row, for 2 bytes.
lda $4016
lsr
ror {joypad}
8 times in a row, for 2 bytes.
Re: SNES music program
What I mean by "offline processing" is essentially just the opposite of "real-time" or "on-the-fly". As in, encoding to BRR once the user has designed the waveform and pushed the RENDER button, rather than live while the track is playing (or, I suppose, while the user is designing the waveform - I can't figure out what you mean by "parameters get changed"). I was wondering if you were going for an optimizing encoder, which I imagine would be easier to pull off without the rigid time constraints of real-time playback.psycopathicteen wrote:I never heard of offline processing before, but it's going to attempt to compute the BRR samples with the 65816 as soon as parameters get changed, then feed them to the SPC700.
-
- Posts: 3140
- Joined: Wed May 19, 2010 6:12 pm
Re: SNES music program
Got a piano working. Right now it's doing NES style square waves. I'm using hand coded samples that are 64 samples long, with a simple (-.5, 2, -.5} sharpening filter manually applied. I had trouble with aliasing on high notes, so I rounded the values to the nearest 64000/x Hz frequency.
Re: SNES music program
I'm about to download this. I hope that I can plug in my MIDI keyboard and use it with the program. I also hope that the program is has GUI and I can actually understand how to use it.
*crosses fingers*
[edit]
Okay, All I got was this strange SNES rom which had a blue screen and an arrow that just flickered diagonally across the screen. So ???
*crosses fingers*
[edit]
Okay, All I got was this strange SNES rom which had a blue screen and an arrow that just flickered diagonally across the screen. So ???
Re: SNES music program
You have to put the mouse in port 2. Gamepad in port 1; it's used to manipulate parameters.
The graphics (other than the mouse pointer) don't work in Snes9X. Gotta use something else.
The graphics (other than the mouse pointer) don't work in Snes9X. Gotta use something else.
Last edited by 93143 on Wed Jul 25, 2018 2:02 am, edited 2 times in total.
Re: SNES music program
Gotta read the original post a little more closely:Erockbrox wrote:Okay, All I got was this strange SNES rom which had a blue screen and an arrow that just flickered diagonally across the screen. So ???
In other words, this isn't a Windows program for making SNES music. This is a SNES program for making SNES music. Or, at least, it will be eventually, I guess.psycopathicteen wrote:This weekend I started working on my own SNES music program. It's going to use the Mario Paint mouse
-
- Posts: 3140
- Joined: Wed May 19, 2010 6:12 pm
Re: SNES music program
Oh yeah, I forgot. Snes9x is retarded.93143 wrote:You have to put the mouse in port 2. Gamepad in port 1; it's used to manipulate parameters.
The graphics (other than the mouse pointer) don't work in Snes9X. Gotta use something else.
EDIT:
Tested it. It's working on Snes9x correctly on my computer.
Re: SNES music program
I used ZMZ emulator.
Okay so you need an SNES mouse then? Okay I will try it out on real hardware once I get an actual mouse.
Okay so you need an SNES mouse then? Okay I will try it out on real hardware once I get an actual mouse.
Re: SNES music program
Good idea!
Seems promising!
I'll keep an eye on it.
Seems promising!
I'll keep an eye on it.
- Drew Sebastino
- Formerly Espozo
- Posts: 3496
- Joined: Mon Sep 15, 2014 4:35 pm
- Location: Richmond, Virginia
Re: SNES music program
Very interesting idea and certainly ambitious. Do you plan on adding any capability for samples too? That would be great, but I have no idea how you'd get this to work for a multitude of reasons...
-
- Posts: 275
- Joined: Wed Jul 09, 2008 8:46 pm
Re: SNES music program
My instinct on adding custom samples would require the SRAM to be used and will likely require an external program to put them in there.