*************************************************************************** *---------- MED - music editor, by Teijo Kinnunen 1989, 1990 -------------* *---------- Instructions for version 2.00------------------8.4.1990-------* *************************************************************************** Welcome to use MED-music editor!!! MED is basically just one SoundTracker- clone, but in this version there are even some features that SoundTracker lacks (e.g. MIDI-support). First few words about editing. If you've used SoundTracker, you probably know these things. MED doesn't use standard notation (like DMCS, for example). Instead the music is represented by note names and numbers. Example: 01 C-2 1000 --- 0000 E-5 K210 --- 0F20 02 D-2 1000 E#1 4000 --- 0000 --- 0000 03 --- 0000 --- 0000 --- 0000 --- 0000 etc. There are both advantages and disadvantages. A disadvantage is that you can't print notes that anybody could play. The advantages are for example faster and more powerful editing and the possibility to control the sound more powerfully. The song consists of blocks, every block contains 64 lines. There can be up to 100 blocks and they can be played in any order and any number of times. Then about the program itself: MED's user interface consists of eight "modules", each one containing different options. Only one of these modules is visible on the screen at a time. You can select the currently visible module with eight gadgets located in top right corner of the screen. The modules are: Files loading/saving songs/samples Playing things connected with playing Samples handling samples Block cut/copy/paste etc. Edit editing Misc. miscellaneous (colors, guy, quit) Midi MIDI Transpose transposing, block extending I'll explain the options better later. If you want to try composing, follow these instructions: Press Amiga-I. Now you can write the name of sample to load. Type Perco, for example and press Return to load it. Now you can play with the keyboard., which is ordered in piano-style e.g. Q = C, 2 = C#, W = D... Then press Esc to switch editing on. Now all notes you have typed will appear on the screen. To make an empty note, press Del. You can listen to the block by pressing Alt-Space or "Play block" from (module) Playing. If your song takes several blocks (usually it does), you can create new block with "New block" of Block. Then you have to make a list which contains numbers that tell in which order the blocks must be played to form a complete song. Choose module Playing. On the right side of the module there is a frame which contains number 0 highlighted. It means that the first (and only) block that must be played is block #0. Click now the down-arrow gadget and plus-gadget. Now the song consists of two blocks (0 and 0). Click + again. Now MED plays blocks 0 and 1, when you choose "Play song". When MED has played the song, it will start again from the beginning. --------------------------------------------------------------------- Key: means the keyboard equivalent ******** Files Load Show the load gadgets Save Show the save gadgets DF0, DF1... Load the directory of DF0, DF1... Dir The name of the current dir. If you want to see the directory of ram disk, activate this gadget, clear it, type ram: and press Return. File The name of the file to load/save. This gadget will be cleared after file access to prevent you from accidents. Load gadgets: Load song Loads the song made with MED or older SoundTrackers. Key: Amiga-L Sample Loads sample to memory ST MOD Loads SoundTracker 2.3/2.4-module to MED. This is needed if you want to import SoundTracker-tunes. Doesn't load older ST-modules. Save gadgets: Song Saves the song. Sample Saves the sample (raw, no IFF). ST Saves the song in old SoundTracker-format (only 16 samples). MOD Saves the MED song as a module, which contains the song and the samples. This is very useful with MEDPlayer. Unlike SoundTracker, MED packs the song also now. Obj Saves the song and the samples as an object file, which you need only if you're going to use song made with MED in your own programs. !!! MED can't load back the object files !!! Icon This gadget is normally activated. Deactivate it if you don't want to create icons with songs. ******** Playing Play song Plays song from the beginning. Key: Shift-Alt-Space, Amiga-P Play block Plays this block from the beginning. Stop playing Key: Space Continue song Continues the song. Key: Shift-Space Continue block Plays this block from the cursor. Key: Alt-Space Filter Turns on/off the low-pass-filter in Amiga 500/2000. The default is filter off. Key: Amiga-F Eq1, Eq2 Turns on/off the equalizers. Eq1 is the equalizer that is normally visible only in PAL-Amigas. Eq2 is the set of colorful columns. As you can see, the idea is outrageously copied from SoundTracker (at least they look nice, don't they??) Sliding Controls the sliding. Use 5 if you are listening to tunes made with SoundTracker (tempo 06). Key: Ctrl-5, 6 (arrows) Scroll the playing sequence list up/down. Key: Ctrl-8, Ctrl-2 (numeric keypad) (+) Increases the number of this block in the playing sequence list. If the list pointer is under the last sequence number, adds new number to the list. Key: Ctrl-6 (num. keypad) (-) Decreases the number of this block in the psl (playing sequence list). If the list pointer is under the last sequence number, deletes the last number from the list. Key: Ctrl-4 (keypad) (small 0) List pointer to the beginning. Key: Ctrl-7 (pad) (small 49) List pointer to end of the list. Key: Ctrl-1 (pad) INS Inserts a number to the middle of the list (where the list pointer is). Key: Ctrl-0 (pad) DEL Deletes a number from the list pointer. Key: Ctrl-. (pad) INS (+ arrow) Insert the number of this block to the middle of the list. Key: Ctrl-5 (pad) Tempo With this gadget, you can change the current speed of playing. ******** Samples Jump! If this is selected and jumping on, the mouse pointer, named Topi, will jump when this sample is played. Key: Amiga-J Remove Removes this sample and frees the memory it uses. 1st First sample. Key: Shift-Alt-curs. left << Previous sample. Key: Shift-curs. left >> Next sample. Key: Shift-curs. right Last Last sample. Key: Shift-Alt-curs. right Load sample Loads the sample. You have to type in the name to the string gadget above. The sample will also load when you push Return after you've written its name. Volume Selects the default volume of this sample. Repeat/start The beginning offset of the repeat of this sample. Press Amiga-R to activate this gadget. Repeat/len The length of the repeat of this sample. ******** Block Move to: <= Move to previous block. Key: Shift-curs. up => Move to next block. Key: Shift-curs. down |<= Move to first block. Key: Alt-curs. up =>| Move to last block. Key: Alt-curs. down New block Create a new block to the end of the song. New here Create a new block and insert it here. Also updates the psl, so that song won't change. Del this Deletes this block. Doesn't ask "Are you sure?", so be careful. Del last Deletes the last block. 4, 8, 12, 16 The number of tracks in this block. Usually 4. You can use tracks 4 - 15 with MIDI-devices. Only 4 tracks can be visible. If there are more tracks in this block, you can use Ctrl-cursor r/l to change the displayed tracks. If you change the number of the tracks e.g. from 16 to 4, the music in tracks 4 - 15 will be DESTROYED!!!! Copy track Copy this track (track under cursor to buffer). Key: Amiga-C Cut track Copy this track to buffer and clear it. Key: Amiga-X Paste track Copy from buffer to this track. Key: Amiga-V Swap track Swap the contents of the buffer and this track. ... block Same as ^^ these ^^, but affects all tracks. ******** Edit Tracks on 1-16 Switches track(s) off/on Key: 1 - 9 (pad) and Shift-1 - 8 (pad) Get quick note Gets note and numbers of the note under cursor. Then you can insert this note simply be pressing Shift-0 - 9 (no keypad). You can select which quick note (0 - 9) to take with the arrow gadgets. Key: Shift-Ctrl-0 - 9 (no keypad) gets the note Get: L.Fx, R.Fx When you click L.Fx MED gets the three rightmost numbers of the note. When you now enter notes with left Alt held down, these numbers will be inserted with the new notes. R.Fx is the same thing except that it's for right Alt. Auto-Advance This is a switch that allows you to disable/enable the automatic line advancing after you have entered new note or number. Key: Ctrl-A Kybd octaves Because only about 2.5 octaves fit in the keyboard, you can use these gadgets to select which octaves are used. Octaves 4 and 5 are only used with 3- or 5-octave IFF-instruments and MIDI-devices. Key: F1 - F4 Edit Editing on/off. Key: Esc 2×space Double space when entering notes. Prevents your Del-finger from cramps. Key: ~` (the key under Esc) ******** Misc. Colors There's a color requester, which you can use to set the screen colors. The colors will be saved when you save the song. Reset Reset the colors. Undo Set the colors to those, which were used when you selected this module. Jumping NO: Turns Topi off (for serious persons) 8th: Topi jumps every eighth note. Sample: You choose the samples that make Topi jump. These are saved with songs. The following options are so serious, that you have to confirm them by clicking OK!-gadget after selection: New song Clears everything. Leave samples Clears everything, except samples. Quit MED Hui!!! ******** MIDI MIDI active Allocates the serial port and turns MIDI on. If you can't select the gadget, the serial port is allocated by some other program. Input active When this gadget is selected, you can enter notes with your MIDI-device (keyboard, for example). Remember to turn editing on!! MIDI: Yes!!! This sample is now a MIDI-instrument, and will be played through MIDI. MIDI: N This sample is an Amiga sample, that is played through Amiga audio channels (only tracks 0 - 3). Midi channel Selects the midi channel, where the notes of this instrument will be pushed. Midi preset # Selects the preset number of this instrument. 0 = don't change preset. ******** Transpose Song Transpose this song one octave/halfstep up/down Block Transpose this block one oct/halfstep up/down Track Transpose this track one oct/halfstep up/down Play transpose Transpose the playing, don't affect the notes. Expand Expands this block by creating a new block after this one and doubling the spaces between the notes. Shrink The opposite of the previous command. Gets every other note from this and next block and put them to this block. S:All Transposing affect all samples. S:Only this Transposing (except play transpose) affect only this sample. ******** There are also few gadgets below the module. They are always visible so you can easily check if editing, 2×space is on, which are the current keyboard octaves and which tracks are on. You can also turn editing and 2×space on/off with these gadgets and mouse. Here is also some strategic information: N: 02/03 B: 00/01 S: 1 D: 1/1 | | | | | | | the position in the| | | | sample | how many screenfuls of tracks playing seq list___| | | | | | | | which screen is visible how many blocks in psl | | | the number of the last block the number of the current block Files ----- Files-module contains a quite standard-looking file requester, which you can use for loading/saving. MED loads of course the songs made with itself (both V1.12/V2.00) and songs made with old 16-sample SoundTrackers. If you want to import a packer SoundTracker2.3/2.4-song to MED, you have to save it as a SoundTracker-module in SoundTracker. Then you can load the module with ST MOD-gadget. This version 2.00 of MED packs the songs. The packing routine is not very intelligent. Unlike SoundTrackers' packer or most other packers, MED doesn't for example search repeating patterns. In any case, MED usually packs more powerfully than SoundTracker. Samples ------- In this version there can be up to 31 samples (instruments) in memory (if you have the memory). They're numbered 1 - V. You can define a default volume for each sample (0 - 64). You can also define repeat/rep.length, which I now try to explain: Repeat means that when you play a note with some instrument, the note will play forever, until you play a new note. A picture tells more than 1000 words: the beginning the end v v Sample: | This part is played only once | This part is looped forever | | \__________repeat_______________/ \________repeat length______/ "Repeat" is the length of the part which is played only once (attack part) in bytes. "Repeat length" is the length of the part which is played forever (also in bytes). Loading samples --------------- MED loads both raw samples and IFF-samples. MED now supports 5- and 3-octave IFF-samples. To make sample loading more handy, MED loads during startup a list, which contains the paths and possibly repeat/rep.length-information of the samples. Repeat/rep.len is not needed with IFF-instruments, because they already contain this information. It's possible to edit this file with text editor (like MicroEMACS). A very powerful way to add file names is: "list >>MED_paths ST-03: quick nohead", for example. Then you have to use an editor to add the path names. The name of the file is "MED_paths" and it can be located in the current directory when MED starts or in S:-directory. Here's the format of this file: This is the dir name followed by the samples in it. First *, then dir name. vv *Music:instruments/ ;use slash (/) after directory name Aligator AnalogString Asia::480/5362 ;if you want repeat/rep.len-values: name::repeat/rep.len BassDrum1 ;don't use extra spaces before or after filenames!!! ... WowBass *dh0:music/sampledinstr/Samples1/ Sample1 Sample2 *ST-01: Aligator ... WowBass Filter ------ There's normally a low-pass filter in all Amigas to reduce distortion. Luckily it's possible to turn the filter off in Amiga 500/2000. With Filter-gadget of "Playing"-module you can change the state of the filter. When the gadget is selected (and power-led bright), the filter is on. MED defaults the filter off automatically, because the sound will be usually much better. Tempo ----- You can change the playing speed with Tempo-gadget in "Playing"-module. Tempos 01 - 0A correspond to SoundTracker tempos. Tempos 0B - F0 are MED tempos. Cutting and copying blocks of music ----------------------------------- With MED's block copying functions, you can copy blocks, tracks and lines at a time. You can copy tracks with copying gadgets of Block-module, or Amiga-X/C/V -keys. You can copy blocks only with the gadgets of Block- module. Copying rectangular regions is possible only with keyboard. First move the cursor to the upper left corner of the rectangle and mark by pressing Ctrl-M. The move the cursor to the opposite corner of the rectangle and cut it by pressing Ctrl-X or copy it by pressing Ctrl-C. When you have cut or copied the rectangle, you can paste it by pressing Ctrl-V. Example: You want to copy lines 10 - 20 from tracks 0 and 1 to tracks 2 and 3 beginning from line 0. 1) Move the cursor to line 10 track 0, press Ctrl-M. 2) Move the cursor to line 20 track 1, press Ctrl-C. 3) Move the cursor to line 0 track 2. 4) Press Ctrl-V. MIDI ---- The using of MIDI-instruments is one of the new features of V2.00. Using the MIDI-instruments is quite similar to using Amiga samples. You can define some instruments to MIDI-instruments. Then MED will feed notes played with these instruments to the MIDI-device. You also have to select the channel you want the notes go. You can also define the preset number of MIDI-instrument. You can use the MIDI-instruments the same way you use Amiga sounds, except you can use them in all tracks. In tracks 0 - 3, where you can also use Amiga sounds, you can freely mix MIDI- and Amiga-sounds. It's possible to enter notes (including Amiga samples) with external MIDI- device instead of Amiga's keyboard. Topi ---- In reality, Topi is my cousin. I named the mouse pointer after him (believe or not, but he likes it!!!). You can make him jump a) every 8th note b) with samples. If the case is a), choose "8th" of Misc-module. If the case is b) choose "Sample" of the same module. Serious persons can choose "NO". If you chose b), you have to choose the samples that cause the jumping. This is done by choosing "Jump!!" in Samples-module for every sample that you want to make jump. (I mean the mouse pointer, but my English is so awful..:-) Panic stop ---------- It's possible to create a song that will eat all of the processing power of the Amiga (set tempo to 240 and fill a block with notes + FF3). You can't even move the mouse then. This will never happen in normal use. There's a way to escape from this lockup. Hold both mousebuttons about 6 - 7 seconds down and the playing will stop. ***************************************** ********* C O M M A N D S *************** ***************************************** You can use the numbers next to each note to produce effects or control playing. The format of one note is: C-2 4C23 ^||| sample number||| command---^|| data byte (more information about the command) If the command and the data byte are zeros, nothing special will happen. Here's the list of all commands recognized by MED. Many of the commands are similar to SoundTracker. ---------------------------- Arpeggio (0) ------------------------------ You can use arpeggio to simulate chords or to produce interesting effects. The arpeggio is done by changing the pitch of the note rapidly (6 times in a note). In one chord there can be three different notes. The first if of course the lowest note in the example D-2. The next is four half steps from the lowest note (F#2) and the third is 7 half steps (A-2). So, this is the normal major chord. D-2 4047 This command doesn't work with MIDI-instruments. --------------------------- Slide up (1) ------------------------------ With this command, you can create smooth slides. The command raises the frequency of the note by decreasing the period, which is used by the Amiga audio hardware. The period will be decreased 6 * databyte steps. If you have chosen the sliding 5 in Playing-module, the period will be decreased 5 * databyte. For example: C-3 2103 decreases the period 3 * 6 = 18 steps. Here's a table of periods of the notes: Octave Note 1 2 3 C 856 428 214 C# 808 404 202 D 762 381 190 D# 720 360 180 E 678 339 170 F 640 320 160 F# 604 302 151 G 570 285 143 G# 538 269 135 A 508 254 127 A# 480 240 120 H 453 226 113 How to do smooth slides? Maybe you want to create a smooth slide from A-2 to F-3. A-2's period is 254, F-3's 160. So, you'll have to decrease the period 254 - 160 = 94 steps. Because the command will decrease the period 6 * databyte, the databyte has to be 94 / 6 = 15.666666... = appx. 16. If you wanted to do the slide in one note (fast), the databyte should be 10, because 16 = hex 10. Or slower: A-2 2110 A-2 2108 A-2 2104 --- 0108 --- 0104 --- 0104 --- 0104 With MIDI-instruments: When the note before this command is played through MIDI, the meaning of the command will change a bit. It turns the pitch bender up 48 * databyte. The pitch bender will stay in the new position. You can reset the pitch bender with databyte 0, e.g. --- 0100. --------------------------- Slide down (2) ---------------------------- This is exactly like Slide up except this slides down. Works with MIDI. --------------------------- Vibrato (3) ------------------------------- This is a quite simple implementation of vibrato: the period of the note is changed two times in a note. The databyte is the vibrato depth. Doesn't work with MIDI. --------------------------- Volume (C) -------------------------------- With this command you can 1) control the volume of played note or 2) change the volume of already played note. The databyte is BCD-number (00 - 64). Example 1, control the volume of played note C-3 5C30 F#4 KC64 Example 2, change the volume of already played note C-3 5000 F#4 K000 --- 0C30 --- 0C64 Only example 1 works with MIDI-instruments. ---------------------------- Crescendo, Decrescendo (D) ----------------- Command D can increase or decrease the volume of the note. crescendo--v decrescendo----v C-2 1D50 C-2 1D03 The first number of the databyte is the amount of crescendo (divided by 6). If this is zero, the second number is used for decrescendo (diminuendo). Example: crescendo decrescendo E-1 2000 E-1 2000 --- 0D20 --- 0D02 --- 0D20 --- 0D02 This command doesn't work with MIDI-instruments. ---------------------------- Filter (E) --------------------------------- This command can be used to switch the low-pass filter on/off. If the databyte is zero, filter off. If the databyte is one, filter on. off on --- 0E00 --- 0E01 ---------------------------- Tempo etc. (F) ----------------------------- This command can change the speed of playing. The speed is changed if the databyte is 01 - F0 (hex). Tempos 01 - 0A are SoundTracker-compatible. Example: --- 0F06 normal SoundTracker tempo --- 0FF0 the highest possible tempo (240 = hex F0) --- 0F24 tempo 36 ($24 = 36) If the databyte is zero, the playing will continue from the next block in the sequence list, or the beginning of this block if you are playing the block. --- 0F00 Other features: Especially with rhythm instruments (hihat, bassdrum...) it's sometimes useful to have a bit faster patterns. This can be done by Expanding the block (Transpose-module) and doubling the tempo. These commands can also offer some help: C-3 4FF1 play this note twice during one note D-2 DFF2 play this note in the second half of this note E-4 JFF3 play this note three times during the note Useful can also be the command FFF, which will turn off the previous note. It's possible to do this also with C00-command, but FFF works with MIDI- instruments too. So I recommend using it. D-2 G000 --- 0FFF note off The last command is FFE, which is needed quite rarely. It stops the playing of the song. So, you can create a song which is played only once. --- 0FFE the end. -----------******** Keyboard shortcuts ********------------ Cursor up Cursor up Cursor down Cursor down Cursor right Cursor right Cursor left Cursor left -- then a bit more complex ones DEL Delete note or number under cursor Shift-DEL Delete the note and the numbers Shift-Cursor up Previous block Shift-Cursor down Next block Shift-Cursor left Previous sample Shift-Cursor right Next sample Alt-Cursor up First block Alt-Cursor down Last block Alt-Cursor left Cursor over previous track Alt-Cursor right Cursor over next track Alt-Shift-Cursor right Sample F or V Alt-Shift-Cursor left Sample 1 or G Ctrl-Cursor left Previous screen Ctrl-Cursor right Next screen (if over four tracks) Space bar Stop playing Shift-Space Continue song Alt-Space Continue block Shift-Alt-Space Play song Esc Editing on/off ~ Double space on/off F1 - F4 Select keyboard octaves 1+2 - 4+5. F6 - F10 Cursor to line 0, 16, 32, 48, 63 Ctrl-F1 - F6, F8, F9 Select module Ctrl-5, Ctrl-6 Sliding 5 or 6 Ctrl-A Automatic advance on/off Ctrl-R Revert filename Ctrl-M Set mark for copying/cutting regions Ctrl-Shift-0 - 9 Get quick note 0 - 9 Amiga-L Load song Amiga-J Topi on/off for this sample Amiga-X/C/V Cut/copy/paste track Amiga-P Play song (Shift-Alt-Space) Amiga-I Activate sample name -gadget. Shift-Amiga-I Clear and activate sample name -gadget Amiga-R Activate repeat -gadget (in Samples-module) Shift-0 - 9 Put quick note 0 - 9 Numeric keypad: 1 - 9, Shift-1 - 8 Tracks on/off Ctrl-8 Scroll the playing sequence list up Ctrl-2 Scroll the playing sequence list down Ctrl-4 Decrease the block number of the psl Ctrl-6 Increase the block number of the psl Ctrl-7 Move to the beginning of the psl Ctrl-1 Move to the end of the psl Ctrl-5 Insert this block to the psl Ctrl-0 Insert number 0 to the psl Ctrl-. Delete the block number from the psl Then it's time for the final words. First, MED V2.00 is a public domain program. You may copy it freely. MED V2.00 is written in C (Lattice C V5.04) and the most important routines (play routine, screen updating) in assembler (A68k, Fish #186). MED supports multitasking. By the way, you can use the right mouse button to show the title bar, hide these colorful equalizers, and stop screen updating while you use other programs. If you have some complaints, bug reports, or just want to say "hello", write to me... Please indicate the version of MED you're using. Teijo Kinnunen Oksantie 19 SF-86300 OULAINEN FINLAND P.S. Thanks to all who sent me letters, ideas and disks!!! P.S.2 Sorry for my bad English and these obscure, non-informative instructions.