Supermagic Music Maker ROM - Neil Baldwin September 2012 -------------------------------------------------------- Version 1.1 ----------- + Added random arpeggios on the two Square voices. Tricky one as it seems to be a mess most of the time. Makes interesting noises when the FM mod is on though. SMMM attempts to keep the arpeggios 'in scale' but it works less than more. + If you hold down a combination of button on the control pad when the NES is booting, the starting parameters will be randomised differently. + You can now hold the currently playing pattern on any voice: Hold [UP] and tap B, A, SELECT or START to hold the current pattern This is a toggle control like muting individual voices. When a Pattern is HELD, a 'h' will appear next to the voice icon. When a Pattern is in RANDOM mode, a 'r' will appear next to the icon. The random number of repeats (2,4,8 or 16) of a playing pattern is still counting even in HOLD mode so even if you toggle a Pattern back to RANDOM it might not change immediately. + added an extra visualiser pattern SMMM - WHAT!? ------------- It makes magic! It makes music! It makes music magic! It makes glitchy noise nonsense! It's heart is made of mathematics and unicorn dreams! It's the SUPERMAGIC MUSIC MAKER! Instructions: ------------- 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.... AUDIO: 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 VISUAL: Tap [START] to cycle the different visual modes No visualiser Colours Starfield Colours + starfield Tap [SELECT] to cycle the different colour modes You'll only notice while in one of the 'colour' visualise modes BONUS STAGE! 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? --------------------------------------- From left-to-right 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 ---------- 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. Enjoy!