MAN page from Fedora 3 timidity++-2.13.0-3.i386.rpm
Section: User Commands (1)
Updated: March 25 2004Index
TiMidity++ - MIDI-to-WAVE converter and player
[options] filename [...]
is a converter that converts some of MIDI files(supported formats: Standard MIDI files (*.mid), Recomposer files(*.rcp, *.r36, *.g18, *.g36) and Module files (*.mod)) into formattedaudio files (e.g. RIFF WAVE). TiMidity++
uses GravisUltrasound-compatible patch files or Soundfonts (*.sfx, *.sf2) togenerate digital audio data from MIDI files. The digital audio datagenerated by TiMidity++
can be stored in a file for processing,or played in real time through an audio device.
In real time playing, TiMidity++
can show the lyrics containedin KAR or WRD files.
You can use the following expressions as the filename
- Read a MIDI file from standard input.
- Read a MIDI file from the specified path on a filesystem.
- Read and play all MIDI files in the specified directory. Forexample,
% timidity some/where/
plays all files in the directory some/where/.
- Archive File
- Extract and play the file(s) in the archive. If you want to specify acertain MIDI file in the archive, append #<MIDI-filename> tothe archive name. The expression after `#' can use regularexpressions (case insensitive).
You can use escape sequence \xHH, where `HH' is a ASCII numberin hexadecimal integer.
- % timidity file.zip#file.mid
- Plays file.mid in file.zip
- % timidity file.lzh#*.mid
- Plays any files that match the regular expression *.mid infile.lzh
- % timidity file.tgz#*
- This expression is the same as file.tgz
Since these mechanism are contained in TiMidity++ itself, youcan use this syntax even in the MS Windows environment.
TiMidity++ can handle the following archive formats:
- tar (*.tar)
- tar+gzip (*.tar.gz, *.tgz)
- zip (*.zip)
- lzh (*.lzh, *.lha)
- (lh0, lh1, lh2, lh3, lh4, lh5, lh6, lz4, lzs and lz5 are available)
Other archives can be expanded if expander command is specified on thecompile phase. TiMidity++ will pipe that command.
- Play the MIDI file in the specified article on the news server. If anewsgroup is specified TiMidity++ plays all MIDI files found inany article posted to that newsgroup.
TiMidity++ parses MIME Multi-part messages in case ofnews://* scheme, extracts MIDI file that was post to that group,or in case of normal file, you can explicitly handle MIME documents bynaming that file with *.mime extension, or prefix that file withmime:
The following MIME-types are allowed:
- uu-encoded file
- base64 encoded
- Content-Transfer-Encoding: base64
- Content-Transfer-Encoding: quoted-string
- Mac BinHex format
- only HQX format is available
- Play the file specified in the URL.
- % timidity http://www.goice.co.jp/member/mo/dist/midi/impromptu.mid
- plays the specified MIDI-file directly from the network.
If these expression are used in the *.cfg files, you can even usepatch-files (and others) from remote machines.
can handle the following file formats:
- .mid, .rmi (Format 0, 1, 2)
- Standard MIDI File
- .rcp, .r36, .g18, .g36 (Recomposer formats)
- Recomposer format which is product for COME ON MUSIC co.
- .mfi (MFi Version 3 - Melody Format for i-Mode)
- i-Mode is Japanese local mobile phone
- .kar (Karaoke format)
- Displays the lyrics as a Lyric Meta Event message.
- .mod, mod.* (Module file)
- .wrd (WRD format)
The following command line options are accepted by TiMidity++
- -A [n][,m](a)
- --amplification n
- --drumpower m
- Multiplies the master volume by n%. Default value is 70%.Higher amplification makes louder sounds. You can specify the drumpower, ratio of drum volume from the other channels. The allowedvalues of amplification range from 0 (no sound) to 800.
Optionally to put `a' character along with -a option, or to use--volume-compensation, instructs TiMidity++ toregularize the volume. You can easily gain dynamic range.
- volume 90%, drum power 100%, compensation is off
- volume 70%, drum power 120%, compensation is off
- volume 90%, drum power 120%, compensation is off
- volume 70%, drum power 100%, compensation is on
- volume 90%, drum power 100%, compensation is on
- volume 70%, drum power 120%, compensation is on
- volume 90%, drum power 120%, compensation is on
- -a, --[no-]anti-alias
- Turns on antialiasing. Samples are run through a lowpass filterbefore playing, which reduces aliasing noise at low resamplingfrequencies.
- -B, --buffer-fragments n,m
- For the Linux/FreeBSD/OSS/ALSA/Windows sound driver, selects thenumber of buffer fragments in interactive mode. Increasing the numberof fragments may reduce choppiness when many processes are running.It will make TiMidity++ seem to respond sluggishly to fastforward, rewind, and volume controls, and it will throw the statusdisplay off sync. Specify a fragments number of 0 to use the maximumnumber of fragments available.
- -C, --control-ratio n
- Sets the ratio of sampling and control frequencies. This determineshow often envelopes are recalculated -- small ratios yield betterquality but use more CPU time.
- -c, --config-file file
- Reads an extra configuration file.
- -D, --drum-channel n
- Marks channel as a drum channel. If channel is negative, channel-n is marked as an instrumental channel. If n is0, all channels are marked as instrumental.
- -d, --interface-path dir
- Specifies the directory containing installed dynamic-link interfacemodules.
- -E, --ext mode
- Set TiMidity++ extend modes. The following modes are available(capitalized switch means disable this feature):
- w/W, --[no-]mod-wheel
- Enable/disable modulation controlling.
- p/P, --[no-]portamento
- Enable/disable portamento controlling.
- v/V, --[no-]vibrato
- Enable/disable NRPM vibration.
- s/S, --[no-]ch-pressure
- Enable/disable channel pressure controlling.
- e/E, --[no-]mod-envelope
- Enable/disable modulation envelope controlling.
- t/T, --[no-]trace-text-meta
- Enable/disable tracing all Text Meta Events.
- o/O, --[no-]overlap-voice
- Accept/reject pronouncing multiple same notes.
- z/Z, --[no-]temper-control
- Enable/disable MIDI Tuning Standard temperament controlling.
- m, --default-mid HH
- Sets the manufacturer ID to HH (where HH are twohex-digits).
HH values of GS/gs, XG/xg or GM/gm areunderstood as 41, 43 and 7e respectively.
- M, --system-mid HH
- Sets the system manufacturer ID to HH (where HH are twohex-digits).
In this option, the manufacuture ID is set unchangable. ManufacutureID from the input file would be ignored.
- b, --default-bank n
- Use tone bank n as the default.
- B, --force-bank n
- Sets the bank number of all channels to n.
- i, --default-program n[/m]
- Use the program number as the default instrument. Any Program Changeevents in MIDI files will override this option.
If n is followed by /m the default program number of thechannel m is specified by n.
- I, --force-program n[/m]
- Similar to -Ei but this ignores all program changes.
- F args
- For effects. See below. In args option, you can specifyfollowing effect options:
- delay=, --delay (d|l|r|b)[,msec]
- Sets delay type.
- d, 0
- Disabled delay effect.
- l, 1
- Left delay.
- r, 2
- Right delay.
- b, 3
- Swap left & right.
Optional msec is the delay time.
- chorus=, --chorus (d|n|s)[,level]
- d, 0
- Disable this effect.
- n, 1
- Enable MIDI chorus effect control.
- s, 2
- Surround sound, chorus detuned to a lesser degree (default).
The optional parameter level specifies the chorus level 0to 127.
- reverb=, --reverb (d|n|g|f|G)[,level]
- d, 0
- Disable MIDI reverb effect control.
- n, 1
- Enable MIDI reverb effect control. This effect is only available instereo.
- g, 2
- Global reverb effect.
- f, 3
- Freeverb MIDI reverb effect control (default).
- G, 4
- Global freeverb effect.
The optional parameter level specifies the reverb level 0to 127.
- vlpf=, --voice-lpf (d|c|m)
- d, 0
- Disable LPF effect.
- c, 1
- Chamberlin resonant LPF (12dB/oct) (default).
- m, 2
- Moog resonant low-pass VCF (24dB/oct)
- ns=, --noise-shaping n
- Enable the n th degree noiseshaping filter. The distortion atdecay stage is improved, but the noise on human auditory feelingincreases because it shifts to a high frequency. In case of 8-bitlinear encoding, valid values of n are in the interval from0 (min) to 4 (max). Default value is 4. In case of16-bit linear encoding, valid values of n are in the interval from0 to 4. According to the value, it works as following.Default value is 4.
- No noise shaping.
- Traditional noise shaping.
- Overdrive-like soft-clipping + new noise shaping.
- Tube-amplifier-like soft-clipping + new noise shaping.
- New noise shaping.
- resamp=, --resample (d|l|c|L|n|g)
- d, 0
- No interpolation.
- l, 1
- Linear interpolation.
- c, 2
- Cubic spline interpolation.
- L, 3
- Lagrange method.
- n, 4
- Newton polynomial interpolation.
- g, 5
- Modified Gauss effect (default).
This option affects the behavior of -N option.
- -e, --evil
- Make TiMidity++ evil. For the Win32 version, this increases thetask priority by one. It can give better playback when you switchtasks at the expense of slowing all other tasks down.
- -F, --[no-]fast-panning
- Turns on fast panning to accommodate MIDI pieces that expect panningadjustments to affect notes that are already playing. Some files thatdon't expect this have a habit of flipping balance rapidly betweenleft and right, which can cause severe popping when the -F flagis used.
In the current version of TiMidity++ this option is a toggle.
- -f, --[no-]fast-decay
- Toggles fast envelopes. This option makes TiMidity++ faster butthe release time of the notes are shortened.
- -g, --spectrogram sec
- Open the Sound-Spectrogram window. This option is activated if thesystem has support for the X Window System.
- -H, --force-keysig n
- Specify the number of key signature. MIDI file is performed withtransposition to the key of the number of sharp (when n ispositive) or flat (when n is negative). Valid values of nare in the interval from -7 to 7. For example, if nis 1, MIDI file with any tonality will be performed transposingto 1 flat (i.e., F major or D minor). Therefore, it isconvenient to use for the accompaniment when practicing a musicalinstrument by the tonality which is easy to perform.
- -h, --help
- Show the help message.
- -i, --interface mode
- --realtime-priority n
- --sequencer-ports n
- Selects the user interfaces from the compiled-in alternatives.mode must be begun with one of the supported interfaceidentifiers. Run TiMidity++ with the -h option to see alist.
For ALSA sequencer interface, optionally to use--realtime-priority, set the realtime priority by n,and to use --sequencer-ports, set the number of openedsequencer ports. Default value is 4.
The following identifiers may be available:
- dumb interface
- ncurses interface
- S-Lang interface
- X Athena Widget interface
- Tcl/Tk interface
- Motif interface
- vt100 interface
- Emacs interface
(use ``M-x timidity'' in Emacs)
- skin interface
Environment variable TIMIDITY_SKIN must be set to the path ofthe skin data (compressed data are also supported).
- GTK+ interface
- Launch TiMidity++ as MIDI server.
- Launch TiMidity++ as ALSA sequencer client.
- Windodws synthesizer interface
- Windodws GUI interface
- PortMIDI synthesizer interface
- UMP interface
- Interface options
- Option characters may be added immediately after the interfaceidentifier. The following options are recognized:
- v, --verbose=n
- Increases verbosity level. This option is cumulative.
- q, --quiet=n
- Decreases verbosity level. This option is cumulative.
- t, --[no-]trace
- Toggles trace mode. In trace mode, TiMidity++ attempts todisplay its current state in real time. For the Linux sound driver,this is accomplished through the use of short DMA buffer fragments,which can be tuned via the -B option.
- l, --[no-]loop
- Loop playing (some interfaces ignore this option)
- r, --[no-]random
- Randomize file list arguments before playing
- s, --[no-]sort
- Sort file list arguments before playing
- D, --[no-]background
- Daemonize TiMidity++ in background (for alsaseq only)
- -j, --[no-]realtime-load
- Enable the loading of patch files during play.
- -K, --adjust-key n
- Adjusts key (i.e., transposes the song) by n half tones. Rangesfrom -24 to 24.
- -k, --voice-queue msec
- Specify audio queue time limit to reduce voices. If the remainingaudio buffer is less than msec milliseconds, TiMidity++tries to kill some voices. This feature makes it possible to playcomplicated MIDI files on slow CPUs. Setting msec to zero tellsTiMidity++ to never remove any voices.
- -L, --patch-path path
- Adds path to the library path. Patch, configuration, and MIDIfiles are searched along this path. Directories added last will besearched first. Note that the current directory is always searchedfirst before the library path.
- -M, --pcm-file name
- TiMidity++ can play a PCM file instead of a MIDI file. If``auto'' is specified, TiMidity++ tries to open foo.mid.wav orfoo.mid.aiff when playing foo.mid. If ``none'' is specified, thisfeature is disabled. Otherwise just plays name.
- -m, --decay-time msec
- Modify envelope volume decay time. msec is the minimum numberof milliseconds to sustain a sustained note.
- Disable sustain ramping, causes constant volume sustains (default).
- Effectively behaves as if all sustains are ignored, volume ramping isthe same as normal stage 3.
- A note at full volume will decay for 3 seconds once it begins tobe sustained (assuming the regular stage 3 rate would not cause it todecay even longer). Softer notes will of course die sooner.
- -N, --interpolation n
- Sets interpolation parameter. This option depends on the-EFresamp option's value.
- cspline, lagrange
- Toggles 4-point linear interpolation (default is on).
- n point interpolation using Newton polynomials. n must bean odd number from 1 to 57.
- n+1 point modified Gauss interpolation. Ranges 0(disable) to 34 (max), default to 25.
In either way, linear interpolation is used if audio queue < 99%.
- -O, --output-mode mode
- Selects the output mode from the compiled-in alternatives.mode must begin with one of the supported output modeidentifiers. Run TiMidity++ with the -h option to seethe list. The following identifiers are available in all versions:
- Outputs via audio device (default)
- Output to ALSA
- Generate raw waveform data. All format options are supported. Commonformats include:
- 16-bit signed linear PCM
- 8-bit unsigned linear PCM
- Generate Sun Audio (au) data
- Generate AIFF data
- Generate RIFF WAVE format output. If output is directed to anon-seekable file, or if TiMidity++ is interrupted beforeclosing the file, the file header will contain 0xffffffff in the RIFFand data block length fields. The popular sound conversion utilitysox is able to read such malformed files, so you can pipe datadirectly to sox for on-the-fly conversion to other formats.
- List MIDI events
- MOD -> MIDI conversion
- ogg vorbis
- Format options
- Option characters may be added immediately after the mode identifierto change the output format. The following options are recognized:
- S, --output-stereo
- M, --output-mono
- s, --output-signed
- Signed output
- u, --output-unsigned
- Unsigned output
- 1, --output-16bit
- 16-bit sample width
- 2, --output-24bit
- 24-bit sample width
- 8, --output-8bit
- 8-bit sample width
- l, --output-linear
- Linear encoding
- U, --output-ulaw
- u-Law (8-bit) encoding
- A, --output-alaw
- A-Law encoding
- x, --[no-]output-swab
- Byte-swapped output
Note that some options have no effect on some modes. For example, youcannot generate a byte-swapped RIFF WAVE file, or force uLaw outputon a Linux PCM device.
- -o, --output-file file
- Place output on file, which may be a file, device, or HP-UXaudio server, depending on the output mode selected with the -Ooption. The special filename `-' causes output to be placed onstdout.
- -P, --patch-file file
- Use patch file for all programs.
- -p [n](a)
- --polyphony n
- Sets polyphony (maximum number of simultaneous voices) to n.
Optionally to put `a' character along with -p option, or to use--polyphony-reduction, instructs TiMidity++ to enableautomatic polyphony reduction algorithm.
- -Q n[,...](t)
- --mute n[,...]
- --temper-mute n[,...]
- Cause channel n to be quiet. n can carry out packagespecification by `,'. If n is 0, all channels are turnedoff. Continuously, specifying -n, channel n is turnedback on.
On the other hand, to put `t' character after -Q option or touse --temper-mute describes temperament mute. This muteschannels of specific temperament type n. For presettemperament, n can range 0 to 3. For user-definedtemperament, n can range 4 to 7.
- -q, --audio-buffer sec/n
- Specify audio buffer in seconds. sec maximum size of buffer,n percentage filled at the beginning (default is 5.0/100)(size of 100% equals the whole device buffer size).
- -R msec
- Enables Pseudo Reverb Mode. It sets every instrument's release tomsec ms. If msec is 0, msec is set to800 (default).
- -S, --cache-size n
- Sets the re-sample cache size to n bytes. If n equals0 any sample caches are disabled. The default value ofn is 2097152 (2MB).
- -s, --sampling-freq freq
- Sets the resampling frequency (Hz or kHz). Not all sound devices arecapable of all frequencies -- an approximate frequency may beselected, depending on the implementation.
- -T, --adjust-tempo n
- Adjust tempo to n%; 120 play MOD files with an NTSCAmiga's timing.
- -t, --output-charset code
- Sets output coding of Japanese text. Possible values of codeare:
- determined by the LANG environment variable.
- Translates non-ASCII code to period.
- No conversion.
- Convert from windows-1251 to koi8-r.
- Outputs EUC (Japan) coding.
- Outputs JIS coding.
- Outputs SJIS coding.
- -U, --[no-]unload-instruments
- Unload all instruments from memory between MIDI files. This canreduce memory requirements when playing many files in succession.
- -V, --volume-curve power
- Set the power of volume curve. The total amplification becomesvolume^power. 0 (default) uses the regular tables. Anynon-zero value causes all midi to use the new user definedvelocity/volume/expression curve (linear: 1, ideal:~1.661, GS: ~2).
- -v, --version
- Show the version string
- -W, --wrd mode
- Play WRD file.
Allowed values of mode are:
- X Window System mode
- Windows console mode
- TTY mode
- Dumb mode (outputs WRD events directory)
- do not trace WRD
- Sets WRD options:
- Sets the WRD options. an is the name of option and bn isthe value.
- Emulates timing (@WAIT, @WMODE) bugs of the original MIMPI player.The emulation levels are:
- do not emulate any bugs of MIMPI
- only emulate some bugs (default)
- emulate all known bugs
- Use file as WRD file only no file matching *.wrd is found.
- Uses file as WRD file.
WRD mode must also use trace mode (option -i?t) orthe timing of the WRD events will be terrible.
- -w, --rcpcv-dll mode
- Extended mode for MS Windows. The following options are available:
- -w r
- Use rcpcv.dll to play RCP/R36 files.
- -w R
- Do not use rcpcv.dll (default).
- -x --config-string str
- Configure TiMidity++ with str. The format of str isthe same as timidity.cfg.
-x'bank 0\n0 violin.pat'
Sets the instrument number 0 to violin.
Character `\' (Ascii 0x5c) in the str is treated as escapecharacter like in C literals. For example \n is treated ascarriage return.
- -Z, --freq-table file
- Cause the table of frequencies to be read from file. This isuseful to define a tuning different from 12-equal temperament. If``pure'' is specified, TiMidity++ plays in trial pure intonation.
- -Zpure, --pure-intonation [n(m)]
- Play in trial pure intonation by Key Signature meta-event in the MIDIfile. You can specify the initial keysig by hand, in case the MIDIfile does not contains the meta-event. Optionally, n is thenumber of key signature. In case of sharp, n is positive. Incase of flat, n is negative. Valid values of n are in theinterval from -7 to 7. In case of minor mode, you shouldput `a' character along with -Zpure option.
- Simulate behavior of specific synthesizer module as much as possible.For the moment, the value of n defined is as follows:
- TiMidity++ Default
- Roland SC-55
- Roland SC-88
- Roland SC-88Pro
- Roland SC-8850
- Reserved for GS family
- YAMAHA MU-50
- YAMAHA MU-80
- YAMAHA MU-90
- YAMAHA MU-100
- Reserved for XG family
- SoundBlaster Live!
- SoundBlaster Audigy
- Reserved for other synthesizer modules
- TiMidity++ Special 1
- Reserved for TiMidity++ specification purposes
- TiMidity++ Debug
Copyright (C) 1999-2004 Masanao Izumo <izAATTonicos.co.jp>
Copyright (C) 1995 Tuukka Toivonen <ttAATTcgs.fi>
The original version was developed by Tuukka Toivonen <ttAATTcgs.fi>until the release of TiMidity-0.2i. His development was discontinuedbecause of his being busy with work.
This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License aspublished by the Free Software Foundation; either version 2 of theLicense, or (at your option) any later version.
This program is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details.
You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307USA
The latest release is available on the TiMidity++
Eats more CPU time than a small CPU-time-eating animal.
This man page was translated from Japanese to English by me withpoor English skill :-)
- Version 0.2i and earlier:
- Tuukka Toivonen <ttAATTcgs.fi>
Vincent Pagel <pagelAATTloria.fr>
Takashi Iwai <tiwaiAATTsuse.de>
Davide Moretti <daveAATTrimini.com>
Chi Ming HUNG <cmhungAATTinsti.physics.sunysb.edu>
Riccardo Facchetti <riccardoAATTcdc8g5.cdc.polimi.it>
- IZUMO Masanao <izAATTonicos.co.jp>
HARADA Tomokazu <haradaAATTprince.pe.u-tokyo.ac.jp>
YAMATE Keiichirou <keiich-yAATTis.aist-nara.ac.jp>
KIRYU Masaki <mkiryuAATTusa.net>
AOKI Daisuke <daiAATTy7.net>
MATSUMOTO Shoji <shomAATTi.h.kyoto-u.ac.jp>
KOYANAGI Masaaki <koyanagiAATTokilab.oki.co.jp>
IMAI Kunihiko <imaiAATTleo.ec.t.kanazawa-u.ac.jp>
NOGAMI Takaya <t-nogamiAATThappy.email.ne.jp>
WATANABE Takanori <takawataAATTshidahara1.planet.kobe-u.ac.jp>
TAKEKAWA Hiroshi <sianAATTbig.or.jp>
NAGANO Daisuke <breeze.naganoAATTnifty.ne.jp>
KINOSHITA kosuke <kinoAATTkrhm.jvc-victor.co.jp>
SHIGEMURA Norikatsu <norkAATTninth-nine.com>
YAMAHATA Isaku <yamahataAATTkusm.kyoto-u.ac.jp>
ARAI Yoshishige <ryo2AATTon.rim.or.jp>
Glenn Trigg <ggtAATTnetspace.net.au>
Tim Allen <thristianAATTusa.net>
Michael Haardt <michaelAATTmoria.de>
Eric A. Welsh <ewelshAATTccb.wustl.edu>
Paolo Bonzini <bonziniAATTgnu.org>
KIMOTO Masahiko <kimotoAATTohnolab.org>
IWAI Takashi <tiwaiAATTsuse.de>
SATO Kentaro <kentaroAATTps.catv.ne.jp>
TAMUKI Shoichi <tamukiAATTlinet.gr.jp>
URABE Shohei <rootAATTmput.dip.jp>
SUENAGA Keishi <s_keishiAATTmutt.freemail.ne.jp>
SUZUKI Koji <firstname.lastname@example.org>
(titles omitted and an order different)
and other many people sends information and bug-fix codes.
The English version of this man page was written by NAGANO Daisuke<breeze.naganoAATTnifty.ne.jp>.
Now, TAMUKI Shoichi <tamukiAATTlinet.gr.jp> and URABE Shohei<rootAATTmput.dip.jp> are maintaining.
If you have any comments or suggestions or complaints :) about thisman page, please tell us it.
- INPUT FILE
- SEE ALSO
This document was created byman2html,using the manual pages.