‹ Using MIDINES 1.1.0
_______________________________________________________________________________________________
______________ USING MIDINES 1.1.0______________________________________________________________/\
_______________________________________________________________________________________________
_______________________________________________________________________________________________
____ USING CONTROLLER #1______________________________________________________________________/\
_______________________________________________________________________________________________
____ MIDINES MODES____________________________________________________________________________/\
PRESSING SELECT ON THE #1 CONTROLLER TOGGLES BETWEEN MODES 1 and 2.
MODE 2 is the default, Mode 2 allows the screen graphics to run so that you can monitor the note sprites and also use NESFX.
MODE 1 disables the Graphics routines, which silences that nasty 60 hertz buzz, and also increases Music processing performance.
You will notice a significant sound difference between MODE 1 and MODE 2 when using things like the pulse mod hack, and the DMC Wave Traveller. So usually it's best when composing to choose the MIDI Channel offset you need and then turn Midines to Mode 1 and just keep it there for the entire composition.
_______________________________________________________________________________________________
____ MIDI CHANNEL OFFSET_______________________________________________________________________/\
PRESSING UP ON THE #1 CONTROLLER INCREMENTS THE MIDI CHANNEL OFFSET.
PRESSING DOWN ON THE #1 CONTROLLER DECREMENTS THE MIDI CHANNEL OFFSET.
NESFX must be OFF, and Midines must be in MODE 2 in order to change the MIDI Channel Offset.
-The default Midi channel assignments for Midines:
MIDI Channel 01 = Pulse 01
MIDI Channel 02 = Pulse 02
MIDI Channel 03 = Triangle
MIDI Channel 04 = Noise
MIDI Channel 05 = sample (DMC) channel
Can be changed, rather shifted - to respond to different MIDI Channels using the UP / DOWN pad on Controller #1.
The on screen channel displays the current base channel.
This defaults to MIDI Channel 01, which will be the current MIDI Channel the Pulse 01 audio channel responds to.
If for example while Midines was in mode 2, (toggle with START button) and you pressed up twice the channel display would now read channel 03. This sets the Pulse 01 to respond to MIDI channel 03. Similarly the other audio channels will have been shifted up by 2.
-channel 03 - MIDI Channel Offset
MIDI Channel 03 = Pulse 01
MIDI Channel 04 = Pulse 02
MIDI Channel 05 = Triangle
MIDI Channel 06 = Noise
MIDI Channel 07 = DMC (sample) channel
Offset "a" is hex for decimal 10, "b" is 11.
_______________________________________________________________________________________________
____ NESFX___________________________________________________________________________________/\
Pressing START on the #1 CONTROLLER toggles NESFX ON/OFF.
Basically NESFX changes the graphics on screen based on things like channel pitch, or notes played.
_______________________________________________________________________________________________
______________ AUDIO CHANNELS + EFFECTS_______________________________________________________/\
_______________________________________________________________________________________________
The NES features 5 sound channels, 2 Pulse with 4 step variable duty cycle, and 4 bit volume control. One triangle wave channel, that unfortunately has no volume control. One noise channel with two different random waveform generation methods, a short and long loop period (same as GB). Lastly a Delta Modulation audio sample channel.
Even though Midines has a few built in ways to modulate things, the MIDI latency is low enough in mode 1 that you can modulate any parameter into the audio domain, just using your sequencer application and MIDI CC commands.
Details on each of these sound channels follow.
_______________________________________________________________________________________________
______________ PULSE CHANNELS_(MIDI 1,2)________________________________________________________/\
_______________________________________________________________________________________________
The pulse channels feature 4bit volume, 4 duty cycle settings, a sweep pitch feature, and an auto volume envelope feature. The pulse channels can also be modulated via a modulation hack that constantly resets the pulse waveform generator.
Note on velocity allows 16 volume steps, and is derived by dividing the mid note volume by 8. Therefore changes in velocity of less than 8 may not have an actual effect on the sound channels volume level. Also some sequencers do not automatically set the master volume CC7 to 127. This master volume setting must be at 127 on order to get the full volume range of velocity from the midi notes you are playing. The master volume takes precedance over velocity and scales the velocity accordingly, however remember there are only 16 steps to the volume. Therefore if the master volume CC7 is at 7 or less the channel will *not* sound at all, even when playing a note at 127 velocity.
You can use midi pitchbend to shift the pulse channel it's entire frequency, if the stepping you hear is rough it could be due to your midi controller not sending incremental midi pitchbend messages, ex. 1001,1002,1003,1004....1212,1213 these would provide a smooth pitch bend, however many keyboard controllers default to larger pitchbend increments, ex. 40, 64, 80, 128 this will cause the pitch transition to sound rough. So check your manual for a pitchbend resolution, or look to use the "fine" pitchbend for vibratos over rough. However there is way around this by using MIDI CC8, which is a fine pitch bend that runs off MIDI CC8.
Fine Pitch CC8 offsets the fine pitch register for the note only. So due to this some notes may wrap from low to high or high to low pitches.
The NES has another important hardware setting related to the avaliable frequency range of the pulse channels.
In order to play the lowest octave notes on the pulse channels you must make sure CC 16 = Sweep Shift, is at full on (127). Midines defaults to this setting, however if you start working around with the sweep and suddenly loose the lowest octave of a pulse channel, thats the reason.
PULSE MIDI CONTROLLER CHANGE MESSAGES (CC parameters)
OFF = less than 64 (0x40)
ON = greater than or equal to 64 (0x40)
Mod wheel / CC1 = Duty Cycle
CC7 = Master Volume (value overrides note velocity)
CC8 = Fine pitch mod
CC9 = Pulse channel length envelope
CC10 = Toggle OFF/ON pulse channel loop envelope
CC11 = Toggle OFF/ON volume Envelope disable
CC12 = Toggle OFF/ON Modulate pulse channel
CC13 = Toggle OFF/ON Enable Sweep
CC14 = Sweep Down / Up
CC15 = Sweep Period
CC16 = Sweep Shift
_______________________________________________________________________________________________
____ MOD HACK________________________________________________________________________________/\
MIDI CC 12 (Toggle OFF/ON) turns on the mod hack if you send a value of 64 or greater, (0x40).
MIDI CC 6 is the frequency for this routine. _______________________________________________________________________________________________
______________ TRI CHANNEL_(MIDI 3)_____________________________________________________________/\
_______________________________________________________________________________________________
The triangle channel does not support hardware volume control as do the pulse and noise channels. Despite this limitation the triangle channel features the widest frequency response that the NES has to offer.
MIDI pitchbend allows full frequency shifts.
TRIANGLE MIDI CONTROLLER CHANGE MESSAGES (CC parameters)
CC8 = Fine pitch mod
_______________________________________________________________________________________________
______________ NOISE CHANNEL_(MIDI 4)___________________________________________________________/\
_______________________________________________________________________________________________
The noise sound channel features 4bit volume control, and also has an auto volume envelope feature, similar to the pulse channels. The noise channel has 2 modes of noise generation, long loop and short loop.
Long mode allows for standard noise generation, and short mode sounds more metallic and less random, more periodic. The NES's long / short noise loop modes are similar to the Game Boy noise modes.
The noise channel is spread out over MIDI channel 4. Due to the limited 16 noise pitch/period values that the NES allows, the noise period is repeated every 16 notes. For MIDI notes above 64 inclusive (64 dec 40 hex), noise short loop mode is set to on. For MIDI notes below 64 (64 dec 40 hex) the long mode is on.
Note on velocity allows 16 volume steps, and is derived by dividing the midi note volume by 8, scaled by the master volume. Therefore changes in velocity of less than 8 may not have an actual effect on the sound channels volume level.
NOISE MIDI CONTROLLER CHANGE MESSAGES (CC parameters)
OFF = less than 64 (0x40)
ON = greater than or equal to 64 (0x40)
CC7 = Master Volume
CC9 = Noise channel length envelope
CC10 = Toggle OFF/ON noise channel loop envelope
CC11 = Toggle OFF/ON volume Envelope disable
_______________________________________________________________________________________________
______________ SAMPLE CHANNEL (DMC)_(MIDI 5)____________________________________________________/\
_______________________________________________________________________________________________
The sample channel in Midines 1.1.0 features 256 different samples grouped into two 128 note sound banks. Samplesets include, TR909, TR808, TR707, LINN, AMEN, VG, HONG KONG BATTLE ACTION!, as well as additional breaks, and the older 1.0 sampleset + sfx, pads and vg battles.
Also Midines allows realime pitch shifting of the sample channel via MIDI CC 03. This allows for some effects not normally possible in most .nsf files, such as rubber-band-o drums, and then back to normal in a millisecond.
The sample channel has a looping mode which can be turned off/on via MIDI CC 04. Turning on the loop mode and then using the address override routine to override the sample playback length, is an easy way to get SDM sounds (spiffy dance musy).
For glitch fanboys/girls, check out this routine.
DMC PCM Modulation (reg $4011 poke)
CC 02 = Value to load
CC 13 = Toggle OFF/ON PCM Modulation
_______________________________________________________________________________________________
____ SAMPLES + BANKING_______________________________________________________________________/\
Midines defaults to bank 01, as shown by the B1 sprite on screen in the DMC column. Bank 01 contains mostly drum samples, bank 02 contains drum samples and pads + sfx. To change banks, use MIDI CC 14.
BANK 01 = less than 64 (0x40)
BANK 02 = greater than or equal to 64 (0x40)
MIDI CC 14 Switches between Bank 01 - and Bank 02 each bank accesses 128 samples, mapped 1 to a key.
_______________________________________________________________________________________________
____ ADDRESS OVERRIDE________________________________________________________________________/\
This routine, offsets the base note sample load address. Meaning: the last note you played on the DMC channel, it can change where the sample starts playing.
Also the sample playback length is overriden, so you can scale from sharp snaps to as long as the NES hardware will allow to play.
In order to access different sounds, you will need to play different note ranges on the keyboard, because this address offset routine only offsets addresses that are in the same 16KB ROM page.
It's best just to try everything out and hit a few notes on different octaves and you'll get the idea.
Also when adjusting the address the sample channel will play back, so you can tell where your starting from, the effect is similar to AKAI samplers.
OFF = less than 64 (0x40)
ON = greater than or equal to 64 (0x40)
CC 05 = DMC Sample start address offset (Only if address override enable is ON)
CC 06 = DMC Sample sample playback length (Only if address override enable is ON)
CC 08 = Toggle OFF/ON DMC address+length override
_______________________________________________________________________________________________
____ WAVE TRAVELER__________________________________________________________________________/\
This routine loops through data on the sample channel acheiving sounds from warm basses, to garbltygook®©.
CC 09 = Travel param tone
CC 10 = Travel speed
CC 11 = Travel loop size
CC 12 = Toggle OFF/ON DMC Wave Traveler
_______________________________________________________________________________________________
______________ TROUBLE SHOOTING______________________________________________________________/\
_______________________________________________________________________________________________
________ RESET BUTTON DOES NOT RESET MIDINES________________________________________________/\
In order to completely reset Midines you need to power off the NES and then power back on. Hitting the reset button only resets the NES CPU and doesn't reset the micro inside the Midines cart.
________ BLINKING OFF/ON SCREEN_____________________________________________________________/\
This problem can be caused by either a dirty 72 pin connector, or a non NTSC-NORTH AMERICAS REGION NES being used. For more information about NES CIC and regions search online.
________ CHANNEL MASTER VOLUME ___________________________________________________________/\
If MIDI CC7 (Master Volume) is at 8 or lower on the pulse or noise channels, (MIDI base channel 1,2 or 3)
Then you won't hear anything, the NES volume only has 16 levels, and 0-7 (1-8) is off.
MIDI CC7 works as a master volume, so that the individual key velocity is affected by this value.
For example if the MIDI CC7 is at half (63 or so) and you play a note with a velocity less than 64 you won't hear anything. You would have to play a note with a greater than 64 value velocity to hear anything, since the master volume is at half.
note: Many sequencers set this MIDI CC7 to a defualt value that is not %100 or 128, so you might not be getting the full volume range avaliable using velocity with Midines untill you adjust the master volume CC7 to full on.
________ PULSE OR NOISE CHANNELS STOPPED RESPONDING TO VELOCITY OR VOLUME_________________/\
This is probably because you sent MIDI CC messages to:
CC 10 = Toggle OFF/ON pulse channel loop envelope
CC 11 = Toggle OFF/ON volume Envelope disable
- The NES is a strange beast and only will respond to volume changes with these MIDI CC's set to the following:
CC10 - ON - lets the note remain looping or on
CC11 - ON - disables the hardware volume envelope, and allows the software volume, velocity routine to work.
________ GLITCHY MODE 1/2 NESFX on/off behaviour_______________________________________________/\
Old controllers can have problems where the rubber contact element disintegrates inside the controller, causing the conductive carbon to drop close to the actual switch, this makes the nes see a number of button presses even though you may be only pressing it one time.
The only remedy is to get a newer controller, or replace the parts in your original controller with the new rubber contact elements of a new controller.
________ MIDINES FREEZES____________________________________________________________________/\
If Midines stops responding to midi data it means that something went wrong with the 72 pin connector. It's best to replace the older one your probably using and get a new one.
________ MIDINES WORKS BUT EVERY SO OFTEN GETS STUCK ON OR READS BAD DATA_________________/\
If there is a grounding (earthing) problem between the NES and your MIDI Sequencer then, MIDINES can miss data unfortunatley. This occurs usually when both the NES *and* the MIDI Sequencer are using cheapo AC Adaptors.
There is a workaround but it requires a PC with a well grounded (earthed) power supply (which most are). Just run your MIDI controller into your PC's MIDI in, and then back out the PC's MIDI out, echoing the MIDI in to the out in software and Midines will work fine that way.
________ PULSE CHANNEL LOWEST OCTAVE STOPPED WORKING AFTER EDITING SWEEP SHIFT_____________/\
In order to play the lowest octave notes on the pulse channels you must make sure CC 16 = Sweep Shift, is at full on (127). Midines defaults to this setting, but if you start working around with the sweep and suddenly loose the lowest octave of a pulse channel, this is due to CC 16 Sweep Shift set lower than 127.
_______________________________________________________________________________________________
______________ SOUND TECHNIQUES______________________________________________________________/\
_______________________________________________________________________________________________
DELAY
Create a simple melody or arpeggio with the pulse channel #1 (MIDI ch1). Then copy this sequence and paste into pulse channel #2, (MIDI ch2). Next offset the notes by an 8th note - 16th note or triplet depending on the type of delay your after and shorten or cut the remaining overhanging notes off the end of the sequence. Select all the notes on pulse channel 2 (MIDI ch2) and reduce the velocity by 10-25%.
CHORUS
A chorus sound can be achieved by playing pulse channels 1 & 2 on the same note, then using MIDI CC8 to offset one of the pulse channels pitch by a small amount. Altering the duty cycles of the pulse channels in conjunction with a slight pitch offset provides rich chorusing sounds.
FULL FREQUENCY DMC
The sample channel, while excellent for bass type sounds, has a hard time with frequencies above 8Khz or so. In order to make up for this drop in the high frequency domain, using short synchronously timed bursts of noise over the samples can together generate a full frequency sample sound. Try turning MIDI CC9 to 26 to setting the noise length, and set CC10,11 off - 0. This envelope works in a way where the greater the velocity is the longer the decay, the shorter the velocity the shorter the decay. This way it is easy to set up a high frequency layer to complement the samples.