Congratulations on your purchase of MoonSound Music Studio, the program that makes it possible to use your MoonSound cartridge to its full potential.
MoonSound Music Studio will be referred to as MS² for the rest of this manual.
MS² requires the following minimum configuration:
The following additional hardware is supported:
Faster CPUs such as Z80 5.37MHz, Z80 7.16MHz or R800 can be used with this program.
MS² can run straight from diskette, or be installed to other media supported by MSX-DOS2. Installing is done by simply copying the MS² program files (MS2.*) to the desired location and optionally adding it to your PATH.
You can start MS² by executing MS2.COM and it will automatically look for the data files at the MS2.COM location.
After loading you will enter the Music Editor, which is the subject of the next chapter.
When MS² has started you will be greeted with an empty song, which you can start editing right away.
A song consists of some information and settings, but most importantly of patterns of music. Analogous to sheet music, a pattern is like a single measure of a score. A pattern is divided into a grid of rows (called steps) and columns (called channels). Every cell in this grid can hold one or more events, which describe effects and notes. An empty cell is shown as " - ", while one with multiple events will have a fat border. All events on the same step will be played together at the same time.
The cursor keys are used to move through the pattern grid.
When there are more channels available than fit on the screen, [SHIFT] + cursor keys can be used to scroll through all available channels.
Move through the patterns with [CTRL]+[UP]/[DOWN], skip 4 patterns at once with [CTRL]+[LEFT]/[RIGHT].
To return to the start of the song, press [HOME].
The [F1] key starts playing of the song. The song will start playing from the currently displayed pattern and keeps playing until the song ends, playing is stopped manually or an error is found.
Playing can be stopped with [STOP] or [SPACE] keys, which will stop the music and lets you continue editing from that point. Alternatively, music can be stopped with [ESC], which restores the editing position to where it was before playing.
An event is input on a cell by pressing its designated key. [ESC] cancels the input, With [BS] you can correct a mistake. To confirm the input, press [RETURN].
The last event can be repeated by pressing [RETURN] on another cell.
The notation of notes in MS² is that of traditional trackers, so an A in octave 3 will be "A 3", a C sharp in octave 4 "C#4", and so on. Octaves 1 through 8 are supported.
There are two ways to input notes using the MSX keyboard. You can alternate between them with the [CAPS] key. The [SHIFT] key has no influence on this.
TYPE (CAPS light off): Notes are input like any other event, using the keys [A] through [G]. Then you can add a sharp or flat, respectively with [+] or [#] and [-] or [b], or simply toggle by repeating the note key. Finally add the octave using [1] through [8].
1KEY (CAPS light on): The MSX keyboard turns into a two octave piano-like keyboard. The base octave can be set with [GRAPH] + cursors. The following keys are used in this system:
2 3 5 6 7 Q W E R T Y U (low octave) S D G H J Z X C V B N M (high octave)
So [Q] or [Z] input a C. For a G# you press [6] or [H]. Other keyboard keys are unused in this mode, so if you want to enter an event other than a note, switch to TYPE.
If Note Auditioning is turned on, you will hear the note after you input it.
Using legato you can play another note without rearticulation. The new frequency is played without restarting any envelopes. A legato note is indicated by a lower case letter and can be input by keeping [SHIFT] pressed while inputting the note letter.
To stop playing a note, a Note Off event must be used. The key for this is [O] and it will show up as "---" in the pattern.
Changing the instrument during a song requires an instrument change event. This is input with the [I] key, followed by a value which is the number of the instrument in the Selected Instruments list. {Note that for FM instruments, the volume changes too!}
With the [S] key, a stereo panning value from -7 to +7 can be entered. For channels that allow left/center/right panning, -7 to -3 means left, -2 to +2 means center and +3 to +7 means right.
The volume of a channel can be changed with [V]. The value ranges from 0 (minimum) to 63 (maximum).
Pitch envelopes allow you to control the pitch of a channel. MS² predefines 18 envelopes for you, which correspond to different levels of up and down slides. These are input with [P], then [+] or [-], followed by a number [1] through [9]. In addition to these, you can define additional envelopes, which are input with [M] and then a number [1] through [9]. Please see the chapter on Pitch Envelopes for more information.
An envelope can be stopped with the "Envelope Off" event, which is input as [P] [+] [0]. It is displayed as "-e-".
The detune is an option that slightly increases or decreases the tone height of a channel (maximum of 3 frequency steps above or below normal). Using two or more differently tuned instruments can give them a full-bodied sound. The detune is entered with the [U], followed by a [+] or [-] and a number between 0 and 3. In the pattern the detune command is displayed by the T, for example T+1. The detune option in MoonBlaster always calculates from zero, so a detune is not added by the last detune (T+1, followed by T+3 will not be T+4). The detune will note take effect until a new note is played. The start detune settings are done with [F10].
The LFO settings can be used entering the [X] key and a value from 1 to 9. With this option you can alter the LFO speed, Vibrato dept and Tremolo dept of a wave currently playing on a channel. It works in the same way when if you were using a the modulation. The values of these LFO settings can be set as you like by using the LFO editor (CTRL-V).
The opl4 has a build in pseudo Reverb and this can be triggered by entering the [R] key. The Reverb will start after an OFF command.
The pseudo Reverb can be set off by entering the [Q] key.
The LFO from any wave can be stopped with the LFO command and started again by using it again. You enter this by pressing the [Y] key.
With the [T] key the tempo of the song can be changed. Enter a value between 2 (fast) till 63 (slow) after the T. A tempo change is displayed as "TMP".
This option can end a pattern before step 16. It is entered with the [N] key and displayed as an "END". Usually a pattern has 16 steps, but with an END on step 8 the pattern will end after playing step 8. This function is very practical for a 3/4 bar.
It happens regularly that within a song the same part is played several times, but with a different tone height. This is done easily with the transpose option. A complete song is increased or decreased several half notes. The transpose is entered with the [L] key. Next, enter a value from -24 (2 octaves down) till +24 (two octaves up). The values are always used absolute, not relative to each other. A transpose is displayed for example "+12" or "- 6". Starts on the next step! Instruments that have the "Transpose" setting off, will not transpose. This is useful for some instruments such as percussion kits.
The following functions are purely to assist you in editing the music, they are not part of your song.
Each channel can be turned off, so you can remove specific channels from playback. To do this, move the cursor to a channel and press [CTRL]-[O]. The header will display "OFF". Repeat the same to turn it back on.
When you want hear one specific channel, you can switch a channel to "solo" play. To do this, move the cursor to a channel and press [CTRL]-[S]. The header of all other channels will display "OFF". Repeat the same to turn the other channels back on.
You can combine this with the previous function to turn on additional channels, for example to listen to a small number of channels.
The following functions only work when the cursor is not inside a block selection.
When you want to clear a step because it contains something that should not be there, you can use the [DEL] key. This will clear the step with the cursor on it. A channel can be cleared with the [SHIFT]+[DEL] keys. The channel with the cursor on it will be cleared. A pattern is cleared with the [CTRL]+[DEL] keys. The current pattern will be cleared.
With the [F10] key the whole song is cleared. The program will ask a confirmation first before the song is cleared. The current settings can be kept if you want to, or they can be reset to the defaults.
Channels can be transposed per half note or per octave. To transpose with a half note up use the [.] key and to transpose a half note down use the [,] key. To transpose per octave you can use [>] for up and [<] for down. The channel with the cursor on it will be transposed.
You can select part of the song as a block and do several edit functions on the complete block contents.
Set the start of the block (top left) with [CTRL]-[B], the end (down right) with [CTRL]-[E]. The block will be displayed in different colors than the rest of the song. You can unselect the block with [CTRL]-[D]. This does not clear the contents of the block, it just unselects the block.
The contents of a block will be cleared by placing the cursor within the block and pressing the [DEL] key. You will be asked to confirm the deletion, so if you press [DEL] by accident no harm is done.
Just like the channels blocks can be transposed per half note or per octave. Move the cursor within the block and use [.] to increase a half note and [,] to decrease a half note. Transposing the block by an octave is done with [>] and [<].
It is also possible to transpose the volumes up & down in a block by use of the [ key for up and the ] key for down.
The selected block will be copied with [CTRL]-[C] to the current place of the cursor.
MS² supports 3 types of instruments, 2-operator FM, 4-operator FM and Wave instruments. An empty song includes an empty instrument of each type. Instruments can be managed via the Instruments menu, which is opened with [F3].
The music keyboard is active in the instruments menus, so currently selected instruments can be tried out.
Settings such as volume and, in case of Wave instruments, Level Direct and Allow Transpose, can be changed by using the cursor keys and potentially the [CTRL] key.
Instruments can be added using [INS].
{ please don't add more than 48 instruments due to current limits that are not enforced }Instruments can be removed using [DEL].
An instrument from the built-in set can be selected with [SPACE]. A list of instruments will pop up, and you can use the cursor keys to walk (and scroll) through the columns.
Instruments can be (re)named using [F6].
Every instrument can be edited with [RETURN].
The MoonSound does sample-based synthesis (often incorrectly referred to as wavetable synthesis), which means sound is generated with pieces of digitized sound. Such a piece is called a sample, but is also known as a waveform or wave. The MoonSound combines each sample with extra information, such as an ADSR envelope and LFO settings, this combination is referred to as a tone.
Because samples degrade in quality when played at frequencies that lie far from its inherent sampling frequency, Wave instruments in MS² can make use of multiple tones. The definition of which tone is played over which range of notes and at what pitch, is called a split.
Splits are inserted with [INS] and removed with [DEL]. You are free to mix 'user tones' and 'ROM tones' as you like. Changing the Note, Tone and Cents columns is done with [CTRL]+[UP]/[DOWN] for small steps and [CTRL]+[LEFT]/[RIGHT] for big steps.
The pitch of a tone is defined as the frequency difference from 44.1kHz expressed in musical cents. A note is 100 cents and an octave is 1200 cents.
The following formula will allow you to use arbitrary sampling frequencies:
cents = 1200 * log2( f / 44100 )
(f is the frequency of your sample in hertz)
The philosophy of MS² is that the SRAM contents of the MoonSound are not technically part of your song.
MS² supports samples in 8, 12 or 16 bit PCM, sampled at any frequency. {12 bit not supported yet} Because MS² supports arbitrary frequencies, it's possible to use samples that optimally balance quality and size.
4.4 Edit Tones Here you can modify the 128 available tones. Like mentioned earlier, a tone is a sample with some extra information about the effects with this sample. In the left part of the screen are the tones. You can select a tone here with the space bar and cursors. After a selection, the header information can be modified in the right screen. We tried to bother the user as little as possible with the locations of the samples in the sample RAM. This only happens when you are out of sample memory or there is too much memory fragmentation. The sample addresses that can be set here will not alter the length of the sample in the sample RAM! It will set the part of the sample that is played of course. To shorten the length of a sample a separate sample editor must be used. Below is a brief explanation of the several possible settings: Start address: Point within the sample where playing starts. It is not possible to change this. End address: Point within the sample where playing will continue at the loop address. Loop address: Point within the sample where playing will loop. Sample type: Sample type: 8 or 16 bits. You cannot change this. This is set when a sample is loaded. Attack Rate: Sets the attack speed of the tone. Values 0 - 15 Decay Level: Level where the 1st Decay will change to the 2nd Decay. With decay level 0 only 1st decay will be used. Values 0 - 15. 1st Decay: Speed of the decrease in volume after the attack maximum was reached. Values 0 - 15. 2nd Decay: Speed of the decrease in volume after the Decay Level is reached. Values 0 -15. Release Rate: Fading time of a tone. This is the speed the volume decreases after an OFF event. Values 0 - 15. Vibrato: Sets the vibration of the tone. Values 0 - 7. LFO speed: Sets the LFO speed. Values 0 - 7. This speed is used for vibrato and AM (Tremolo). Rate correction: Values 0 - 15. This will set the speed off the attack, decay 1 ,decay 2 and release rate depending on the octave that there played on. Amplitude modulation(Tremolo): Values 0 -15. Modulates the volume of the sound. The end and loop address can be changed by 10 with [CTRL]+ cursors op and down. You can set the loop address to the end address and the end address to the start and sample end with the [SELECT] key. The tone name can be changed with the F6 key. Saving a tone on disk is done with F5. After the error message that there is not enough sample RAM left too much memory fragmentation (and on any other moment) F4 can be used. The program will now re-order all samples and place them sequentially in the sample RAM. All small empty memory pieces will be combined to a bigger part of available memory. You can use the DEL key to delete a tone.
A description for the song, such as its name and author, can be modified with the [CTRL]-[N] keys. The cursor will appear in the top screen and the description can be entered. With [RETURN] the new name will be used, with [ESC] the operation will be cancelled and the old name is still used.
With [CTRL]-[T] the start tempo can be set. The tempo is between 2 (fast) and 63 (really slow). In the table below the number of quarter notes (beats) per minute is assumed that you use a pattern per bar. A quarter note is then four steps.
The following values only show the values for a base freqency of 8 and 48 ,resp. 50 and 60 Hz. Other values can be calculated with a formula described in chapter 3.7 Base frequency.
Tempo: Beats/min Steps/min Beats/min Steps/min 50 Hz: 50 Hz: 60 Hz: 60 Hz: 1 31 125 38 150 2 33 130 39 157 3 34 136 41 164 4 36 143 43 171 5 38 150 45 180 6 39 158 47 189 7 42 167 50 200 8 44 176 53 211 9 47 188 56 225 10 50 200 60 240 11 54 214 64 257 12 58 231 69 277 13 63 250 75 300 14 68 273 82 327 15 75 300 90 360 16 83 333 100 400 17 94 375 113 450 18 107 429 129 514 19 125 500 150 600 20 150 600 180 720 21 188 750 225 900 22 250 1000 300 1200
In the most trackers on the MSX computer music timing was done by the VDP, this has a few disadvantages:
- The music timing is always in some way releated to the interrupt frequency of
the VDP ( 50 or 60 Hz). The only way the created different speeds is to skip an
interrupt or more. (This is done by the tempo command of Moonblaster). This
does not give a satisfying tempo setting.
- The music can not be played at the same speed on 50 or 60 Hz. This was solved
by frequency speed equalizer, but this caused timing errors.
The solution for these problems is: Using the timer of the OPL4. This timer has an
accuracy of 80.8 micro second and is in Moonblaster selectable from 1 until 133 ,
resp. 48Hz until 100Hz. In Moonblaster this value is called: Base frequency.
To calcate the interrupt frequency use the following equatation.
s = ( 256 - Base_freq.) * 80.8^10-6
0 48.355
1 48.545
2 48.736
3 48.929
4 49.123
5 49.319
6 49.516
7 49.715
8 49.915
9 50.117
10 50.321
11 50.526
12 50.733
13 50.942
14 51.153
249 1768.421
250 2063.158
251 2475.789
252 3094.737
253 4126.316
254 6189.474
255 12378.947
Interrupt frequency = 1/s
Example: Base frequency = 80
s = ( 256 - 80 ) * 80.8^10-6
Interrupt frequency = 1/0.0142208
Interrupt frequency = 70.32Hz
The Tempo determines the devision of the interrupt frequency.
Example: Tempo = 20
This means that every 5th interrupt a step is played:
(22 = every 3th int,21 every 4th int,etc)
So if you have a interrupt frequency of 70.32hz and a tempo of 20
the step/min will be:
70.32
------- * 60 = 848 step/min
5
You can select bewteen 2926 different tempos.
The maximum speed is 2012 Steps/min (tempo 22 , base freq. 133)
The minimum speed is 121 Steps/min (tempo 1 , base freq. 1)
3.7.1 Base frequency setting
The base frequency can be set by pressing CTRL-F.
You can select the base frequency during playing and press the space bar when you found the satisfying base frequency. This tempo editing during replaying is ideal for synchronising for example a drum loop with your song.
A song can play indefinitely when you set a loop pattern. This is the pattern where the song will loop after it has reached the last pattern. A loop pattern can be set with [CTRL]-[L]. After that the pattern can be altered with the cursor keys. Pressing [RETURN] will confirm the modification and [ESC] will cancel it. The music will end after the last pattern when OFF is set as the loop pattern.
From the music editor, the wave menu and the voice menu you can enter the disk menu with F5. In the disk menu you can read files from or save files on disk. The options with the load and save choices will depend on the place in the program.
5.1 The main disk menu Load fileThe MoonBlaster files of the selected type that are on disk will be displayed. Move the bar to the desired file and press the space bar. The file will be loaded. Subdirectories are displayed between brackets. When the bar is placed on a subdirectory and you press space this subdirectory will be entered, the same is true for drive letters.
Save fileThe MoonBlaster files of the selected type that are on disk will be displayed. If you want to overwrite an existing file, move the bar to the desired filename and press space. However, if you want to save with a new name, just type the desired name (max. 8 characters). An input bar will appear automatically. Press [RETURN] when done.
Show filesShows all files of the selected type.
Delete fileWith this option you can delete files from disk. This is especially convenient when a disk is full and you really need to save something.
Songs can only be loaded or saved when you enter the disk menu from the music editor. Songs have the extension .MWM on disk. Songs can be saved in edit or user mode. More information about this follows. It is also possible to load old MoonBlaster v1.4 music (for MSX-AUDIO). The program will try to convert it as well as possible. For the conversion of the sample channel in MoonBlaster a separate menu appears to select the waves that will replace the samples. The difference between edit/user mode songs is explained later.
TonesTones, can be saved or loaded by selecting the concerning tone and go to the disk menu with [F5]. With tones it is important to make sure that enough sample RAM is available.
SamplesIn the tone menu you can load raw/PCM samples. A selection between 8 and 16-bit, signed and unsigned is possible. If you are not sure whether the sample you are loading is signed or unsigned, just try it. You will hear which one is right and no harm is done. Not that 4 empty bytes are added when a sample is loaded. This is done to let the OPL4 loop on a silent part after it finished playing.
5.2 File extensions Below is an overview of the most important file extensions: MWM - MoonBlaster Wave Music MWK - Wavekit MTN - Tone MWV - WaveMS² takes special care to import MoonBlaster music as faithfully as possible.
For songs that require a wavekit please note that contrary to MoonBlaster itself, MS² requires the wavekit filename stored in the MoonBlaster song to be correct and available in the same directory.
Because MS² goes out of its way to accurately simulate MoonBlaster's many bugs, peculiarities and faulty concepts, it can often be the case that songs can be cleaned up considerably. Please take this into account when updating your MoonBlaster music.
Music editor: [F1] Play song from current pattern [F3] Open instruments menu [F4] Open song settings screen [F5] Open disk menu [F10] Clear song + default settings [CURSOR] Move cursor [CTRL]+[CURSOR] Change pattern [SHIFT]+[CURSOR] Scroll channels [HOME] To start of song [CAPS] Switch edit-modes [DEL] Clear step or block [SHIFT]+[DEL] Clear channel [CTRL]+[DEL] Clear pattern [ESC] Cancel event-input [RETURN] Repeat last input [.] Increase channel or block a half note [,] Decrease channel or block a half note [>] Increase channel or block an octave [<] Decrease channel or block an octave []] Increase volume in a channel or block [[] Decrease volume in a channel or block With multiple key input system: [GRAPH]+[CURSOR] Set last pattern With one key input system: [GRAPH]+[CURSOR] Decrease/increase edit octaves CTRL keys: ^B (Begin block) Set begin of block ^C (Copy) Copy block ^D (Delete block) Unselect block ^E (End block) Set end of block ^F (Base Frequency) Set the interrupt frequency ^I (song Info) Displays song information ^L (Loop pattern) Set loop pattern ^N (Name of song) Enter the name of a song ^Q (Quit) Quit program ^T (Tempo) Set start tempo ^U (set-Up menu) Set-up menu ^X (eXchange) Exchange two channels ^V (LFO editor) Edit LFO settings ^W (channel on/off) Switch channel on or off ^Y (modulation wave) Modulation Wave editor ^Z (hertZ) Change VDP frequency (50 or 60 Hz) During songplay: [ESC] or [SPACE] Stop song and restore base frequency. [STOP] Stop song on current play pattern. Music input: [A]-[G] Notes [I] Instrument change [J] Base frequency [L] Transpose [M] Modulation [N] End of pattern [O] Off [P] Pitchbend [Q] Reverb off [R] Reverb on [S] Stereo setting [T] Tempo change [U] Detune [V] Volume [X] LFO setting [Y] LFO toggle on/off Keys used in every other menu [HOME] back to default [CTRL]-[CURSOR] change settings [SPACE] select option [ESC] back to.... Select Waves / Edit Waves / Edit tones [F1] keyboard octave up [F2] keyboard octave down [F3] keyboard select [F8] Pseudo Reverb on/off [F9] Random panning on/off Edit Tones [DEL] delete tone [F4] defragment sample memory [F5] disk menu [F10] Delete all tones [SELECT] to start or end of sample (for end and loop addresses) Edit Waves [DEL] clear wave [F4] defragment sample memory [F5] disk menu [F6] enter wave name
An overview of the Wave with all GM percussion sounds is shown below.
Note Sound Note Sound B 3 Acoustic Bass Drum D#6 Open Hi Conga C 4 Bass Drum 1 E 6 Low Conga C#4 Side Stick F 6 High Timbale D 4 Acoustic Snare F#6 Low Timbale D#4 Hand Clap G 6 High Agogo E 4 Electric Snare G#6 Low Agogo F 4 Low Floor Tom A 6 Cabasa F#4 Closed Hi Hat A#6 Maracas G 4 High Floor Tom B 6 Short Whistle G#4 Pedal Hi Hat C 7 Long Whistle A 4 Low Tom C#7 Short Guiro A#4 Open Hi Hat D 7 Long Guiro B 4 Low Mid Tom D#7 Claves C 5 Hi Mid Tom E 7 Hi Wood Block C#5 Crash Cymbal 1 F 7 Low Wood Block D 5 High Tom F#7 Mute Cuica D#5 Ride Cymbal 1 G 7 Open Cuica E 5 Chinese Cymbal G#7 Mute Triangle F 5 Ride Bell A 7 Open Triangle F#5 Tambourine A#7 Bass Drum 2 G 5 Splash Cymbal B 7 Snare Drum 2 G#5 Cowbell C 8 Snare Drum 3 A 5 Crash Cymbal 2 C#8 TR808 Snare Drum A#5 Vibraslap D 8 Snare Drum 4 B 5 Ride Cymbal 2 D#8 Bass Drum 3 C 6 Hi bongo E 8 Bass Drum 4 C#6 Low bongo F 8 Scratch D 6 Mute Hi Conga
Make sure you've defined instruments for your song. See chapter {}