Manpages

Manpage of TiMidity++

TiMidity++

Section: User Commands (1)
Updated: Jan 06 1999
Index
Return to Main Contents
 

NAME

TiMidity++ - MIDI to WAV converter and player  

SYNOPSIS

timidity [-options] filename [filenames ...]  

DESCRIPTION

TiMidity++ is a converter that converts some of MIDI files ( formats : Standard MIDI file (*.MID), Recomposer files (*.RCP, *.R36, *.G18, *.G36) and Module file (*.mod) ) into formatted audio file (ex. RIFF WAVE ). TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts( *.sfx, *.sf2 ) to generate digital audio data from MIDI files. The digital audio data generated by TiMidity can be stored in a file for processing, or played in real time through an audio device.
In real time playing, TiMidity if able to show the lylic contained in KAR file or WRD file.

 

FILENAME

You can use the following expressions in filename fields to specify the location of the file:
-
Read a MIDI file from standard input.
/path/filename
Read a MIDI file on filesystems.
dir:directory

directory/
Read and play all MIDI files in specified directory.
Archive File
Extracts and play the file(s) in the archive. If you want to specify a certain MIDI file in the archive, describe the #<MIDI-filename> expression following to the archive name. The expressions after the # is allowed to use regular expressions (case insensitive).

For Examples:
timidity 'file.zip#file.mid'
Plays file.mid in file.zip
timidity 'file.lzh#*.mid'
Plays any files that match the regular expression '*.mid' in file.zip
timidity 'file.tgz#*'
This expression is same as
timidity 'file.tgz'

Since these mechanism are contained in TiMidity itself, you can use it even if on MS Windows environment.

TiMidity can handle the following archive format:

tar (*.tar)
tar + gzip (*.tar.gz, *.tgz)
zip (*.zip)
(lh0, lh1, lh2, lh3, lh4, lh5, lh6, lzs, lz5, lz4 are available)

news://news-server[:port]/Message-ID

news://news-server[:port]/newsgroup[/first-last]
Play the MIDI file in the specified article in news server. If newsgroup is specified TiMidity plays (all) articles contains MIDI files posted in the newsgroup.
In this case TiMidity recognize the MIME Multi-part message, and extract the articles contains MIDI files and play.
The following MIME-type are allowed:
uu-encoded file
"begin" is required
base64 encoded
"Content-Transfer-Encoding: base64" is required
quoted-string
"Content-Transfer-Encoding: quoted-string" is required
Mac BinHex format
only 'HQX' format is available

http://url

ftp://url
Play the file specified these URLs.

For example:

"timidity http://www.goice.co.jp/member/mo/dist/midi/impromptu.mid"


plays MIDI-file via network.

If these expression are applied to the *.cfg files, you can use patch-files or else on the remote machines.

 

INPUT FILE

Timidity can handle the following file formats:
.MID ( Format 0, 1, 2 )
Standard MIDI File
.RCP, .R36, .G18, .G36 ( formats of Recomposer (products of COME ON MUSIC co.) )
Windows version converts these with rcpcv.dll.
.KAR ( Karaoke format )
Displays lylics same as Lylic Meta Event message.
.MOD, MOD.* ( module file )
.WRD ( WRD format )

 

OPTIONS

The following command line optinos are accepted by TiMidity:

-A amplification
Multiplies the master volume by amplification %. Default value is 70%. The grater number of amplification makes louder sounds. Range of the amplification is from 0 to 800%.

-a
Turns on antialiasing. Samples are run through a lowpass filter before playing, which reduces aliasing noise at low resampling frequencies.

-B fragments[,buffer-bits]
For the Linux / FreeBSD / OSS / ALSA / Windows sound driver, selects the number of buffer fragments in interactive mode. Increasing the number of fragments may reduce choppiness when many processes are running. It will make TiMidity seem to respond sluggishly to fast forward, rewind, and volume controls, and it will throw the status display off sync. Specify a fragments of 0 to use the maximum number of fragments available.

-b mode
(obsoleted)

-C ratio

Sets the ratio of sampling and control frequencies. This determines how often envelopes are recalculated -- small ratios yield better quality but use more CPU time.

-c filename
Reads an extra configuration file.

-D channel
Marks channel as a drum channel. If channel is negative, channel -channel is marked as an instru- mental channel. If channel is 0, all channels are marked as instrumental.

-d dir
Specifies the directory contains installed dynamic-link interface modules.

-e
Make TiMidity evil. On Win32 version, this increases the task priority by one. It can give better playback when you switch tasks at the expense of slowing all other tasks down.

-E mode
Set TiMidity extend modes. The following modes are available (capitalized switch means disable this feature):
w/W
Enables/disables modulation controlling.
p/P
Enables/disables portamento controlling.
v/V
Enables/disables NRPM vibration.
r/R
Enables/disables reverb effect controlling.
c/C
Enables/disables chorus effect controlling.
c ratio
Sets the chorus effect value of all channels to ratio.
s/S
Enables/disables channel pressure controlling.
t/T
Enables/disables tracing all Text Meta Events.
o/O
Accepts/rejects pronouncing multiple same notes.
m HH
Sets the manufacture ID to HH ( HH is the two hex-digits ).
In addition if HH is GM/gm , GS/gs or XG/xg that are same as to 41 , 43 and 7e.
B bank
Sets the bank number of all channels to bank.

-F
Turns on fast panning to accommodate MIDI pieces that expect panning adjustments to affect notes that are already playing. Some files that don't expect this have a habit of flipping balance rapidly between left and right, which can cause severe popping when the -F flag is used.
In current versions of TiMidity this option are toggled.

-f
Toggles fast envelopes. This option makes TiMidity do fast but the release time of the notes are shorten.

-g sec
Open the Sound-Spectrogram window. This option is activated if the system has support for X Window System.

-h
Show this help message.

-I voice[/c]
Uses the program number as the default instrument. Any Program Change events in MIDI files will override this option.
If the voice followed by /c the default program number of the channel c is specified by the voice.

-i interface
Selects the user interfaces from the compiled-in alternatives. interface must be begun with one of the supported interface identifiers. Run TiMidity with the -h option to see a list. The following identifiers may be available:
-id
dumb interface
-in
ncurses interface
-is
slang interface
-ia
X Ahtena Widget interface
-ik
Tcl/Tk interface
-im
motif interface
-iT
vt100 interface
-ie
Emacs interface (press M-x timidity on Emacs)
-ii
skin interface
Environment variable TIMIDITY_SKIN must be specified with path of the skin data(compressed data are also available).
-ig
gtk interface
-ir
Launch timidity as MIDI server.
-iA
Launch timidity as ALSA sequencer client.
Interface options
Option characters may be added immediately after the interface identifier. The following options are recognized:

v
Increases verbosity level. This option is cumulative.
q
Decreases verbosity level. This option is cumulative.
t
Toggles trace mode. In trace mode, TiMidity attempts to display 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
Loop playing (some interface ignore this option)
r
Randomize file list arguments before playing
s
Sorting file list arguments before playing

-j
This option enables to load the patch file while playing.

-L directory
Adds directory to the library path. Patch, configuration, and MIDI files are searched along this path. Directories added last will be searched first. Note that the current directory is always searched first before the library path.

-n degree
Enables Noise Shaping Filter. degree is from 0(min) to 4(max).

-O mode
Selects the output mode from the compiled-in alternatives. mode must begin with one of the supported output mode identifiers. Run TiMidity with the -h option to see a list. The following identifiers should be available in all versions:
-Od
Outputs via audio device (default)
-Or
Generate raw waveform data. All format options are supported. Common formats include:
-OrU
uLaw
-Or1sl
16-bit signed linear PCM
-Or8ul
8-bit unsigned linear PCM
-Ou
Generate Sun Audio (au) file
-Oa
Genetate AIFF file
-Ow
Generate RIFF WAVE format output. If output is directed to a non-seekable file, or if TiMidity is interrupted before closing the file, the file header will contain 0xFFFFFFFF in the RIFF and data block length fields. The popular sound conversion utility sox is able to read such malformed files, so you can pipe data directly to sox for on-the-fly conversion to other formats.
Format options
Option characters may be added immediately after the mode identifier to change the output format. The following options are recognized:

8
8-bit sample width
1
6-bit sample width
l
Linear encoding
U
uLaw (8-bit) encoding
M
Monophonic
S
Stereo
s
Signed output
u
Unsigned output
x
Byte-swapped output

Note that some options have no effect on some modes. For example, you cannot generate a byte-swapped RIFF WAVE file, or force uLaw output on a Linux PCM device.

-o filename
Place output on filename, which may be a file, device, or HP-UX audio server, depending on the output mode selected with the -O option. The special filename ``-'' causes output to be placed on stdout.

-p voices
Sets polyphony (maximum number of simultaneous voices) to voices.

-Q channel
Causes channel to be quiet. If channel is negative, channel -channel is turned back on. If channel is 0, all channels are turned on.
 
-R msec
Enables Pseudo Reverb Mode. msec are envelope release time.

-r
This options causes another reverb effects.

-S size
Sets the re-sample cache size to size bytes. If size equals to 0 any sample caches are disabled. Default value of size is 2097152(2MB).

-s frequency
Sets the resampling frequency(Hz or kHz). Not all sound devices are capable of all frequencies -- an approximate frequency may be selected, depending on the implementation.

-t code
Sets output coding of Japanese text. code are the following:
auto
determined by LANG environment variable.
ascii
Transrates non-ascii code to period.
euc
Outputs by EUC(Japan) coding.
jis
Outputs by JIS coding.
sjis
Outputs by SJIS coding.

-U
Instructs TiMidity to unload all instruments from memory between MIDI files. This can reduce memory requirements when playing many files in succession.

-w mode
Extend mode for MS-Windows. The following options are available:
-wr
Use rcpcv.dll to play RCP/R36 files.
-wR
Not use rcpcv.dll (default).

-W mode
Play with WRD file. mode are the follwing:
x
X Window System mode
t
TTY mode
d
Dumb mode (outputs WRD events directry)
-
not traces WRD
WRD mode must be with trace mode(option -i?t) or timing of WRD events are terrible.

-WR[opts]
Sets WRD options:
a1=b1,a2=b2, ...
Sets the WRD options. an is the name of option and bn is the value.
d=n
Emulates timing(@WAIT,@WMODE) bugs of the original MIMPI player. The emulate level is following:
-WRd=0
not emulates any bugs of MIMPI
-WRd=1
only emulates some bugs (default)
-WRd=2
emulates all known bugs

F=filename
Uses filename as WRD file only (input-file-name):r.wrd (like csh syntax) is not available.
f=filename
Uses filername as WRD file.

-x string
Configure TiMidity by the string. The format of string is the same as timidity.cfg.

For example:
-x'bank 0\n0 violin.pat'
Sets the instrument number 0 to violin.

Character \(Ascii 0x5c) in the string is treated as escape character like C literal. For example \n is treated as carridge return.

-Z file
Causes the table of frequencies to be read from file. This is useful to define a tuning different from the occidental temperate scale.

 

SEE ALSO

lsmidiprog(1), mididump(1), patinfo(1), sf2text(1), wav2pat(1), timidity.cfg(5)

 

COPYRIGHT

Copyright (C) 1999-2001 Masanao Izumo <mo@goice.co.jp> Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi> Original version was developed under the name of Tuukka Toivonen <tt@cgs.fi> until the version of TiMidity-0.2i. His development was discontinued because of his busy work. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

 

AVAILABILITY

The latest release is available on the TiMidity++ Page,
URL http://www.goice.co.jp/member/mo/timidity/

 

BUGS

8-bit and low-rate output sounds worse than it should. Eats more CPU time than a small CPU-time-eating animal. This man page translated from Japanese to English by me with heavily poor English skill :-)

 

AUTHORS

Version 0.2i and earlier:
Tuukka Toivonen <toivonen@clinet.fi>
Vincent Pagel <pagel@loria.fr>
Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>
Davide Moretti <dmoretti@iper.net>
Chi Ming HUNG <cmhung@insti.physics.sunysb.edu>
Riccardo Facchetti <riccardo@cdc8g5.cdc.polimi.it> TiMidity++:
IZUMO Masanao <mo@goice.co.jp>
HARADA Tomokazu <harada@prince.pe.u-tokyo.ac.jp>
YAMATE Keiichirou <keiich-y@is.aist-nara.ac.jp>
KIRYU Masaki <mkiryu@usa.net>
AOKI Daisuke <dai@y7.net>
MATSUMOTO Shoji <shom@i.h.kyoto-u.ac.jp>
KOYANAGI Masaaki <koyanagi@okilab.oki.co.jp>
IMAI Kunihiko <imai@leo.ec.t.kanazawa-u.ac.jp>
NOGAMI Takaya <t-nogami@happy.email.ne.jp>
WATANABE Takanori <takawata@shidahara1.planet.kobe-u.ac.jp>
TAKEKAWA Hiroshi <sian@big.or.jp>
NAGANO Daisuke <breeze.geo@geocities.co.jp>
YAMAHATA Isaku <yamahata@kusm.kyoto-u.ac.jp>
KINOSHITA kosuke <kino@krhm.jvc-victor.co.jp>
ARAI Yoshishige <ryo2@on.rim.or.jp>
Glenn Trigg <ggt@netspace.net.au> and other many people sends information and bug-fix codes.

English version of this man page is written by NAGANO Daisuke <breeze_geo@geocities.co.jp>.
If any comments or suggestions or claims :) about this man page you have, please tell me it.


 

Index

NAME
SYNOPSIS
DESCRIPTION
FILENAME
INPUT FILE
OPTIONS
SEE ALSO
COPYRIGHT
AVAILABILITY
BUGS
AUTHORS

This document was created by man2html, using the manual pages.
Time: 21:07:11 GMT, March 28, 2024