OK, here it is – “SuperMagic Music Maker” ROM!
I was going to make a video but damn I spent a ridiculous amount of time tonight trying to get my video capture stuff working but it just don’t want to. Seems to have happened sometime after an OS update. The price of progress, eh?
Anyway, grab the file here:
And here’s the text from the instructions:
Supermagic Music Maker ROM - Neil Baldwin September 2012
It makes magic!
It makes music!
It makes music magic!
It makes glitchy noise nonesense!
It's heart is made of mathematics and unicorn dreams!
It's the SUPERMAGIC MUSIC MAKER!
1) Load it up in your favourite NES emulator or stick it on a Powerpak cart.
2) Connect a controller to port 1
3) Brace yourself for staggering awesomeness!
OK, It's Making Weird Noises, Now What?
Up to you, you can just sit back and let SMMM do it's stuff. It will keep going forever, creating variations on patterns and quirky modulation.
It will however stay at the same tempo, in the same key with the same octave ranges. In other words: it will get boring, eventually.
This is where you'll need that controller....
Tap [B] or [A] to modify the musical key
You'll see it change in the display and you'll likely hear it too.
Hold [START] and tap [UP]/[DOWN] to change the musical scale.
You'll see it change in the display. Codes explained below.
Hold [DOWN] and tap [B], [A], [SELECT] or [START] to mute/unmute channels
You can hit combinations of those buttons if you've got pad skills.
Buttons correspond to Square 1, Square 2, Triangle and Noise respectively
Hold [B], [A] or [SELECT] and tap [UP]/[DOWN] to modify the base octave of
the three melodic voices.
Hold [B], [A], or [SELECT] and tap [LEFT/RIGHT] to modify the octave range
of the three melodic voices.
Hold [START] and tap [LEFT]/[RIGHT] to change the timebase
The effect only takes place at the end of the current patten
Tap [START] to cycle the different visual modes
Colours + starfield
Tap [SELECT] to cycle the different colour modes
You'll only notice while in one of the 'colour' visualise modes
Tap [LEFT] to toggle 'modulation'
Tap [RIGHT] to toggle 'wobble'
Tap [UP] to toggle 'overdrive'
these modes can be combined for extra effect. For example:
80s NES RPG MODE!
Tap [LEFT] to disable modulation (you'll know when it happens) and then tap [RIGHT] to enable 'wobble'. When modulation is disabled, 'wobble' has a different effect - '80s NES RPG MODE!'
In this mode, modulation is disabled, notes are all legato (envelopes off) and visualiser colours have 37% more cute.
What Do Those Numbers and Symbols Mean?
The first square denotes Square 1 voice. The two little bars next to it show the base octave (the higher the bar, the higher the octave) and the octave range (the higher the bar the more octave variation will occur)
Same for the second square but for Square 2 voice.
The little triangle denotes the Triangle voice. Otherwise same as before.
The clock symbol and number shows the current timebase for the pattern sequencer. The lower the number, the faster the patterns. Remember that when changing this, the change will only show (and be heard) at the start of a pattern.
The note shows the current key (A, A# etc.) followed by a three-letter code denoting the current scale. There are 20 scales, the codes are explained in the next section.
Octaves, Keys and Scales. And Patterns
OK so you've probably noticed that there's a lot of random stuff hapenning.
SMMM plays back preset patterns. All four voices stay in sync no matter what. There are weighted variables set in the patterns that determine things like the probability of a new note being played on each pattern step.
When a new note is generated it's based on 4 things:
- the base octave (set per voice)
- the octave range (set per voice)
- the current key and scale (same for all voices)
- random modulation of the ADSR envelope
Every time a new pattern is played, SMMM will repeat it either 4 or 8 times before selecting a new pattern. Patterns are all preset. Some are pretty straight, some have triplets and all sorts of nonesense but they always stay in sync.
There are 20 scales:
CHR (chromatic), ION (ionian/major), AEO (aeolian/minor), DOR (dorian)
PHR (phrygian), LYD (lydian), MIX (mixolydian), LOC (locrian)
MMA (medlodic minor, ascending), MMD (melodic minor, descending)
WHL (whole tone), PMI (pentatonic minor), PNE (pentatonic neutral)
LYA (lydian augmented), LYM (lydian minor), LDM (lydian diminished)
MBL (major blues), DPN (dominant pentatonic) and BLU (blues)
Modulation is based on 4 software LFOs with the rate and depth of them being constantly randomised (on each new note starting). Because the LFO output is only 8-bits, the effect is more severe the higher the octave of the note.
Also because the modulation is essentially FM, it creates overtones that are more often than not out of pitch with the fundamental notes.
If you want to play with making something more musical, you'll hear the influence that scales and octaves have on the notes if you turn the modulation off - tap [LEFT] to toggle modulation and tap [RIGHT] to toggle legato on/off.