mTooth User's Guide
Contents:
- Overview
- Displays
- Band Tool
- MIDI Import Options
- Tips
- Files
- Known Problems
- Version History
- Contact and Credits
mTooth plays music written in the text format needed by bards in the
Clan Lord game. It can also
transcribe MIDI 0 files to that format, and it can
partially convert MIDI 1 files. mTooth runs in OS X only.
Key Features:
- Plays Clan Lord-format music
- Exports to Clan Lord macros and sheet music
- MIDI import:
- Quantizes notes to the nearest sixteenth note
- Slows tempo when possible to accommodate notes longer than half notes
- Adjusts note lengths when possible to keep tempo in allowed range
- Interprets triplets and adjusts tempo to support them
- Scales volume to peak at 10 (Clan Lord's notation for 100%)
- Saves as commented text, or formatted for Clan Lord macros and sheet music
- Includes measure markers, key and time signatures, lyrics, and other comments
- Combines MIDI channels, splits them, or ignores all but one channel
Usage:
- Write music that conforms to the Clan Lord requirements.
- Get the music into mTooth.
- If it's already in Clan Lord format, write it or paste it into an empty mTooth window.
- If you wrote in another format, get it into MIDI 0. Melody Assistant's "Export as MIDI 0"
command works well, although it does occasionally mess up. Then open
the MIDI file in mTooth.
- Edit it until you like it.
- If you're importing from MIDI, adjust the import options until
you're happy with the result. Click the tabs to see the effects
of your choices.
- Edit the text and play the song until it's in final form. If part of the Music
field is highlighted (selected), only the selected portion will be played.
- Use the Band Tool to play two or three songs at the same time as a duet or trio.
- Save your file in one of two formats:
- mTooth file: to be read by mTooth again. This is the default format. If you imported
your song from MIDI, mTooth will remember which MIDI file it was using so you can adjust
the import options more later.
- Text File With CL Formats: Available with "Export...". This is a plain text file with
the contents of the Music pane, plus the same music formatted for use in Clan Lord macros
and in writing the song to sheet music.
An mTooth window has two tabs, showing two different kinds of information
about your music.
- Info: If the song was imported from MIDI, this contains information
about the song and each MIDI channel in the file. Apply the current
import options to restore or refresh the information.
- Music: Clan Lord-format conversion of the MIDI file, using the
MIDI import options. The number comment at the start of each line is the
number of the first measure on that line.
At the bottom of the Music tab are the instrument selection, an area for messages,
a Play button, and a round button to show or hide the MIDI import options. The Play button
will play only the selected portion of the music. To play the whole song, make sure nothing
is selected. Click anywhere to stop the song.
If you imported your file from MIDI, the Music tab will also include several informative comments:
- Date: This is the date and time when the file was converted
by mTooth.
- Title, composer, and remarks: These are extracted from the MIDI
file. In Melody Assistant, you can set them by choosing "Comment, title,
composer..." from the File menu.
- Time signature: The time signature is listed at the top of the
song and whenever it changes.
- Key signature: The key signature, listed at the top of the song
and whenever it changes, is there just for information. Even if your
file says "key of G major," a plain F in the Music tab
is an F-natural, not an F-sharp. The one thing that the key signature does
control is that accidentals will be written as flats in a flat key, and as
sharps in a sharp key, C major, or A minor.
- Warnings and errors: If a note is too high or low for Clan Lord,
the tempo is too fast or slow, notes are interleaved in ways that can't be
expressed, or other errors occur, they'll be marked with comments in the
Music tab so you can find and fix them more easily.
The Band Tool, in the Window menu, lets you choose up to three songs from open
windows to play at the same time as a solo, duet, or trio. If part of a song is
selected in its window, only that part will be played. Each one can also be turned
on or off using the checkbox to the left of its name. Click anywhere to stop the music.
Each open file that was imported from MIDI has its own options to control how it is converted
and displayed. Click the round button in the lower right corner to show or hide the option panel.
Your option choices will be saved with your music file, so you can keep working on them later.
Click "Apply" to apply your option choices and re-display the converted music, reloading it from
the MIDI file first in case it's changed. Click "Defaults" to get rid of your choices and restore
the default options.
Transposition
Transpose the entire song up or down by this many half-steps. This may affect the
starting octave, and it might move notes into or out of the allowed range for the
instrument.
Octave shift
If the box is empty, mTooth will automatically mark the lowest
notes in your song as octave 0 (Clan Lord's "\" octave). If you're
splitting channels, the lowest note in each channel will be considered
separately. If there's an octave shift entered into the box, that will be applied
to every channel instead (including a shift of 0, which will make "\" apply to the
octave below middle C).
Volume shift
If the box is empty, mTooth will automatically shift the song so that
the loudest notes are volume 10. This is like turning up the volume on a
stereo, not spreading the dynamic range out. If your song contains volumes
5 and 3 (i.e., 50% and 30% of the possible maximum MIDI volumes), they will
become volumes 10 and 8 after automatic adjustment. If there's a volume
shift entered into the box, that will be used instead (including a shift of
0, which will leave the volumes as they are in your MIDI file).
Measures per line
How many measures will be written on each line of the "Music" pane. Each line will start with a
measure number. If a note or rest starts in the previous measure and extends
into the first measure of a line,
it'll be included on the previous line instead.
MIDI channels
MIDI files sometimes contain music on multiple "channels," numbered from 1 to 16. Depending on what
produced the MIDI file, different channels might contain different staves or different instruments. mTooth
offers three choices:
- Combine all the MIDI channels into one music line. If you put your melody and chord lines onto
different staves, which can help Melody Assistant export MIDI right, choose this to merge them again.
- Split each MIDI channel into its own music line. If you're writing a duet or trio, with each
instrument on a separate staff, use this to produce lines for each of them.
- Read only one channel, ignoring all the others. If you know which channel you want (maybe from
the Info display for the file), and you don't want anything else, choose this option and fill in
the channel number you want.
Melody channel
If you know your melody is contained (or mostly contained) on one MIDI channel, you can enter it into
this box to tell mTooth to pick melody notes from that channel when it can.
Look for triplets
Normally, mTooth will look for notes that might be triplets (3:2-length notes). If your MIDI file
came from something like Melody Assistant, triplets should be easy to tell from other notes, and it won't
be a problem. If you played the MIDI file by hand, the note lengths might not be exactly right, and
mTooth may find triplets where they're not supposed to be. To tell mTooth that your music doesn't have
any triplets, so it matches every note to the nearest 16th-note length, clear this checkbox.
Use /b# for /+c
Clan Lord allows three octaves, in the key of C. So, the highest note normally available
is a B in the highest of the three octaves, /b. Certain instruments also allow one note beyond that, as long
as you call it /b# instead of /+c. To tell mTooth not to use /b#, clear this checkbox.
Include lyrics, etc.
MIDI files can include lots of text for the lyrics, song title, copyright, instrument names, and so on.
mTooth adds any text from the MIDI file into the music text as comments. When there's a lot
of extra text, though, especially when there are lyrics included separately with each note, that can get
very cluttered. To tell mTooth to ignore the text, clear this checkbox.
Never change tempo
Normally, mTooth will automatically adjust the tempo notation and note lengths when it needs to, keeping
the real note durations very nearly the same.
If your music contains notes that are too long (more than 9 sixteenth notes long, which is a half note
tied to a sixteenth note), mTooth will slow the tempo and shorten the note, if it can do that evenly
without changing the real duration. Similarly, if your tempo is slower than 60 bpm or faster than 180 bpm,
mTooth will try to adjust both the tempo and the note lengths to keep the tempo in the allowed range.
Clearing this checkbox will disable both those. mTooth will also adjust the tempo to allow triplets.
This checkbox does not affect that. Use the "Look for triplets" option instead.
mTooth and Clan Lord
- To make your whole song use the maximum volume (10), use 10 for the shift amount.
- mTooth doesn't know about the "long chord" notation allowed by the bagpipes or conch.
It won't produce them when converting from MIDI, and it won't play them in the music.
- Some combinations of note lengths can't be expressed in Clan Lord format.
The "chord" line can only change when the "melody" line does. For example,
Tune Helper doesn't allow two interleaved half notes, starting a quarter
note apart. If your music has combinations like that, mTooth will report the
problem and do its best to convert them, but the result won't be what you
started with. To fix it, rewrite the bad measures (maybe split the first
half note into two quarter notes).
- If two notes with the same pitch but different lengths are both playing in the chord line,
when the shorter one ends Clan Lord will stop playing the longer one too. Trading
the duplicated note with one in the melody line will fix the problem.
- mTooth often makes /parts a little shorter than Clan Lord allows. If you're
just a few notes into your 6th part, you can probably adjust the breaks and fit it all in.
mTooth and Melody Assistant
mTooth was mainly tested with MIDI files produced by Melody Assistant. A few simple things can help
Melody Assistant produce correct MIDI files that mTooth can interpret.
- Keep an eye on the "play selected range" option in Melody Assistant. If you're only
getting a few notes in mTooth, it might be turned on when you don't want it.
- On the other hand,
if your Melody Assistant file has lots of staves and you only want to convert a few of them,
you can use either "play selected range" or the speaker-icon "(de)activate staff" buttons to choose
the ones that Melody Assistant exports to MIDI.
- Melody Assistant, at least through version 6.4.1 for Mac, sometimes makes errors in MIDI
export. It seems to have problems when notes that start at the same time, on the same staff,
have different lengths. If you export a Melody Assistant file to MIDI, then re-import it into
Melody Assistant and don't get the same thing back, you know the error is in Melody Assistant,
not in mTooth. One solution is to put the notes on different staves, with different instruments.
- To make Melody Assistant export different staves on different channels,
assign different instrument names to them. They can even refer to the same
instrument sound, as long as they have different names. You can then split
the channels (see Options) to make a duet or trio.
MIDI Import
- Notes marked as staccato usually don't match sixteenth
notes well. To get the closest match, mTooth might treat them as triplets.
Telling mTooth not to look for triplets will make staccato notes less
accurate.
- If mTooth complains about interleaved notes when there aren't any, try
exporting your melody and chord lines on separate channels (see below), then
recombining them in mTooth.
- MIDI doesn't have any support for loops, but you can fake it by
adding the Clan Lord loop notation by
hand. Or you can let the song be converted with the loops stretched
out, as long as it fits into few enough /parts.
- To keep chord sizes small, mTooth tries to pick short notes for the
melody. When there's more than one note with the same length, it
uses the one on the melody channel. If you don't tell it which MIDI
channel has the melody, it will look for the loudest note, then the one
closest in pitch to the last melody note it used. Which note is used as
the melody won't affect how the song sounds anyway.
- Changing the volume (velocity) in the middle of a note confuses mTooth. A crescendo or
decrescendo will do this, and so will Melody Assistant's velocity curves. Change a note's
velocity with accent marks instead, or use the staff settings (ff, mp, etc.).
MIDI 1
Finally, if you're converting a MIDI 1 file, here's what you can expect.
- MIDI 1 puts each instrument (i.e., each MIDI channel) in the file
one after the other, in separate "tracks". mTooth can't recombine the
instruments, but it will process each track separately, giving you the
notes. It may not be easy to recombine the instruments by hand, but it
should be better than trying to transcribe the whole thing by ear!
- Only the first tempo, key signature, and time signature in the file will be marked.
If your song changes time signatures in the middle, mTooth will get the measure breaks wrong.
If it changes tempos, mTooth won't notice.
By default, mTooth saves its own files, holding what's in the Music tab plus information about the
MIDI file and options. In a pinch, you can read mTooth files in a text editor.
You can also export to a "Text File With CL Formats" file, which produces
a plain text file with the music in regular, Clan Lord macro, and Clan Lord sheet-music notation.
mTooth reads MIDI 0 files pretty well, and MIDI 1 files partially.
MIDI file names usually end in .mid or .midi. If you change
your MIDI file in another program, you can re-convert it by clicking the
"Apply" button. You shouldn't need to close and re-open it in mTooth.
If you have an mTooth file that was originally imported from MIDI, you can continue
to work with the MIDI information as long as the MIDI file hasn't moved. If
mTooth can't find the original MIDI file anymore, you can still edit your music,
but you won't be able to re-convert it.
Sometimes the OS saves stale file information, so if
your MIDI-file changes aren't taking effect in mTooth, close the file and
reopen it.
- mTooth only partially handles MIDI 1. See Tips.
- When a song has triplets and mTooth can't adjust the tempo to allow them,
usually because it would have to be faster than 180 bpm, it sometimes gets
the measure counts wrong.
- The Open Recent menu listed saved .tune files instead of opened .mid ones, so it was taken out.
- The program has only been tested with MIDI files from Melody Assistant.
- Saved document icons aren't always set properly.
- mTooth doesn't know about the "long chord" notation allowed by the bagpipes and conch.
- Chords are sometimes split unnecessarily, when a chord note with a different volume or
duration comes in the middle. For example, =[%6d]2[%9f#][%6\a]2=c4 could be
written =[%6d\a]2[%9=f#]c4 to save a few characters.
- When chords are split in this way, the MIDI import will report the largest chord's size, not
necessarily the largest number of notes that would be playing at once.
v1.1.3 - June 30, 2005
- New features
- Registered mTooth's creator code, 'M2th', with Apple. Maybe I'm the only one excited by that.
- Bugs fixed
- Chords that end immediately before the end of a loop or loop ending, with no melody
note following, play properly
- Plain '@' and '%' right before the end of a loop or loop ending work right
- Nested loops with multiple endings play correctly
- Orga drum can play /b#
- Loop end marks inside comments give the right error message
v1.1b - June 14, 2005
- New features
- Band Tool plays duets and trios
- Bugs fixed
- Conch uses correct octaves
v1.0b - June 3, 2005
- New features
- mTooth plays music now!
- Reorganized the interface
- Adopted mTooth file format
- Reinstated the Open Recent menu now that mTooth uses its own file format
- Removed support for CLTH (Clan Lord Tune Helper) format,
since that program is no longer available
v0.5b - May 17, 2004
- New features
- Partial support for MIDI 1 files
- Optional assignment of a particular MIDI channel to the melody
- More intelligent choice of which note to call the melody
- Simpler interface for octave and volume adjustment
- Text for CL pane doesn't put tempo and volume at the start of each /part anymore, now that it's not needed
- Default measures per line changed from 4 to 1
- Unneeded "Intro rests" option removed
- Bugs fixed
- Info pane shows correct key signature
v0.4b - April 7, 2004
- New features
- Apply separate octave shifts when splitting channels
- Use flats instead of sharps in a flat key
- Show date and time in comments
- Recognize .MID as well as .mid
- Bugs fixed
- Include rests at the beginning of the song
- Mark measure <1> properly when a song starts with a rest
- Handle long rests properly
- Add the right number of melody rests to make chords play in some odd cases
- Don't output CL Text that's too long when a song has lots of accidentals
v0.3b - March 2, 2004 - First public beta release
mTooth was written by the human who plays Baraboo in the Clan Lord game. You can reach me
at BarabooCL, as long as you send the email to comcast dot net. (/curse spammers)
mTooth is © 2004-2005 "Baraboo".
Thanks to
- Poesy, for icons, testing and suggestions
- Wheatstone, for suggestions
- Delta Tao Software, for Clan Lord
- An anonymous website author, for
an excellent dissection of MIDI files and
specs
- Michel Pollet, for Clan Lord Tune Helper
- Coriakin, for links to Tune Helper information
- Myriad Software, for
Melody Assistant
- Aaron Hillegass, for
Cocoa Programming for Mac OS X
- Apple Computer, for Cocoa documentation,
Technical Q&As, and Interface Builder
- Google, for reasonably convenient access to many pages
of documentation and examples