home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-11-08 | 99.9 KB | 2,751 lines |
-
-
-
-
-
-
- MODEDIT VERSION 3.01 DOCUMENTATION
- COPYRIGHT 1991-2 NORMAN LIN
-
- =================
- TABLE OF CONTENTS
- =================
-
- 0. License/Warranty/Disclaimer
-
- 1. Introduction
- 1.1 What is ModEdit?
- 1.2 What is needed to run ModEdit?
-
- 2. Getting started
- 2.1 Quick start
- 2.2 Setup
- 2.3 ModEdit's user interface
- 2.3.1 Main Menu
- 2.3.2 Dropdown and Popup Menus
- 2.3.3 Scroll Lists
- 2.3.4 Dialog Boxes
- 2.4 Configuration
-
- 3. Nomenclature/concepts
- 3.1 Note unit
- 3.1 Pattern
- 3.3 Sequence
- 3.4 Sample
- 3.5 Integrating note units, patterns, sequence, and
- samples
-
- 4. Using ModEdit
- 4.1 Samples: Choosing your instruments
- 4.1.1 What are samples?
- 4.1.2 The "sample directory"
- 4.1.3 Manipulating samples
- 4.1.4 Attributes of samples
- 4.1.5 Creating your own sample files
- 4.2 Entering music
- 4.2.1 Editing patterns
- Preliminaries about the editor
- Parts of the editor screen
- Moving around the pattern editor
- Entering notes
- Duration
- Editing the sample field
- Editing the effect field
- Copying patterns
- Transposing patterns
- Editor view options
- Playing music from within the editor
- 4.2.2 Sequencing/creating patterns
- 4.2.3 Other edit options
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4.3 Hearing your music
- 4.3.1 Playback within ModEdit
- 4.3.2 MODPLAY: External playing
- 4.4 Recording Modules
- 4.5 Saving and loading Modules
-
- 5. Reference
- 5.1 Pattern editor quick reference key summary
- 5.2 Effect list quick reference chart
- 5.3 MODPLAY
- 5.4 MODOBJ
-
- 6. The future
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- =======================================
- 0. MODEDIT LICENSE/WARRANTY/DISCLAIMER
- =======================================
-
- THIS PROGRAM IS NOT FREE SOFTWARE! ModEdit is ShareWare,
- which is essentially "try before you buy" software. This
- program and accompanying documentation are Copyright 1991-2
- by the author (Norman Lin). You are granted a limited
- license to use this software for a trial period of 30
- (thirty) days. After this trial period, if you continue using
- the program, you are legally and ethically obligated to pay
- for the software (see below).
-
- You are encouraged to copy and distribute the UNREGISTERED
- version of this program so that others may try it out,
- provided that (1) no profit is made from such copying and
- distribution, and (2) the program is distributed in
- UNMODIFIED FORM with ALL ACCOMPANYING EXECUTABLE AND
- DOCUMENTATION FILES. You are prohibited from distributing
- ModEdit if you do not adhere to both above guidelines; you
- are prohibited from modifying the ModEdit program or
- documentation.
-
- If you register ModEdit, the registered version may NOT be
- distributed or duplicated except for personal archival and
- backup purposes. Possession of the registered version by
- anyone other than the registree is prohibited. Protect your
- investment -- don't distribute the registered version.
-
- ModEdit may not be used for any commercial purposes without
- my prior express written permission. ModEdit may not be
- distributed for use with any for-profit products (software,
- hardware, or other; including but not limited to commercial
- software, shareware, D/A converters, etc.) without my prior
- express written permission.
-
- There is no warranty of any kind; this software is provided
- on an "AS-IS" basis. The author of this software (Norman
- Lin) shall not be liable for any damages whatsoever that may
- result, directly or indirectly, from the use of this software
- or documentation. Neither is the author obligated to provide
- any updates or modifications to the program whatsoever. By
- owning a copy of and/or using ModEdit, you agree to all the
- above terms.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- REGISTRATION
- ------------
- If you use ModEdit beyond the initial trial period, you must
- register. Legal and ethical issues aside, why should you
- register? I'm sure this question crosses the mind of every
- shareware user. You should register because I believe that
- ModEdit is the best and easiest to use MOD editor. I've
- spent many months of my life designing, programming, and
- tweaking ModEdit. I've looked at other editors and listened
- to user suggestions. Since version 1 was released, I've
- constantly been making improvements to the program. With your
- support, it can evolve even further.
-
- NOTE: To register, please fill out and mail the enclosed
- registration form.
-
- Basic registration
- ------------------
- Basic registration is $15 (U.S.). This entitles you to
- legally use ModEdit, as well as to receive a personal user
- identification and registration code. Your userid and
- registration code will allow you to use the registered
- version of the program with the following enhanced features:
-
- o Real time recording from the computer keyboard
- o Automatic saving of all samples in a MOD
- o EGA/VGA 43/50 line support
- o Track tracing (following a song during playback)
-
- In addition, registration will let me know that you are
- interested in ModEdit. I read every letter mailed to me, even
- though I might not have time to respond. Your feedback is
- important!
-
- Level 2 Registration
- --------------------
- For a registration of $25 (U.S.) (to cover diskette, packing,
- mailing, and labor), I will mail you a diskette containing
- the latest (registered) version of ModEdit, as well as
- various sample/Module files that will fit on the diskette.
- *PLEASE* specify what kind of diskettes you need (3.5" or
- 5.25", high or low density). Better still, mail me a
- formatted diskette and I will put the program on it. I also
- have a soundcard with a digitizer, so if you want custom
- sample files, this can be arranged.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ADDRESS FOR REGISTRATION
- ------------------------
-
- Send all registrations, comments, or queries about ModEdit
- to:
-
- Norman Lin
- P.O. Box 2724
- Norman, OK 73070-2724
- U.S.A.
-
- Internet email addresses:
-
- PREFERRED: norlin@mailhost.ecn.uoknor.edu
- ALTERNATE: nlin@alliant.backbone.uoknor.edu
- narc@obelisk.okc.ok.us
- narc@obelisk.pillar.com
- narc@wuntvor.norman.ok.us
- narc@wuntvor.pillar.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- REGISTRATION FORM for MODEDIT 3.01
-
- Name: ___________________________________________________
- (first) (last)
-
- Address: ___________________________________________________
-
- ____________________________________________________________
- CITY STATE COUNTRY ZIP
-
- E-Mail address (if any): ___________________________________
-
-
- TYPE OF REGISTRATION: (check one)
-
- ( ) Basic registration: $15.00 U.S. enclosed
-
- ( ) Level 2 registration: $25.00 U.S. enclosed
-
- For level 2 registration only:
-
- Type of diskette: ( ) 3.5" ( ) 5.25"
-
- Density: ( ) Low ( ) High
-
-
- GENERAL INFORMATION:
-
- Where did you hear about ModEdit?
-
- _____________________________________________________________
-
-
- Comments/suggestions about ModEdit:
-
- _____________________________________________________________
-
- _____________________________________________________________
-
- _____________________________________________________________
-
-
- Would you like to be informed of future ModEdit releases?
-
- ( ) Yes
-
- ( ) No
-
- Please mail this completed form, along with payment, to:
-
- Norman Lin
- P.O. Box 2724
- Norman, OK 73070-2724
- U.S.A.
-
-
-
-
-
-
-
-
-
-
-
-
-
- ================
- 1. INTRODUCTION
- ================
-
- 1.1 WHAT IS MODEDIT?
- ---------------------
-
- ModEdit is a music editor/sequencer for the IBM PC family of
- computers. It allows you to write music with 4 tracks of
- digitized instrument sounds. The file format used is the
- "Amiga Module" format (so called because it originated on the
- Amiga line of computers). ModEdit can load and save Modules,
- meaning that Modules (or simply MODs) created by other
- programs (even on other computers such as the Amiga) can be
- used by ModEdit, and that the Modules created by ModEdit can
- be used by any program that can use Modules.
-
- 1.2 WHAT IS NEEDED TO RUN MODEDIT?
- -----------------------------------
-
- To run ModEdit, you need:
-
- - An IBM or compatible, 640K recommended.
- - A 10MHz+ 286 or better processor strongly recommended
- for playback.
- - The executable editor program MODEDIT.EXE.
-
- ModEdit requires no special video card; it works with
- monochrome, CGA, EGA, or VGA displays. It also does not
- require any sound card; it can output music through the PC
- speaker (though quality will vary depending on how fast your
- processor is). Supported sound cards include:
-
- - SoundBlaster(tm) / compatible cards
- - Disney Sound Source(tm)
- - Covox Sound Master II(tm)/Speech Thing(tm)
- - Any sound card with a D/A converter on an LPT: port (This
- includes soundcards you can build yourself. See MODPLAY
- documentation for more information.)
-
- ModEdit's playback routines are done with MODOBJ, a .OBJ
- file that contains functions for playing back Modules. MODOBJ
- is written by Mark J. Cox. More information on MODOBJ may be
- found in section 5.4.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ===================
- 2. GETTING STARTED
- ===================
-
- 2.1 QUICK START
- ----------------
-
- If you're impatient, and think you know what you're doing,
- you can "quick start" ModEdit by typing "MODEDIT" after
- unpacking the ModEdit archive. It's strongly recommended,
- though, that you take the time to read this documentation.
-
- 2.2 SETUP
- ----------
-
- Your ModEdit archive file should contain the following files:
-
- - MODEDIT.DOC : This file.
- - MODEDIT.EXE : The executable ModEdit module editor,
- unregistered version.
- - REGISTER.EXE: Executable program to be run if you choose
- the "basic registration" option. It will
- create an executable file MODED-R.EXE which
- will be the registered version of the
- ModEdit program.
- - REGISTER.DAT: Data used by the REGISTER.EXE program.
- - REGISTER.FRM: Registration form for ModEdit 3.0.
- - *.MOD : Example module(s).
- - *.SAM : Various digitized sample files for
- incorporation into your own music.
-
- To run ModEdit, first unpack the archive file, preferably
- into its own subdirectory if you have a hard drive.
-
- 2.3 MODEDIT'S USER INTERFACE
- -----------------------------
-
- ModEdit functions are selected using an intuitive and
- flexible window system with mouse support. If you've
- never used this kind of menu system before, you will probably
- want to read through the following walk-through of the menu
- system. If, on the other hand, you have experience with
- "point-and-click" type dropdown menu interfaces, you can
- quickly skim this section and just dive right into using
- ModEdit. The user interface is quite intuitive to use, even
- for first time users.
-
- Main program functions are selected via a main menu at the
- top of the screen, and secondary program functions are
- selected through a series of dropdown menus, popup menus,
- scroll lists, and dialog boxes. Details of each follow.
- Instructions on user interface interaction using the keyboard
- are presented following the word "KEYBOARD:". Instructions
- for mouse users follow the word "MOUSE:".
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.3.1 Main Menu
- ----------------
-
- ModEdit's main menu is a line at the top of the screen, which
- appears as follows:
-
-
- |File| Edit Sample Play Record Configure Other
-
-
- On the screen, one option will have a colored "highlight
- bar" as its background; this option is the currently selected
- option. It is shown above by the vertical bars |.
-
- KEYBOARD: From the keyboard, you can access the main menu
- simply by depressing the ALT key and then pressing the letter
- that matches the highlighted letter in the menu item.
- (Highlighted items are shown in capital letters above). For
- instance, "<ALT-F>" would access ModEdit's "File" options,
- while "<ALT-C>" would select "Configure." Once you are in the
- main menu, you may use <LEFT ARROW> and <RIGHT ARROW> to
- select the option to the left/right of the one currently
- selected. For instance, if "Sample" is selected, pressing
- <LEFT ARROW> would take you to "Edit."
-
- MOUSE: With a mouse, you can access the main menu by moving
- the mouse cursor to be on top of the desired main menu
- option, then pressing the left mouse button.
-
- 2.3.2 Dropdown and Popup Menus
- -------------------------------
-
- A dropdown menu and a popup menu are essentially the same
- form of input: a window containing a list of options to
- select, and a highlight bar indicating which option is
- currently selected. A dropdown menu "drops down" beneath the
- main menu, since it involves selection of options directly
- related to the main menu options. A popup menu "pops up" at
- a different time in the program (usually when you, the user,
- press a particular function key needing you to choose among
- various options), but it operates in the same way. The
- following discussion focuses on dropdown menus, but
- operation of popup menus is identical.
-
- All of the options in the main menu have several sub-options
- that may be selected. After selecting the main option, an
- appropriate dropdown menu will appear beneath the main menu.
- You then choose the sub-option that you need to perform. For
- example, if you selected the "File" option with <ALT-F>, the
- screen would appear as follows:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- |File| Edit Sample Play Record Configure Other
- +---------------+
- *|New module |
- |Load module |
- |Save module |
- |DOS shell |
- |---------------|
- |Exit |
- +---------------+
-
- The dropdown menu will have a highlight bar on the currently
- selected option. Due to printing limitations, the highlight
- bar is depicted above with a star *.
-
- KEYBOARD: With the keyboard, to move the highlight bar, press
- the up or down arrow keys. After selecting the desired
- option, press <ENTER> to accept your choice. By pressing the
- right or left arrows, the right or left dropdown menus of the
- corresponding main menu options will be displayed.
- Additionally, each option within the dropdown menu will have
- one letter highlighted. By pressing this letter, that option
- in the dropdown menu is selected. This often saves time.
-
- MOUSE: With a mouse, move the mouse cursor on top of the
- desired dropdown menu option and press the left mouse button.
-
- 2.3.3 Scroll Lists
- ------------------
-
- A scroll list is very similar to a popup or dropdown menu; it
- is a list of items from which you choose (e.g. filenames on
- disk). A highlight bar indicates the currently chosen
- option. A scroll list differs from a popup/dropdown menu
- because it (a scroll list) may contain more items than can be
- displayed at one time on screen. If you move the highlight
- bar up off the top or down off the bottom of a scroll list,
- new items will "scroll" into display from which you may
- choose.
-
- A scroll list looks like the following:
-
- +-...AMS\MODEDIT\MENG\-+
- | BASS.SAM 3010 ^ Up arrow
- | BBYBDRUM.SAM 2240 #
- | BBYBDRUM.SAM 2240 #
- | BBYBDRUM.SAM 2240 #
- | BBYBDRUM.SAM 2240 #
- | BBYBDRUM.SAM 2240 #
- | BBYBDRUM.SAM 2240 #
- | BBYBDRUM.SAM 2240 #
- | GRANDP4.SAM 13412 v Down arrow
- +----------------------+
-
-
-
-
-
-
-
-
-
-
-
-
-
- KEYBOARD: From the keyboard, operation of a scroll list is
- identical to that of a popup/dropdown menu.
-
- MOUSE: With a mouse, operation of a scroll list is identical
- to that of a popup/dropdown menu, with the additional feature
- that clicking on the arrows at the right hand side of the
- scroll list will scroll the highlight bar up and down.
-
- 2.3.4 Dialog Boxes
- ------------------
-
- Whenever ModEdit requires you to type in information, a
- "dialog box" will appear on the screen. Since ModEdit deals
- with different sorts of information, different functions will
- cause different dialog boxes to appear on the screen. The
- exact operation of each dialog box is detailed in the
- description of each function. All dialog boxes, however,
- share some common features, which are discussed below.
-
- Sections: A dialog box contains 2 sections; a text input
- section and a button section. To shift from section to
- section, press the <TAB> key. (Note that the <TAB> key also
- moves among buttons; see below.)
-
- Text input section
- ------------------
- For each item of input ModEdit requires, one text field will
- appear in the dialog box.
-
- KEYBOARD: Within each text field, simply type in the required
- information. The previous value (if any) of a particular
- field is automatically displayed. If you wish to keep or
- modify the previous value, press an editing key to edit the
- field. If you wish to discard the previous value and enter a
- completely new one, you may simply start typing; the old
- value will disappear. Standard editing keys (left/right
- arrows, <INSERT>, <DELETE>, <BACKSPACE>) apply to the input.
- To move between fields, you may use the following keys: <UP
- ARROW> to take you to the previous field, and <DOWN ARROW> or
- <ENTER> to take you to the next field. If you attempt to move
- to the next field when you are on the last field, you will
- move to the button section of the dialog box.
-
- MOUSE: You must, of course, use the keyboard to type in the
- requested information; however, clicking the left mouse
- button when the cursor is on a particular text field will
- move you to that text field. This can be useful when several
- fields appear and you only wish to modify one.
-
-
- Button section
- --------------
- A button is an option at the bottom of a dialog box, enclosed
- within brackets []. Buttons perform an action on the input
-
-
-
-
-
-
-
-
-
-
-
-
- fields at the top of the dialog box. The most common buttons
- are [OK], which accepts the input, or [Cancel], which
- discards the input.
-
- KEYBOARD: To move among buttons, you may use the <TAB> key,
- which steps through the buttons then eventually returns to
- the top of the dialog box, or you may use the left/right
- arrow keys to cycle through the buttons.
-
- MOUSE: Click the left mouse button on the desired button to
- select that action.
-
- Note: to escape from a dialog box and discard the input, you
- may press the <ESCAPE> key.
-
- Here is an example of a simple dialog box with 1 text field
- and 2 buttons:
-
- +------------------Load Module--------------+
- |Filename: _ | Text section
- +-------------------------------------------+
- | [OK] [Cancel] | Button section
- +-------------------------------------------+
-
-
- 2.4 CONFIGURATION
- ------------------
-
- Now that you know how to move around in ModEdit, you can
- configure ModEdit to your particular system and preferences.
- Select the "Configuration" option from the Main Menu.
-
- You will be presented with the Configuration Submenu; from
- here you may set various options about ModEdit, such as
- colors, directories, etc:
-
- +---------------------+
- |Colors |
- |Directories |
- |Playback device |
- |Address of LPT ports |
- |Mixing speed |
- |Protracker mode |
- |Display size 80x25 |
- |Save configuration |
- +---------------------+
-
- The ones you need to set right now
- are the following:
-
- - Module directory: this is where ModEdit will look for
- your Modules (i.e. songfiles). This option is under the
- "Directories" option of the Configuration Submenu.
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Sample directory: this is where ModEdit will look for your
- sample files. This option is also under the "Directories"
- option of the Configuration submenu.
-
- - Playback device: this is the device to which ModEdit will
- play music/samples. It defaults to the PC speaker, but
- can be a D/A converter on an LPT port or a variety of
- other output devices. (See the MODPLAY documentation for
- information on how to build a D/A converter.) Note that
- if you have a D/A converter on a nonstandard LPT port as
- the playback device, you should enter the address of your
- LPT port via the "Address of LPT ports" option on the
- Configuration submenu. This is also how you use sound
- cards with D/A converters on custom ports (e.g. the Covox
- SoundMaster II(tm)); you select "D/A on LPT" as the output
- device, and set the "Address of LPT port" as the address
- of the D/A converter on your sound card. Playback goes to
- the address you specify as LPT1; LPT2 is only used if you
- have 2 D/A converters and wish to have stereo playback.
-
- - Mixing speed: this essentially tells ModEdit how fast your
- CPU is; it determines the quality of the sound output.
- Mixing speed defaults to 10000. If you have a slow
- computer, decrease mixing speed (minimum 5000) so that
- your computer will keep up and not crash. If you have a
- faster computer, increasing the mixing speed will increase
- sound quality (up to a point), but will slow down the
- other operations of ModEdit during music playback.
-
- When you're done configuring ModEdit, select "Save
- Configuration" to save the current settings to a
- configuration file. Next time you start up ModEdit, the
- configuration file will be read and the defaults set
- according to your specifications.
-
- The configuration file is saved to the current working
- directory; this will be the directory that you were in when
- you started ModEdit. In order for the configuration file to
- be read upon startup of ModEdit, it must be in the current
- directory when ModEdit is executed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- =========================
- 3. NOMENCLATURE/CONCEPTS
- =========================
-
- To use ModEdit, it is necessary first to understand some
- general terminology and concepts dealing with Module
- construction.
-
- 3.1 NOTE UNIT
- --------------
-
- The fundamental building block of patterns. It consists of
- three parts:
-
- 1) A musical note and octave (e.g. C#3 or A 2)
-
- 2) A "sample" or "instrument" code that determines what
- instrument sound will be associated with the given
- musical note
-
- 3) An effect number and argument, which jointly determine
- "how" the note is to be played (i.e. loud, soft,
- arpeggiated, etc.)
-
- A note unit may either be "empty" or "non-empty". An "empty"
- note unit is one that does not contain component (1) above;
- that is, it contains no instruction telling the computer to
- play a note. A "non-empty" note unit is one that does
- contain component (1); that is, it contains an instruction
- telling the computer to play a note at a specified pitch.
-
- The concept of "empty" and "non-empty" note units defines the
- interval of time between successive notes. This is explained
- in more detail in the editing section.
-
- 3.2 PATTERN
- ------------
-
- A collection of four independent tracks, each containing 64
- contiguous note units (many of which may be empty). It is
- the fundamental building block of songs created with ModEdit.
- By arranging note units within a pattern/several patterns,
- you can create musical motives. Patterns are numbered
- starting with 0 and may go up to 63 (i.e. 64 patterns max).
-
- 3.3 SEQUENCE
- -------------
-
- An arrangement of patterns. By arranging patterns into a
- sequence, you can group musical motives into a song. The
- sequence may be up to 128 patterns long. A given pattern can
- appear in the sequence more than once, if desired -- this
- means that for repeated musical passages, you need not create
-
-
-
-
-
-
-
-
-
-
-
-
- another identical pattern; you simply place the same pattern
- number in the sequence.
-
-
- 3.4 SAMPLE
- -----------
-
- Also interchangeably called "instrument." It is a collection
- of digitized data which mimics a particular instrument (e.g.
- flute, piano, guitar, etc.). Samples make your music sound
- "real" as opposed to "computerish" (simple square wave
- beeps). Up to 31 distinct samples may be used in a Module,
- affording a wide range of orchestrational possibilities. The
- samples are identified by a single character code, A-Z or
- 0-4, which means there are up to 26+5 = 31 samples available.
- Although 31 "slots" exist for samples, not all sample slots
- have to be filled; some may be empty, or "unallocated." If a
- sample slot has a sample loaded into it, it is said to be
- "allocated."
-
-
- 3.5 INTEGRATING NOTE UNITS, PATTERNS, SEQUENCE, AND SAMPLES
- ------------------------------------------------------------
-
- A complete song, therefore, consists of a number of PATTERNS,
- each of which contains 64 NOTE UNITS (some empty, some
- non-empty). These patterns are SEQUENCED into a particular
- order, which defines the song the listener will hear. The
- SAMPLE that is associated with each note determines the
- timbral quality (sound) that the note makes as it is played.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- =================
- 4. USING MODEDIT
- =================
-
- 4.1 SAMPLES: CHOOSING YOUR INSTRUMENTS
- ---------------------------------------
-
- 4.1.1 What are samples?
- ------------------------
-
- To reiterate, samples are the "instruments" that make your
- music sound real. Up to 31 distinct samples may be present
- in a Module, and each is uniquely identified by its sample
- code, A-Z or 0-4. A sample defines the sound that a note
- makes when it is played.
-
- The first step in creating a Module should be loading in at
- least one sample. After all, you need samples in order to
- hear your music at all.
-
- 4.1.2 The "sample directory"
- -----------------------------
-
- Samples are stored as digitized sound files on disk; each
- sample is stored in its own individual file. Since you can
- have many sample files, ModEdit allows you to specify a
- "sample directory" where your sample files are stored. For
- instance you could set the sample directory to A:\, which
- would make ModEdit look for sample files by default on A:\.
- This would allow you to store sample files on diskettes.
- Alternatively, you could make a subdirectory on your hard
- drive, and set the sample drive/directory there, so that your
- sample files would not clutter up other directories.
-
- If a sample directory is not specified (either by hand or
- through the configuration file) it defaults to the current
- working directory.
-
-
- 4.1.3 Manipulating samples
- ---------------------------
-
- To manipulate samples, select "Sample" from the main menu.
- The "Sample" dropdown menu looks as follows:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- +-------------------+
- | Load sample |
- | Preview sample |
- | Save sample |
- | Attribute edit |
- | Play sample |
- | Release sample |
- | Save all samples |
- | Clear all samples |
- +-------------------+
-
- These functions are described in detail below.
-
-
- Load
- ----
- This function loads a sample into a particular slot. If
- another sample was already loaded into that slot, it is
- discarded. Once a sample has been loaded into a slot, that
- particular slot may then be referenced in the editor to
- access that sample.
-
- Upon selecting "Load", you will see the sample scroll list.
- This list contains all sample slots (identified by the code
- A-Z or 0-4), the name of the samples loaded into those slots
- (if any), and a list of "attributes" for each sample (see
- section below on "attributes"). If a sample's slot has a
- star (*) next to it, that sample has not been allocated; that
- is, that sample slot is empty. If there is no star next to a
- sample's slot, that sample has been loaded (allocated). A
- highlight bar indicates which sample slot has been selected.
- Once you've moved the highlight bar to the desired sample
- slot, press ENTER or click on the left mouse button to choose
- that sample.
-
- You will then be asked for the filename of the sample you
- wish to load. If, instead of a filename, you enter a
- pathname, then a directory scroll list will popup, and you
- may select the sample file you wish to load from the list.
-
- After selecting a filename, that particular file will be
- loaded into the previously selected sample slot. Any errors
- during loading will be reported to you. Loading a sample
- sets the attributes as follows: (see section below on
- "attributes" for a description of attributes)
-
- - Name: The filename on disk of the sample file
- - Volume: 64 (the maximum)
- - Loopstart, Looplength: Both set to 0
- - Tuning: Set to "C 2" (range is set to C 1-B 3)
- - Finetune: Set to 0.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Loading a sample also sets the default sample for the editor
- to be that sample. See section 4.2.1, subsection
- "Preliminaries about the editor," and subsection "Editing the
- sample field," for a detailed explanation of the "default
- sample."
-
- Preview
- -------
- Previewing a sample is very similar to loading a sample.
- First you select the desired sample from the sample scroll
- list. Then you enter a PATHNAME (not a filename) on the
- diskette that you wish to preview samples from.
-
- ModEdit will then scan for all sample files in the directory
- you specified, and will present them on a scroll list of
- filenames. After selecting a filename, that sample is loaded
- into the selected slot and is automatically played. You are
- then free to select another filename from the scroll list. By
- moving through this scroll list and selecting different
- filenames, you can hear several different samples without
- repeatedly having to invoke the "Load" function. Once you
- find a sample file that you like, press the ESC key to quit
- previewing. The last sample you selected stays loaded in the
- selected sample slot.
-
- Save
- ----
- Selecting "Save" allows you to save a sample to disk. Note
- that the sample attributes are NOT saved into the sample
- file.
-
- After selecting save, you will be presented with the sample
- selection scroll list. Select which sample you wish to save
- from the list. Obviously, you can only save samples which
- are allocated (i.e. the ones without a star * next to their
- code). You will then be prompted to enter the filename to
- save the sample to. ModEdit will attempt to make a
- reasonable guess at a valid DOS filename from the sample's
- name attribute, but it's not always possible to do this
- automatically (since sample names are often edited -- see
- section on "attributes" below). Edit the given filename if
- you need to, then press ENTER or click on the [OK] button.
- The sample (without attributes, remember) will be saved to
- disk.
-
- Attribute edit
- --------------
- This function first allows you to select a sample from the
- sample scroll list, then pops up a dialog box allowing you to
- alter the attributes of the selected sample. See the section
- below on "attributes."
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Play
- ----
- After you select a sample from the sample scroll list, this
- function plays the selected sample to the output device (see
- "Configuration"). Press any key to stop sample playback.
-
- Release
- -------
- After you select a sample from the sample scroll list, this
- function frees the memory allocated to the selected sample.
- The sample that was previously in that slot is no longer
- usable. Confirmation is asked before releasing a sample.
-
- Save All
- --------
- This function is similar to "Save", but it saves all the
- allocated samples in memory to disk. This is useful for
- quickly extracting all samples from a MOD. You will be
- presented with a list of all allocated samples and proposed
- filenames to save the samples as. Edit the filenames so that
- they are all valid DOS filenames, then click on the [OK]
- button. The samples will then be saved to the filenames you
- entered on the screen. Any errors in saving any of the
- samples will be reported.
-
- Clear All
- ---------
- This function is similar to "release" sample, but it releases
- all samples in memory. It asks for confirmation before
- releasing all samples, since this is a potentially
- destructive function.
-
-
- 4.1.4 Attributes of samples
- ----------------------------
-
- As mentioned above, the sample scroll list displays the
- sample "attributes." Sample attributes define certain
- characteristics of the sample. You may edit any of these
- attributes by pressing "A" from the "Sample" menu.
-
- NAME: The first attribute of a sample is the name. ModEdit
- by default sets the sample name attribute to the sample
- filename on disk. This is for clarity and it is recommended
- that you have meaningful sample names. You are, however,
- free to edit the name attribute to anything you want, up to
- 22 characters long. Some composers edit all the sample name
- attributes to form a message containing composer information
- or the like. This makes later identification of samples
- difficult.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- VOLUME: The second attribute is the volume. Whenever a note
- unit is played, the sample that is used to play that note
- can have a volume from 0 through 64 (64 being loudest). You
- may specify the volume for this note unit explicitly through
- the effect field with command "C" (see "Effects" below). If
- you do not specify a volume, the sample is played back with
- the volume specified by its volume attribute.
-
- LOOPING: The third and fourth attributes jointly determine
- "looping" of the sample. Some sounds, such as a piano or a
- snare drum, have a definite start and end point. Such
- samples are generally not looped (though they could be for
- special effects or something similar). On the other hand
- some sounds, such as a flute or a sine wave, do not have a
- definite "ending" point; the sound is a constant waveform
- that only changes in frequency as different notes are played.
- Such sounds are often looped.
-
- A "looped" sample is one that will continuously be played
- without stop. Sample looping is defined by a "loop start"
- attribute and a "loop length" attribute. The "loop start"
- attribute is a number that represents an offset from the
- beginning of the sample; it is from this point that sample
- looping begins. The "loop length" attribute is a number that
- represents the length of the section to loop. A diagram
- will make this clearer:
-
- +---Loop Length----------+
- | |
- | This section is played |
- v continuously v
- -Sample data stream--------==========================
- ^ ^ ^
- | | |
- | Loop Start |
- | |
- +--------------Sample Length------------------------+
-
- The portion of the sample data stream beginning at the loop
- start and ending at loopstart + looplength is played
- continuously, allowing "ringing" or continuously sounding
- notes. This looped portion of the data stream is represented
- above by the "=" symbol.
-
- The best way to get a feel for sample looping is to
- experiment with the loop bytes and listen to the results
- (e.g. with the "<P>lay" option in the "Edit Sample" menu).
-
- TUNING: In order for ModEdit to display notes properly, all
- samples must be "tuned". This is a change from earlier
- verisons of ModEdit, which did not provide for sample tuning.
- If samples are not tuned properly, the onscreen note display
- will be inaccurate. ModEdit has 2 tuning attributes for each
- sample.
-
-
-
-
-
-
-
-
-
-
-
-
-
- The first tuning attribute is the large-scale tune attribute,
- or simply the "tune" attribute. This attribute is a note and
- an octave that define the "base" pitch of that particular
- sample; the note and octave are the pitch that the sample
- makes when played back with the "P" command (section 4.1.3).
- An external tuning source, such as a piano or other musical
- instrument, could be useful here. Most samples are tuned to
- "C 2"; therefore, ModEdit by default sets the tuning
- attribute to "C 2". Some samples, however, are tuned to
- other notes, and these samples must be tuned manually. Again,
- if this tuning attribute is not set properly, the notes
- displayed on the screen will be inaccurate (for instance, a
- "C 2" on the screen might give you an audio note "D 2" out of
- the speaker, or something similar).
-
- The tune attribute determines the "range" of a sample. The
- "range" of a sample is defined to be the 3 octave range with
- the tune attribute pitch in the middle. For instance, if a
- sample is tuned to C 2, its range is C 1-B 3. You are
- actually free to enter notes outside of this range; ModEdit
- can handle notes from C 0 to B 9. However, if you choose to
- enter notes outside of a sample's range, the resulting Module
- may not be playable from other MOD players/editors (though
- ModEdit will handle it fine). Also, some special note
- effects (see "Effects") simply cannot be applied outside of a
- sample's range. Keep these factors in mind when you're
- entering music.
-
- Beware: If 2 samples have different tune attributes, then
- loading one in place of the other will cause your music to
- sound dissonant, because the notes played with one sample do
- not correspond with the notes played by the second sample.
- (Additionally, since the samples are tuned differently, they
- have different ranges -- see preceding paragraph). Therefore,
- it's usually best not to interchange samples with different
- tune attributes. If you need to, though, you can transpose
- the notes associated with that sample up or down to
- compensate for the difference in tuning. See section 4.2.4
- for information about transposing notes.
-
- The second tuning attribute is the "finetune" attribute. This
- attribute is an integer from -8 to +7 that "nudges" the
- sample frequency slightly up (positive numbers) or slightly
- down (negative numbers) when it is played back. It alters
- the sample frequency less than a half step.
-
- So, the general procedure for tuning samples is:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1) Adjust the (large scale) tune attribute to the note that
- is closest to the note that the sample makes when played
- back. Usually you'll be able to find an exact note and
- octave that fit the sample's audio output.
-
- 2) If the note obtained by playing back the sample is
- somewhere "between" two notes (for instance, slightly higher
- than "C 2" but slightly lower than "C#2"), use the finetune
- attribute to adjust the sample playback so that the note it
- produces falls exactly on a musical note.
-
- 4.1.5 Creating your own sample files
- -------------------------------------
-
- Sample files are, again, digitized sound information stored
- in a file. Many different formats exist for storing sound
- information in a file. The .SAM format is very simple; it
- contains raw, 8-bit, signed digital data, with no header.
-
- If you have sound files in other formats, many conversion
- utilities exist that can convert from one format into
- another. Again, you need to convert your sound file into a
- raw, 8-bit, signed, headerless format in order for it to
- sound correct in ModEdit.
-
- If a you load in a sample of your own and it sounds very
- "noisy" or filled with static, then either (1) the data is
- not raw (e.g. it is compressed in some form) or (2) the data
- is not signed. To remedy (1) you must find an appropriate
- sound file conversion utility. To remedy (2), you can add 128
- to each byte in the sample file by 128, subtracting 256 if
- the result is over 255. This changes the data from signed to
- unsigned (or vice versa) and is often the problem.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4.2 ENTERING MUSIC
- -------------------
-
- After you've loaded in a sample (or several samples), you're
- ready to enter music. ModEdit 3.0 supports a flexible,
- intuitive, powerful piano-roll format for entering music,
- entirely different than all other MOD editors that I know of.
-
-
- 4.2.1 Editing Patterns
- -----------------------
-
- The main building block of Modules is the pattern. Musical
- notes in Modules are entered into patterns. From the main
- menu, choose the "Edit" option, which will display the Edit
- Submenu.
-
- ModEdit intially places one pattern in memory (in fact there
- will always be at least one pattern in memory). So, to start
- editing, select the "Edit Pattern" option. The pattern that
- is selected for editing is the "current pattern"; you may
- only edit one pattern at a time. To change the current
- pattern you may use the "<" and ">" keys; "<" takes you to
- the previous pattern in the sequence table; ">" takes you to
- the next pattern in the sequence table. Initially, of course,
- there will be only one pattern in the sequence table so "<"
- and ">" cannot change the pattern being edited (initially).
-
- You are now in the ModEdit pattern editor. The editor screen
- looks something like this:
-
-
- (Editor Status Line)
- +Pattern: 0( 0):0 -Track 1 2 3 4 Samp A:NONE +
- |Samp| |
- |Eff.| |
- |Arg1| (Sample and Effect information appear here) |
- |Arg2| |
- |Beat| |
- +-----^---------------------------------------------------------------+
- |B 2 | ^
- >A#2 | |
- |A 2 | |
- |G#2 | |
- |G 2 | |
- |F#2 | (Notes appear here) |
- |F 2 | |
- |E 2 | |
- |D#2 | |
- |D 2 | |
- |C#2 | |
- |C 2 |Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxv
- +<---------------------------No effect ---------------------->+
- (Note status line)
-
-
-
-
-
-
-
-
-
-
-
-
-
- Preliminaries about the editor
- ------------------------------
- A few general comments are in order. Each pattern has 4
- tracks; only one may be edited at a time. Although you may
- only edit one track at a time, you still may view the notes
- in all 4 tracks at once. Optionally, you may also choose to
- view only one track at a time.
-
- Since only one track can be edited at a time, only the sample
- and effect information for the current track is displayed. To
- view or change the sample/effect information for another
- track, you first need to edit that particular track.
-
- The term "default sample" is used below, and is defined
- here. As mentioned in section 3.1, each note unit has
- associated with it a sample code. When entering notes in the
- editor, it's often convenient to have the computer enter a
- sample code automatically when you enter a note (rather than
- you repeatedly having to enter a note and a sample).
- Therefore, the concept of a "default sample" arises; the
- "default sample" is the sample code that the computer
- automatically enters when you enter a note.
-
-
- Parts of the editor screen
- --------------------------
- There are 4 major parts of the screen: the editor status
- line, the note status line, the sample/effect area, and the
- note area. Each is described below.
-
- EDITOR STATUS LINE: This line displays position information,
- as well as the default sample. After the word "Pattern:",
- the current pattern number is displayed outside parentheses,
- the current sequence position is displayed inside
- parentheses, and the current note offset (0-63) within the
- current pattern is displayed after the colon. After the word
- "Track", the track currently being edited is highlighted
- (only one track may be edited at a time). After the word
- "Samp:", the current default sample for the editor is
- displayed.
-
- NOTE STATUS LINE: This line displays human-readable
- information about the current note that the cursor is on. It
- displays first the sample name associated with the current
- note, then the effect name of the effect associated with the
- current note.
-
- SAMPLE/EFFECT AREA: This area displays coded information
- about the sample and effect for ALL note units in the
- pattern. Each note unit (0-63) in the pattern has one column
- in the sample/effect area. The top row in each column is the
- sample code for that note. The second row in each column is
-
-
-
-
-
-
-
-
-
-
-
-
-
- the effect code for that note; the third and fourth rows, the
- effect arguments. The last row in each column shows the
- beats of notes in the pattern. If there IS a note at a
- particular column, a note symbol appears in the beat column
- for that note. If there is NOT a note in a particular
- column, the note symbol does not appear.
-
- NOTE AREA: This area displays the notes in a pattern. Notes
- within the current track are represented with bold, solid
- squares (represented here by 'X'). Notes for tracks other
- than the current track are represented with dim squares
- (represented here text by ':'). The duration of each note is
- shown by its length; duration for notes within the current
- track is shown with slightly bold squares (represented here
- by 'x'); duration for notes in tracks other than the current
- track is shown with very dim squares (represented here by
- '.'). The highness or lowness of notes is represented by the
- vertical position of the note squares in the display.
-
- Moving around the pattern editor
- --------------------------------
- Each pattern consists of 64 note units for each of 4 tracks.
- The 64 note units go horizontally across the screen. The
- pitch of each note is shown by its vertical position in the
- editor screen, as per the "note ruler" on the left hand side
- of the screen. For instance, a "C 2" note would appear as:
-
- +Pattern: 0( 0):0 -Track 1 2 3 4 Samp A:NONE +
- |Samp| |
- |Eff.| |
- |Arg1| |
- |Arg2| |
- |Beat| |
- +-----^---------------------------------------------------------------+
- |B 2 | ^
- >A#2 | |
- |A 2 | |
- |G#2 | |
- |G 2 | |
- |F#2 | |
- |F 2 | |
- |E 2 | |
- |D#2 | |
- |D 2 | |
- |C#2 | |
- |C 2 |Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxv
- +<---------------------------No effect ---------------------->+
-
-
- Notice that the pitch range of the screen is limited to 16
- halfsteps (more if you have registered the program and are in
- EGA/VGA 43/50 line mode). Therefore, to view pitches higher
- or lower, it is necessary to scroll up or down in the window.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Movement around the screen is quite simple:
-
- <LEFT> / <RIGHT>: Move to next/previous note unit in pattern.
- <UP> / <DOWN> : Move cursor to a higher/lower pitch.
- <PGUP> / <PGDN> : Move cursor one screenful up/down.
- <HOME> / <END> : Take cursor to beginning/end of pattern.
- 1 2 3 4 : Change current track to 1 2 3 or 4
-
- If you have a mouse, clicking on the arrow symbols at the
- corners of the editor screen will move the cursor in the
- indicated direction.
-
- Entering notes
- --------------
- To enter a note, move the cursor to the desired position
- within the pattern (horizontally) and to the desired pitch
- (vertically). Then simply press <ENTER> or <SPACE>, or, with
- a mouse, click the left button. If there was previously a
- note at that position, it is replaced by the new note.
-
- To remove a note, move the cursor to the desired position
- within the pattern (horizontally) and press the <BACKSPACE>
- key. Notice that you do not have to move the cursor to the
- pitch value of the old note. This removes the note but does
- not affect the rest of the pattern. The right mouse button
- also performs this function. The note unit then becomes
- empty.
-
- To remove a note AND shift all remaining notes in the current
- track and pattern to the left by one space, use the <DEL>
- key.
-
- To insert space into the current track of the current
- pattern (i.e. increase the space between notes), use the
- <INS> key.
-
- It's often useful to be able to hear what a note will sound
- like before you enter it. Pressing "X" allows you to hear
- the pitch that the cursor is on, using the default sample.
- You can move the cursor up and down, pressing "X" repeatedly
- until you find the pitch you need, then press ENTER or SPACE
- to enter that pitch for the note unit the cursor is on.
-
-
- Duration
- --------
- Entering a note as shown above puts a note and octave into
- the note unit that the cursor is on. (Remember, a pattern
- consists of 64 contiguous note units.) This makes that note
- unit non-empty. Recall, non-empty note units tell the
- computer to play a sample (instrument) when it encounters
- that position.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- What about empty note units, then? Empty note units tell the
- computer to do nothing. The previous non-empty note units,
- then, keep on playing (until the sample length has been
- exhausted) during the empty note units.
-
- So, duration of a non-empty note unit is, effectively, the
- space between that non-empty note unit and the next non-empty
- note unit. Note that if a sample has been played completely
- through before the next non-empty note unit in the pattern,
- silence will result. (If this doesn't make sense, just
- experiment; that's the best way to get a feel for this.)
-
- Example: (X represents non-empty note units; x, empty)
-
-
- Xxxx Xxxxxxxxx
- Xxxx Xxxxxxxx
-
-
- Above represents a series of 4 notes, the last 2 of which are
- twice as long as the first 2 (8 note units as opposed to 4
- note units).
-
- If you wish to enter music from a standard musical score, you
- must decide on how many note-units (i.e. squares or X's in
- the diagram above) you wish to allocate to each "standard"
- musical note. For instance, you could choose 4 x's to be a
- quarter note; then an 8th note would be 2 x's, and a half
- note would be 8 x's. This choice is completely arbitrary.
- Usually, 4 squares for a quarter note is a good choice.
-
- Example: One possible choice for entering standard music
-
- Whole --------- 16 squares Xxxxxxxxxxxxxxxx
- Half ---------- 8 squares Xxxxxxxx
- Quarter ------- 4 squares Xxxx
- Eigth --------- 2 squares Xx
- Sixteenth ----- 1 square X
-
-
- Editing the sample field
- ------------------------
- You will notice that when you enter a note, not only does the
- note appear, but also a code in the sample field above
- appears. This code is the "default sample" that was
- mentioned above. You may change the default sample either
- from the "Edit" submenu, or by pressing the F5 key in the
- editor.
-
- By default, the default sample will NOT overwrite an existing
- (i.e. non-zero) sample number. For instance, say that the
- default sample is 3, and you enter a note "C 1" in an empty
- note unit; then the sample number of that note unit will
- become 3. Later, you change your default sample to 4, and
-
-
-
-
-
-
-
-
-
-
-
-
- change this "C 1" to a "D 1". The sample number will stay 3,
- since the default sample, by default, does not have
- "precedence" over an existing sample number. This is so that
- you may change existing melody lines without altering the
- sample number. You may change this precedence by going to
- the Edit Menu. If the default sample has "precedence," it
- will always overwrite an existing sample field. This is
- useful for entirely rewriting tracks, samples and all.
-
- Again, pressing F5 in the editor will allow you to change the
- default sample. You'll want to change the default sample
- when your lead line changes instruments, when you switch from
- entering a lead track to a percussion track, etc. --
- basically, whenever the music you're entering switches from
- predominantly one instrument to another.
-
- You may also edit the sample field manually by pressing "S".
- This will popup a sample scroll list, from which you then
- select the particular sample that you wish to be associated
- with the note unit that the cursor is on.
-
- Note that it is possible for a note unit to have a non-empty
- note field, but a null (empty) sample field. This can happen
- if you set the default sample to none and edit an empty note
- unit, or if you manually change the sample field to none. The
- end result is a note with no associated sample. I call such
- notes "orphaned" notes. You generally should avoid orphaned
- notes. They may play correctly, since the sample number that
- will be used during playback will most likely default to the
- last sample number that was used in that track. It's best
- explicitly to associate a specific sample number with each
- non-empty note field.
-
- Additionally, you need to beware of using samples that you
- haven't loaded. For instance, you may you may edit the
- sample field to be any say, "sample code Q" even if you have
- not yet loaded a sample into position Q. If you forget
- eventually to load a sample into position Q, you may
- (probably will) get very strange results during playback
- which may crash your computer. So, always make sure that,
- when you're ready to play your music, you are only using
- samples you have loaded.
-
-
- Editing the effect field
- ------------------------
- The effect field consists of 2 parts: a command and an
- argument.
-
- The command can one of 16 values: 0 1 2 3 4 5 6 7 8 9 A B C
- D E F. These commands control various aspects of note and
- song playback. An effect command generally takes effect
- starting immediately with the note field associated with that
- effect.
-
-
-
-
-
-
-
-
-
-
-
-
-
- The argument is one byte long and is represented in
- hexadecimal. A hexadecimal byte is a base 16 representation
- of a number that consists of an "upper nybble" and a "lower
- nybble", each of which may take on a value of 0, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, A, B, C, D, E, or F. Values from A - F
- correspond to the decimal values 10 - 15.
-
- Certain commands listed below use the 2 nybbles separately
- (e.g. arpeggiation). In this case, the 1st nybble is one
- argument, and the 2nd nybble is the 2nd argument. Other
- commands treat the 2 nybbles jointly as one byte (e.g.
- speed). In this case, the decimal equivalent of the
- hexidecimal number is calculated by: (upper nybble * 16) +
- lower nybble. So, for instance, an effect of "F 1D" would
- mean set the song speed ("F") to 29 (1*16 + D = 1*16 + 13 =
- 29).
-
- Here's a list of effects and their required argument byte.
- "xy" for the argument byte means each nybble is treated
- separately; "xx" means they are treated jointly as one byte.
-
- 0 -- AREPEGGIATION
- Format: 0 xy
-
- Plays its associated note in arpeggiated fashion; that is, it
- rapidly steps the note between 3 pitch values: the original
- pitch value, the original pitch value + "x" number of
- halfsteps, and the original pitch value + "y" number of
- halfsteps.
-
- 1 -- SLIDE UP
- Format: 1 xx
-
- Slides pitch up; slide speed is determined by the xx argument
- (remember, it's in hexadecimal). Slides cannot occur outside
- of a sample's range (see section on "attributes" above).
-
- 2 -- SLIDE DOWN
- Format: 2 xx
-
- Just like SLIDE UP except it slides the pitch down. Slides
- cannot occur outside of a sample's range.
-
- 3 -- SLIDE TO NOTE
- Format: 3 xx
-
- Similar to slide except it slides the pitch TOWARDS the
- pitch of the associated note field (commands 1 and 2 only
- specify a speed, not a destination). xx is the speed to
- slide the pitch. If "xx" is "00", the slide continues in the
- same direction with the same speed. Slides cannot occur outside
- a sample's range.
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4 -- VIBRATO
- Format: 4 xy
-
- Performs "vibrato" on a note (wavering effect). x is the
- vibrato speed; y is the vibrato depth. If "xy" is "00",
- vibrato continues with the sampe speed and depth.
-
- 5 -- CONTINUE SLIDE TO NOTE + VOLUME SLIDE
- Format: 5 x0 or 5 0y
-
- Continues the "slide to command" selected by effect 3, while
- simultaneously sliding the volume either up or down. x
- is the speed to slide the volume up; y is the speed to slide
- the volume down. Slides cannot occur outside a sample's
- range.
-
- 6 -- CONTINUE VIBRATO + VOLUME SLIDE
- Format: 6 x0 or 6 0y
-
- Continues the "vibrato" selected by effect 4, while
- simultaneously sliding the volume either up or down. x is
- the speed to slide the volume up; y is the speed to slide the
- volume down.
-
- 7 -- TREMOLO
- Format: 7 xy
-
- Vibrates the volume of the note. x is the speed of the
- tremolo; y is the depth.
-
- 9 -- SET SAMPLE OFFSET
- Format: 9 xx
-
- Plays the associated sample starting from a specified point,
- rather than starting from the beginning of the sample. The
- sample offset is xx * 256; that is, the offset is $xx00
- (hex).
-
- A -- VOLUME SLIDE
- Format: A x0 or A 0y
-
- Slides the volume either up or down. If x is specified and y
- is 0, the volume is slid up at speed x. If y is specified
- and x is 0, the volume is slid down at speed y.
-
- B -- POSITION JUMP
- Format: B xx
-
- Breaks the pattern (i.e. stops playing it at its current
- position) and jumps to position xx (hexadecimal!) in the
- pattern sequence table.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- C -- SET VOLUME
- Format: C xx
-
- Sets the volume for its associated note unit to xx. Note
- that it only takes effect with its associated note unit, not
- subsequent notes. Valid volume range is 00 - 40 (hex).
-
- D -- PATTERN BREAK
- Format: D xx
-
- Breaks the pattern (i.e. stops playing it at its current
- position) and goes on to the next one in the pattern sequence
- table. The next pattern starts playing at row xx. xx
- is a decimal number from 0 to 63.
-
- E -- MISCELLANEOUS COMMANDS
- Format: Ex y
-
- Several commands are accessed through the "E" command. The
- first argument, "x" determines which of these miscellaneous
- commands is to be executed. The second argument, "y", is the
- argument to the chosen command.
-
- E1 y: Fine slide up. Similar to effect 1, "slide up", except
- it only slides the note up once; it does not continue sliding
- during the length of the note. y = slide speed, hex 0 to F.
-
- E2 y: Fine slide down. Similar to effect E1, except it
- slides down.
-
- E3 y: Glissando control. When glissando is enabled, "slide
- to note" (effect 3) will slide a half-step at a time, instead
- of a smooth slide. y=1 means glissando on; y=0 means
- glissando off.
-
- E5 y: Set finetune. y is the finetune value, as a signed 2's
- complement number. That is, if y is 0 to 7, the finetune
- value is y. If y is 8 to F, the finetune value is y-16
- (that's y minus sixteen).
- Positive finetune values make the pitch slightly higher;
- negative, slightly lower.
-
- E6 y: Pattern Loop. If y is 0, the current row is marked as
- the start of the loop. If y is 1 through F, then the pattern
- jumps to the start of the loop y times.
-
- E9 y: Retrigger note. y is the "tick" at which the note
- will be retriggered. The number of "ticks" per note is
- determined by the speed of the song (command F).
-
- EA y: Fine volume slide up. Similar to normal volume slide
- up, except it only slides the volume once (not during the
- entire length of the note). y is the slide speed.
-
-
-
-
-
-
-
-
-
-
-
-
-
- EB y: Fine volume slide down. Similar to fine volume slide
- up, except it slides down.
-
- EC y: Cut note. Cuts the note at tick number "y", giving
- very short notes. The number of ticks per note is determined
- by the speed (command F).
-
- ED y: Note delay. Delays playing of the note until tick
- number "y".
-
- EE y: Pattern delay. Delays playing of the pattern for "y"
- notes before continuing playback.
-
- F -- SET SPEED
- Format: F xx
-
- Sets the speed of the song; hex values 00 - 1F are "internal"
- values, with lower numbers being faster. Values 20-FF are
- BPM (beat per minute) values.
-
-
- The best way to understand what exactly these effects do is
- just to experiment and listen.
-
-
- Copying patterns
- ----------------
- Often it's useful to copy a pattern to another one. To do
- this, press "C" or "c" within the editor. "C" will copy an
- entire previous pattern to the current one; "c" will only
- copy one track from a previous pattern to the current one.
- Note that the source pattern is copied to the current cursor
- position in the current pattern; this means that if you want
- to paste a pattern in the middle of another pattern, you can
- do so by moving the cursor to the middle of the current
- pattern.
-
- After pressing "C" or "c", a dialog box will appear in which
- you enter the source pattern, offset within the source
- pattern, and source track (if applicable) for the copy. Then,
- clicking on [OK] performs the copy.
-
- If, instead of typing in the source pattern, you'd like to
- select it from a scroll list, you can do so by clicking on
- the "Select Source" button at the bottom of the copy dialog
- box. The Pattern Sequence Table will then appear, and you
- can choose the source pattern directly from the table. See
- the section below on "Sequencing/Creating Patterns".
-
- Transposing patterns
- --------------------
- To transpose a pattern within the editor, you may use the F7
- and F8 keys. F7 will transpose the current track up one half
- step; F8, down one half step. Notice that these keys only
-
-
-
-
-
-
-
-
-
-
-
-
- apply starting from the cursor position and going to the end
- of the current pattern. Therefore, you can transpose part of
- a pattern or all of a pattern. To transpose more than one
- pattern, you should select the "Transpose patterns" option
- from the Edit Submenu (see "Other Edit Options" below).
-
-
- Editor view options
- -------------------
- Three keys, "V", "D", and "H" are discussed here; they all
- affect what parts of the MOD you see onscreen.
-
- "V": View sample. By pressing "V" in the editor, the sample
- selection scroll list will appear. You may select a sample
- from this list, after which the ONLY notes that will be
- displayed in the editor will be notes associated with the
- selected sample. This is useful if a track or some tracks
- contain several different, interlaced melody lines scattered
- among a few instruments. By viewing only one instrument, you
- can reduce the complexity of the onscreen display and follow
- just one instrument line at a time. Beware that editing
- while viewing only one sample can be dangerous, because you
- run the risk of overwriting notes that you can't see. To
- alleviate this, the sample/effect information for "invisible"
- notes during a view are highlighted. Selecting "<<NO
- SAMPLE>>" after pressing "V" will turn off the view feature
- and all notes for all samples will be displayed.
-
- "D": Duration toggle. Pressing "D" in the editor toggles on
- and off the showing of note durations. Note duration in a
- MOD, you will recall, is defined by the interval from one
- non-empty note unit to the next non-empty note unit. This
- duration is shown on screen as dim blocks, and is very useful
- for seeing the rhythmic structure of a piece. However, if a
- melody line is distributed over 2 or more tracks, it can be
- difficult to follow because the note durations for the
- current track clutter up the screen display. By toggling the
- note durations off, only the non-empty note units will be
- displayed. This can greatly reduce the clutter on the screen
- and is, again, most useful when you want to follow the action
- of 2 or more tracks at once.
-
- Example:
-
- With durations on With durations off
-
- Xxxx X
- Xxxx X
- Xxxx Xxxx X X
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "H": Hide track toggle. Pressing "H" will toggle a track
- between hidden/non hidden status. A hidden track will not be
- displayed unless it is the current track. Hiding tracks is
- useful when you only want to work with one or two tracks and
- don't want the screen to be cluttered by the other tracks. A
- hidden track will have parentheses () around its number in
- the editor status line.
-
-
- Playing music from within the editor
- ------------------------------------
- You may hear your music from within the pattern editor three
- ways.
-
- First, you may press the "N" key, which plays the note unit
- the cursor is on.
-
- First, you may press the "T" key, which plays the track the
- cursor is located in.
-
- You may press the "P" or the F10 key, which plays the entire
- pattern.
-
- By pressing the F4 key in the editor while music is playing,
- the cursor will "trace" the song as it's played back; that
- is, the cursor will show the position currently being played
- within the Module as the song is being played. (Registered
- version.)
-
- These functions are useful for immediately hearing what your
- music sounds like, allowing you to make changes and hear the
- results.
-
- 4.2.2 Sequencing/creating patterns
- -----------------------------------
-
- One pattern is not enough to enter any song of reasonable
- length. Therefore, you need to be able to create more
- patterns, as well as to sequence these patterns into a
- coherent order. This is done with the
- "Sequence/create/choose" option under the Edit submenu.
-
- The Pattern Sequence Table is a scroll list, and will
- initially look like:
-
- +------+
- |000:00|
- +------+
-
- The left number represents the POSITION within the sequence
- table. The right number represents the PATTERN NUMBER that
- is at that position. There is a maximum of 128 positions
- within the table.
-
-
-
-
-
-
-
-
-
-
-
-
-
- The highlight bar represents the current pattern. It is the
- pattern that is edited when you are in the pattern editor. To
- change it, use the up and down arrow keys. This scrolls you
- through the current pattern sequence, thereby changing the
- current pattern.
-
- Creating a pattern or modifying the sequence are done with
- the same dialog box. To create a pattern and insert it after
- the current position, press ENTER. A dialog box will
- appear; it serves 2 purposes. First, you can enter a pattern
- number, which will change the pattern number at that position
- within the table. Second, you can click on the [Create
- Pattern] button at the bottom of the dialog box, which will
- then create a NEW pattern and insert it after the current one
- in the sequence.
-
- To insert or delete patterns into your song, press INS or
- DEL, repsectively. A "00" pattern will be inserted into the
- sequence, which you can then edit to be whatever pattern
- number you want.
-
- You need to be aware that when you save a Module (see "Saving
- and loading Modules" below), the highest pattern number that
- will be saved is the highest pattern number that was USED in
- the pattern sequence. For instance, say you created 38
- patterns (0 - 37), but in your sequence you only used
- patterns 0 through 20. If you attempted to save the song,
- patterns 21 through 37 would not be saved. This is a
- limitation imposed by the Module format. Be sure, therefore,
- that when you save a Module that the highest pattern number
- in the sequence table corresponds to the highest pattern in
- memory. This usually isn't a problem, since creating a
- pattern automatically puts it into the sequence table.
-
-
- 4.2.3 Other edit options
- -------------------------
-
- In addition, the Edit menu has a few other options for your
- convenience.
-
- "Transpose pattern" allows you to increase or decrease the
- pitch of notes in a pattern by a certain number of
- half-steps. You may transpose all tracks or only one track.
- Additionally, you may transpose all samples in the
- pattern/track or only 1 sample. This is useful if you want
- ony to transpose a particular INSTRUMENT.
-
- "Erase all patterns" does just what it says -- erases all
- patterns from memory. It asks for confirmation before it
- wipes the pattern memory. It's useful if you want to start
- over with a new song but keep the current samples in
- memory.
-
-
-
-
-
-
-
-
-
-
-
-
-
- "Highlight notes" allows you to specify the starting note to
- be highlighted in the editor window, as well as the increment
- between highlighted notes. Highlighted notes in the editor
- are simply for reference, so that you can tell at a glance
- where you are within the pattern. The default highlight
- start line is 0, and the default increment is 4.
-
- 4.3 HEARING YOUR MUSIC
- ----------------------
-
- 4.3.1 Playback within ModEdit
- ------------------------------
-
- The simplest way is to choose "Play whole song" from the
- "Play" option on the main menu. You may also choose "Play
- part of song" to play back only a part of the song. During
- playback, regular processing continues, so you can actually
- edit a MOD while it's playing. (See section on "Recording"
- below.)
-
- During playback, you can jump forward or backward in the song
- by selecting the appropriate options under the Play menu. You
- can also alter the volume by selecting "Volume". To stop
- playback (it loops forever until you stop it), select the
- "Stop" option.
-
- Also, as mentioned previously, you may use the N, T, or P
- keys from within the pattern editor to play a note, track, or
- song, respectively.
-
- 4.3.2 MODPLAY: External playing
- ---------------------------------
-
- To play modules outside the ModEdit environment, simply
- choose the "Save Module" option of the File Submenu to save
- your song to a Module. It's best to save it with an
- extension of ".MOD," so that MODPLAY and ModEdit can
- automatically locate it.
-
- The resulting Module on disk can be played via the external
- Module Player MODPLAY, by Mark J. Cox. Consult the MODPLAY
- documentation for specific instructions on using MODPLAY.
-
-
- 4.4 RECORDING MODULES
- ----------------------
-
- ModEdit 3.0 allows you to play along with a Module in real
- time, using your computer keyboard as a piano keyboard.
-
- To use the real-time recording functions, first select the
- sample you want to do the recording with, with the "Sample to
- record with" option of the Record Submenu. Next, select
-
-
-
-
-
-
-
-
-
-
-
-
-
- which track you wish to record in, with the "Track to record
- into" option.
-
- Next, start the MOD playing by selecting one of the
- appropriate options under the Play Submenu. Then, while the
- MOD is playing, select either "Play without recording" or
- "Record from keyboard" options. The first option will let
- you play along with the MOD and hear the results in real
- time, but will not actually store your notes into the MOD.
- The second option (available in the registered version) will
- not only play the notes you strike, but will also store them
- into the MOD. This often makes music entry much easier and
- faster -- not to mention more enjoyable. The layout of the
- keyboard, as a piano, is shown on screen during recording,
- and is as follows:
-
-
- F#2 G#2 A#2 C#3 D#3 F#3 G#3 A#3
- 2 3 4 6 7 9 0 -
-
- F2 G2 A2 B2 C3 D3 E3 F3 G3 A3 B3
- Q W E R T Y U I O P [
-
- C#1 D#1 F#1 G#1 A#1 C#2 D#2
- S D G H J L ;
-
- C1 D1 E1 F1 G1 A1 B1 C2 D2 E2
- Z X C V B N M , . /
-
-
- If you'd like to "synchronize" your playing with the start of
- the Module playback, select "Synchronous start" from the
- Record submenu. Then, the instant you hit a key to start
- recording, the Module will reset itself to the beginning, so
- that it begins "synchronously" with your input.
-
-
- 4.5 SAVING AND LOADING MODULES
- --------------------------------
-
- ModEdit can load in standard 15 or 31 instrument Modules.
- This means you can edit a very large portion of existing
- Amiga Modules (since the Module format comes from the Amiga).
- ModEdit looks for Modules in the "Module directory," which
- you may set/change via the Configuration Submenu. Loading a
- Module is straightforward; choose the "Load Module" option of
- the File Submenu, specify the path/filename, and the Module
- will be loaded into memory. Any errors during loading will be
- printed to the screen.
-
- Saving a Module is equally simple; simply choose the "Save
- Module" option of the File Submenu. Technical note: ModEdit
- only saves 31 instrument Modules, even Modules that were
- originally loaded as 15 instrument modules. Since the 15
-
-
-
-
-
-
-
-
-
-
-
-
- instrument format is supported for loading, compabitility is
- maintained.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- =============
- 5. REFERENCE
- =============
-
- 5.1 Pattern editor quick reference key summary
- -----------------------------------------------
-
- Category Key(s) Function
- --------
- General F1 Help
- F2 Sample editing
- F3 Sequence/create/choose pattern
- Playback F10/P Play entire song from cursor
- T Play track from cursor
- N Play note at cursor
- X Hear note at cursor
- F4 Trace playback (registered ver.)
- F6 Playback volume
- F9 Stop playback
- Viewing 1 2 3 4 Switch to track 1 2 3 or 4
- D Toggle durations on/off
- H Toggle current track hidden/shown
- V View only one sample
- Movement < > Previous/next pattern in sequence
- Arrows, Move within pattern
- PgUp,
- PgDn,
- Home,
- End
- Editing Space, Put note at cursor position
- ENTER
- Ins/Del Insert/Delete note in pattern
- BS Remove note at position
- c/C Copy part/all of another pattern
- e/E Set/clear effect for a note
- S Set sample for a note
- Z Zap (erase) a track
- F7/F8 Transpose a track up/down
- F5 Choose default sample
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5.2 Effect list -- quick reference
- -----------------------------------
-
- Effect #/Description Format/Argument
- -------------------- ---------------
- 1: Slide Up 1 xx xx=speed
- 2: Slide Down 2 xx xx=speed
- 3: Slide To Note 3 xx xx=speed
- 4: Vibrato 4 xy x=speed y=depth
- 5: Slide To+Vol Slide 5 x0/5 0y x=upspeed OR y=downspeed
- 6: Vibrato+Vol Slide 6 x0/6 0y x=upspeed OR y=downspeed
- 7: Tremolo 7 xy x=speed y=depth
- 8: <<no effect>>
- 9: Set sample offset 9 xx Play sample from offset $xx00
- A: Volume Slide A x0/A 0y x=upspeed OR y=downspeed
- B: Position Jump B xx xx=pattern position
- C: Set Volume C xx xx=volume(00-40 hex)
- D: Pattern Break D xx Skip to pos xx in next pat
- E1:Fineslide up E1 y y=slide speed
- E2:Fineslide down E2 y y=slide speed
- E3:Glissando control E3 y y=0/1 (off/on)
- E5:Set Finetune E5 y y=finetune value
- E6:Pattern loop E6 y y=0/1-F (start/# of loops)
- E9:Retrigger note E9 y y=tick to retrigger note
- EA:Fine vol slide up EA y y=slide speed
- EB:Fine vol slide down EB y y=slide speed
- EC:Note cut EC y y=tick to cut note
- ED:Note delay ED y y=ticks to delay note
- EE:Pattern delay EE y y=notes to delay pattern
- F: Set Speed F xx xx=speed(00-1F)
-
-
- 5.3 MODPLAY
- ------------
-
- MODPLAY is an external Module playing program by Mark J. Cox.
- MODPLAY can play Modules created with ModEdit, outside the
- ModEdit environment, often with higher quality than from
- within ModEdit (MODPLAY devotes the entire processor to
- playing, but ModEdit allows you to continue other functions
- while playback takes place). It is available at many ftp
- sites, one of which is wuarchive.wustl.edu (in
- mirrors/msdos/sound). The latest version is 2.19b.
-
- 5.4 MODOBJ
- -----------
-
- MODOBJ is a .OBJ file that allows you to play Modules within
- your own software. It is also written by Mark J. Cox, and
- may be obtained via anonymous ftp on ftp.brad.ac.uk, in
- directory /misc/msdos/mp. Mr. Cox's email address is
- m.j.h.cox@bradford.ac.uk. ModEdit uses a special version of
- MODOBJ.
-
-
-
-
-
-
-
-
-
-
-
-
-
- ==============
- 6. THE FUTURE
- ==============
-
- ModEdit 3.0 is, of course, the third major incarnation of my
- ModEdit software. It is, I believe, the first MOD editor to
- use a more natural piano-roll style interface for entering
- notes. It has evolved significantly since version 1 was
- released long ago.
-
- ModEdit 3.0 will probably be the last major release of
- ModEdit. I unfortunately do not have as much time to work on
- it as I used to. I still may make minor enhancements to the
- program such as:
-
- - Real time recording from MIDI devices
- - Printout of a MOD
-
- With enough support from users, though, I may be persuaded to
- make other enhancements to the program. Let me know. Once
- again, my address for registration and other inquiries or
- comments is:
-
- Norman Lin
- P.O. Box 2724
- Norman, OK 73070-2724
- U.S.A.
-
- Internet email addresses:
-
- PREFERRED: norlin@mailhost.ecn.uoknor.edu
- ALTERNATE: nlin@alliant.backbone.uoknor.edu
- narc@obelisk.okc.ok.us
- narc@obelisk.pillar.com
- narc@wuntvor.norman.ok.us
- narc@wuntvor.pillar.com
-
-