-==============================================================================
- TiMidity++
- Installation guide
-
- Masanao Izumo <mo@goice.co.jp>
- Last updated on Feb.4.1999
-==============================================================================
-
- This document describes how to install TiMidity++(version 1.3.0 or
-later) for your UNIX-like machine. Methods for Macintosh are not
-described in this document.
-
- This version or later, It is enabled to configure and make
-timidity.exe on CYGNUS + egcs-compiler(gcc) environment of
-Windows98/95/NT. If you are in Windows, install cygnus and egcs (or
-mingw) if you don't have them (which is available from
-http://www.cygnus.com), and run `cygnus' on MS-DOS console, and make
-symbolik link /bin/sh to bash.
-
-Installing process:
-
- 1. configure
- 2. edit common.makefile, Makefile, timidity.h (not necessary)
- 3. make (required:GNU make)
- 4. installation
- 5. search for various voice data :)
-
- Each processes are explained in following sections.
-(Note that '%' is the shell prompt.)
-
-1. configure
-------------
- First, execute the following command:
-
-% sh configure --help
-
- Many options of configure will be displayed. Main of these are the
-following:
-
- --help
- Displays help messages.
-
- --prefix=PREFIX
- Specifies the base of installing directory. By default,
- PREFIX is "/usr/local/".
- Any files are installed in :
- PREFIX/bin : executable file
- PREFIX/lib : configuration files and patches
- PREFIX/man : online manual
-
- Example:
- % sh configure --prefix=/opt/gnu
- # installs to /opt/gnu/bin, /opt/gnu/lib, /opt/gnu/man
-
- --x-includes=DIR
- Specifies include directory of X library.
-
- --x-libraries=DIR X library files are in DIR
- Specifies library directory of X library.
-
- --enable-debug
- Compiles TiMidity++ with debugging methods/informations.
-
- --disable-dynamic
- Disables the feature of dynamic loading interface.
-
- --with-x
- You should specify this option if you have X Window environment.
- --with-x is `yes' by default.
-
- --without-x
- You must specify this option if you don't have X Window environment.
-
- --with-tcl-includes=dir
- Specifies include directory of Tcl.
- (If you fail to detect it automatically, try to specify this.)
-
- --with-tcl-libs=dir
- Specifies library directory of Tcl.
- (If you fail to detect it automatically, try to specify this.)
-
- --with-tk-includes=dir
- Specifies include directory of Tk.
- (If you fail to detect it automatically, try to specify this.)
-
- --with-tk-libs=dir
- Specifies library directory of Tk.
- (If you fail to detect it automatically, try to specify this.)
-
- --enable-audio
- Enables TiMidity++ to play MIDI files.
- If --enable-audio=no, TiMidity++ is only the MIDI-to-WAVE
- converter.
-
- --enable-nas
- Enables TiMidity++ to play MIDI files using NAS (Network Audio System).
-
- --enable-esd
- Enables TiMidity++ to play MIDI files using EsounD.
-
- --enable-ncurses
- Includes Ncurses interface. If you build this interface as dinamic
- link interface, please specify --enable-ncurses=dynamic.
-
- --enable-slang
- Includes slang interface. If you build this interface as dinamic
- link interface, please specify --enable-slang=dynamic.
-
- --enable-motif
- Includes Motif interface. If you build this interface as dinamic
- link interface, please specify --enable-motif=dynamic.
- If you don't have Motif for the lack of a fund:), lesstif is
- the another answer.
-
- --enable-tcltk
- Includes Tcl/Tk interface. If you build this interface as dinamic
- link interface, please specify --enable-tcltk=dynamic.
-
- --enable-emacs
- Includes Emacs interface. If you build this interface as dinamic
- link interface, please specify --enable-emacs=dynamic.
- If you want use TiMidity++ on Emacs, install this interface
- and press M-x timidity.
- And you should edit timidity.el and install to appropriate
- directory.
-
- --enable-vt100
- Includes VT100 interface. If you build this interface as dinamic
- link interface, please specify --enable-vt100=dynamic.
- This is the full-screen interface using VT100 terminal control
- codes.
-
- --enable-xaw
- Includes X Athena Widget interface. If you build this interface
- as dinamic link interface, please specify --enable-xaw=dynamic.
-
- --enable-xskin
- Includes skin interface. This is the small X interface using skins
- of WinAmp/x11amp. If you build this interface as dinamic link
- interface, please specify --enable-xaw=dynamic.
-
- --enable-gtk
- Includes Gtk+ interface. If you build this interface as dinamic link
- interface, please specify --enable-gtk=dynamic.
-
- --enable-w32gui
- Build TiMidity++ as Windows GUI.
-
- --enable-network
- This option allows TiMidity++ to play MIDI file getting via
- network. You can specify the location of MIDI files by
- http://foo.bar/baz.mid - like format.
-
- --enable-spectrogram
- This option allows TiMidity++ to open the sound-spectrogram
- window in X.
-
- --enable-wrd
- Includes WRD interface(on X). WRD is Japanese local lyric-
- contents format.
-
-
- For example, including all functions:
-
-% sh configure --with-x --enable-audio \
- --enable-ncurses --enable-slang --enable-motif \
- --enable-tcltk --enable-emacs --enable-vt100 --enable-xaw \
- --enable-xskin --enable-gtk \
- --enable-network --enable-spectrogram --enable-wrd --enable-nas
-
-
- Some of MIDI file eats too much CPU power. If you choose correct
-optimizing method, TiMidity++ can play such MIDI files
-smoothly. Optimizing options can specify in configuration:
-
- (for example : super-sparc/gcc)
-
- (csh, tcsh)
-% env CFLAGS='-O3 -Wall -mv8 -funroll-all-loops -fomit-frame-pointer -msupersparc -DAUDIO_FILLING_MILSEC=5000' sh configure [configure-options]...
-
-(sh, bash)
-% CFLAGS='-O3 -Wall -mv8 -funroll-all-loops -fomit-frame-pointer -msupersparc -DAUDIO_FILLING_MILSEC=5000' sh configure [configure-options]...
-
-
-
-2. edits common.makefile, Makefile, timidity.h
-------------------------------
- If configure failed or compile not complete successfully, edit
-common.makefile, Makefile, and timidity.h to appropriate value.
-
-
-
+======================================================================
+ TiMidity++ Installation guide
+
+ Masanao Izumo
+ <iz@onicos.co.jp>
+ Mar.01.2004
+ version 2.13.0 or later
+======================================================================
+
+This document describes how to install TiMidity++ for your UNIX-like
+machine.
+
+You can configure and make timidity.exe on the Cygwin environment of
+Windows 95/98/Me/NT/2000/XP/2003. If you are in Windows, install
+Cygwin (or mingw) if you do not have them.
+
+Today's Macintosh has FreeBSD userland, so things described here would
+fly. Methods for older Macintosh ("Classic") are not described here.
+
+======================================================================
+Basic Installation
+======================================================================
+
+TiMidity++ uses GNU autotools to build. So the simplest way to
+compile this package is:
+
+1. "cd" to the directory containing TiMidity++'s source code and type
+ "./configure" to configure the package for your system. If you are
+ using csh on an old version of System V, you might need to type
+ "/bin/sh configure" instead to prevent csh from trying to execute
+ configure itself. Running configure takes a while. While running,
+ it prints some messages telling which features it is checking for.
+2. Type "make" to compile the package.
+ NOTE: this make method requires GNU make. So if your system has it
+ as gamke, type "gmake" instead.
+3. Type "make install" to install the programs and any data files and
+ documentation.
+
+======================================================================
+More complecated way
+======================================================================
+
+The full installation process is:
+
+1. configre
+2. edit common.makefile, Makefile, timidity.h if necessery
3. make
--------
- Once finished above setting, type
+4. installation
+5. set up voice data
+
+Each processes are explained in following sections. Note that % is
+the shell prompt.
+
+======================================================================
+Configure
+======================================================================
+
+First, execute the following command:
+
+% /bin/sh configure --help
+
+Many options of configure will be displayed. Most of them, such as
+--help, --prefix=PREFIX, and so on are the regular ones. They exisits
+on most package that uses autoconf and you do not have to worry about
+their behavior.
+
+There also exists some options that is typical to TiMidity++. Main of
+these are the following:
+
+--enable-debug
+ Enables debug. Things will be compiled with debugging methods/
+ informations.
+
+--without-x
+ TiMidity++ uses X by default. So you must specify this option to
+ prevent linker from linking X libraries.
+
+--enable-audio[=audio_list]
+ Enables TiMidity++ to play MIDI files. If --enable-audio=no,
+ TiMidity++ acts as a MIDI-to-WAVE converter.
+
+ You can specify one or more audio-device listed below.
+
+ * default: Automatically select audio device.
+ * oss: OSS /dev/dsp
+ * sun: SunOS /dev/audio
+ * hpux: hp-ux /dev/audio
+ * irix: IRIX audio library
+ * mme: OSF/1 MME
+ * sb_dsp: BSD/OS 2.0 /dev/sb_dsp
+ * w32: Windows MMS
+ * darwin: darwin(Mac OS X)'s CoreAudio frameowrk
+ * alsa: ALSA pcm device
+ * alib: hp-ux network audio (Alib)
+ * nas: NAS
+ * portaudio: PortAudio
+ * jack: JACK
+ * arts: aRts
+ * esd: EsounD
+ * vorbis: ogg vorbis
+ * gogo: mp3 Gogo-No-Coder (Windows only)
-% make
+--enable-interface[=interface_list]
+--enable-dynamic[=interface_list]
+ Specify which interface to use. If you use --enable-dynamic instead
+ of --enable-interface, the interfaces specified will be linked
+ dynamically and the binary size would become a bit smaller.
- This make method requires GNU make. Some system has it as gmake.
+ You can select one or more interfaces listed below.
-Note: Some system announces warnings
+ * ncurses: ncurses interface.
+ * slang: S-Lang interface.
+ * motif: Motif interface. Motif interface also works under Lestiff.
+ * tcltk: Tcl/Tk interface.
+ * emacs: Emacs front-end. Type M-x timidity to invoke.
+ * vt100: The full-screen interface using vt100 terminal control codes.
+ * xaw: X Athena Widget interface.
+ * xskin: X skin interface.
+ * gtk: GTK+ interface.
+ * w32gui: Build as Windows GUI binary.
+ * winsyn: Build as TiMidity++ Windows Synthesizer server.
+ * alsaseq: Build as ALSA sequencer client.
-vendorShellClassRec
-vendorShellWidgetClass
+ Note that
+ --enable-interface=INTERFACE1,INTERFACE2,...
+ equals as
+ --enable-INTERFACE1=yes --enable-INTERFACE2=yes ...
+ and for the same way,
+ --enable-dynamic=INTERFACE1,INTERFACE2,...
+ equals as
+ --enable-INTERFACE1=dynamic --enable-INTERFACE2=dynamic ...
-in linking XAW. But it makes no matter. Don't worry.
+--enable-network
+ Enables network support. This will allow TiMidity++ to open a MIDI
+ file via network. You can specify the location of MIDI files by
+ http://foo.com.tw/bar/baz.mid - like format.
+--enable-spectrogram
+ With this option specified, TiMidity++ can open a window on X and
+ show sound-spectrogram there.
-4. install
-----------
- On UNIX, you can type `make install' to install all files. Or you
-can select follows:
+--enable-wrd
+ WRD is a Japanese local lyric-contents format. This option enables
+ WRD interface.
- make install.bin - installs executable files
- make install.tk - installs Tcl/Tk interface
- make install.el - installs Emacs interface
- make install.man - installs man files
- make install - installs all files
+* Environment variables and flags to pass to configure
- I recommend to check the install directories and files by executing
+Some MIDI files eat too much CPU power. If you choose correct
+optimizing method, TiMidity++ can play such MIDI files smoothly.
-% make -n ...
+You can tell configure which optimizing method to use by following
+environmental variables:
- On Windows, `make install' is not worked in current version
-(v1.3.0). So please copy timidity/timidity.exe to any where by hand.
+CC
+ the C compiler command e.g. "/usr/bin/gcc"
-
-5. Search for various voice data
-
- TiMidity++ uses GUS/patch (Glavis Ultrasound) as the voice data to
-play. You must get GUS/patch files, and make the configuration file.
-You must make the configuration file (*.cfg). By default,
-timidity.cfg is /usr/local/lib/timidity/timidity.cfg (or
-C:\WINDOWS\TIMIDITY.CFG on Windows). And please check the following
-sites for many voice(patch) data:
-
-
-http://www.goice.co.jp/timidity/gus/ (33M patch)
-http://www.goice.co.jp/timidity/dist/cfg/ (Some samples of *.cfg)
-http://www.i.h.kyoto-u.ac.jp/~shom/timidity/ (10M or 4M patch)
-ftp://ftp.cdrom.com/pub/gus/sound/patches/files/ (GUS site)
-
-If you got funny voice archive, extract it to appropriate directory
-and configure *.cfg files with the name and path of these voice dates.
-
-
-
-==============================================================================
- configuration of timidity.h
-==============================================================================
- Edit CONFIG_FILE to your convenience. By default,
+CFLAGS
+ flags to pass to ${CC} e.g. "-O2 -pipe"
+
+LDFLAGS
+ flags to pass to linker e.g. "-L/usr/gnu/lib"
+
+CPPFLAGS
+ flags to pass to preprocessor e.g. "-traditional-cpp"
+
+Your compiler may have many optimization flags. For example, in case
+of ultrasparc/gcc, you can specify:
+
+% env CFLAGS='-O3 -Wall -mv8 -funroll-all-loops -fomit-frame-pointer \
+ -mcpu=ultrasparc' /bin/sh configure [configure-options]...
+
+and the binary will (hopefully) run faster.
+
+======================================================================
+Edit some files
+======================================================================
+
+If make fails, or if you want to change some parameters, edit
+common.makefile, Makefile, or timidity.h manually.
+
+* Parameters in timidity.h
+
+There are some options that are hard-coded into timidity binary. They
+are # define-ed in timidity.h. You have to change things there if you
+want to change these flags.
+
+** CONFIG_FILE
+
+Edit CONFIG_FILE to your convenience. By default,
#define CONFIG_FILE DEFAULT_PATH "/timidity.cfg"
-are recommended. DEFAULT_PATH is the same as TIMID_DIR in Makefile.
+are recommended. DEFAULT_PATH is the same as TIMID_DIR in Makefile.
+
If you want to place it to another path, specify as the following:
#define CONFIG_FILE "/etc/timidity.cfg"
+** DECOMPRESSOR_LIST
- The next configuration is the file extractor (please ignore in Windows).
-By default:
+The file extractor (please ignore in Windows). By default:
#define DECOMPRESSOR_LIST { \
- ".gz", "gunzip -c %s", \
- ".bz2", "bunzip2 -c %s", \
- ".Z", "zcat %s", \
- ".zip", "unzip -p %s", \
- ".lha", "lha -pq %s", \
- ".lzh", "lha -pq %s", \
- ".shn", "shorten -x %s -", \
- 0 }
+ ".gz", "gunzip -c %s", \
+ ".bz2", "bunzip2 -c %s", \
+ ".Z", "zcat %s", \
+ ".zip", "unzip -p %s", \
+ ".lha", "lha -pq %s", \
+ ".lzh", "lha -pq %s", \
+ ".shn", "shorten -x %s -", \
+ 0 }
-TiMidity++ can handle some of archive format directly. But other format
-will use this extractor.
+TiMidity++ can handle some of archive format directly. But other
+format will use this extractor.
+** PATCH_CONVERTERS
- Next, configuration of patch file converter(please ignore in Windows).
+Configuration of of patch file converter (please ignore in Windows).
By default:
#define PATCH_CONVERTERS { \
- ".wav", "wav2pat %s", \
- 0 }
+ ".wav", "wav2pat %s", \
+ 0 }
+** PATCH_EXT_LIST
- Next, configuration of extensions of GUS/patch file. If specified in
-this configuration, the extension can omit in all *.cfg. By default:
+Configuration of extensions of GUS/patch file. If specified in this
+configuration, the extension can omit in all *.cfg. By default:
#define PATCH_EXT_LIST { \
- ".pat", \
- ".shn", ".pat.shn", \
- ".gz", ".pat.gz", \
- ".bz2", ".pat.bz2", \
- 0 }
+ ".pat", \
+ ".shn", ".pat.shn", \
+ ".gz", ".pat.gz", \
+ ".bz2", ".pat.bz2", \
+ 0 }
+** DEFAULT_PROGRAM
- Next, configuration of default instrument. By default:
+Configuration of default instrument. By default:
#define DEFAULT_PROGRAM 0
If no Program Change event, this program name are adopted. Usually 0
is Piano.
+** DEFAULT_DRUMCHANNELS
- Next, configuration of drum channel. By default:
+Configuration of drum channel. By default:
#define DEFAULT_DRUMCHANNELS {10, -1}
-Numbers is the list of drum channels, and -1 is the terminator. For
+Numbers are the list of drum channels, and -1 is the terminator. For
example, if you wish to default drum channel be 10 and 16,
#define DEFAULT_DRUMCHANNELS {10, 16, -1}
This channel can change in command line option.
+** FLOAT_T
- Next, type of floating point number. Choose one of these:
+Type of floating point number. Choose one of these:
-typedef double FLOAT_T;
-typedef float FLOAT_T;
+* typedef double FLOAT_T;
+* typedef float FLOAT_T;
Many machine which has FPU results faster operations with double than
-that with float. But some machine results contrary.
+that with float. But some machine results contrary.
+** (MAX|MIN)_OUTPUT_RATE
- Next, minimum and max range of playing sample rate. By default:
+Minimum/maximum range of playing sample rate. By default:
-#define MIN_OUTPUT_RATE 4000
-#define MAX_OUTPUT_RATE 65000
+#define MIN_OUTPUT_RATE 4000
+#define MAX_OUTPUT_RATE 65000
+** DEFAULT_AMPLIFICATION
- Next, default value of master volume. By default:
+Default value of master volume. By default:
-#define DEFAULT_AMPLIFICATION 70
+#define DEFAULT_AMPLIFICATION 70
-This number is the percentage of max volume. This default value will
+This number is the percentage of max volume. This default value will
be nice in any occasions. This number can specify in command line
option (-A).
+** DEFAULT_RATE
- Next, default sampling rate. By default:
+Default sampling rate. By default:
-#define DEFAULT_RATE 32000
+#define DEFAULT_RATE 44100
-If you have much CPU power, CD quality GUS/patch and want to listen
+If you have much CPU power, DAT quality GUS/patch and want to listen
funny sound,
-#define DEFAULT_RATE 44100
+#define DEFAULT_RATE 48000
is good solution.
+** DEFAULT_VOICES
- Next, configuration of max polyphony numbers. By default:
+Configuration of default polyphony numbers. By default:
-#define DEFAULT_VOICES 32
-#define MAX_VOICES 256
+#define DEFAULT_VOICES 256
-DEFAULT_VOICE is the polyphony number in boot-time. This value is
-configurable by the command line option (-p) from 0 to MAX_VOICES. If
-your machine has much CPU power,
+DEFAULT_VOICE is the polyphony number in boot-time. This value is
+configurable by the command line option (-p) from 1 to until memory is
+allowed. If your machine has much CPU power,
-#define DEFAULT_VOICES 64
+#define DEFAULT_VOICES 512
enables good harmony.
+** AUDIO_BUFFER_BITS
- Next, size of internal buffer. By default:
+Size of internal buffer. By default:
-#define AUDIO_BUFFER_BITS 11
+#define AUDIO_BUFFER_BITS 12
I guess this values no need to change.
+** CONTROLS_PER_SECOND
- Next, value of CONTROLS_PER_SECOND. By default:
+TiMidity++ do not calculate every envelope changes, but calculate some
+samples at one time. Small controls yields better quality sound, but
+also eat much CPU time. By default:
#define CONTROLS_PER_SECOND 1000
+This can be changed from command line. Leave as it is.
+
+** DEFAULT_RESAMPLATION
+
+Type of interpolation engine. By default:
+
+#define DEFAULT_RESAMPLATION resample_gauss
+
+This definition cause TiMidity++ to Gauss-like interpolation in re-
+sampling, and the quality of sound would be nice. But it eats CPU
+powers. I recommend define it if your machine has much power. Other
+choices are (sorted by their speed):
+
+#define DEFAULT_RESAMPLATION resample_none
+#define DEFAULT_RESAMPLATION resample_linear
+#define DEFAULT_RESAMPLATION resample_lagrange
+#define DEFAULT_RESAMPLATION resample_cspline
+#define DEFAULT_RESAMPLATION resample_gauss
+#define DEFAULT_RESAMPLATION resample_newton
- Next, interpolation in re-sampling. By default:
+Interpolation methods are changeable from the command line. If you
+want to prevent users from doing so, uncomment next line and define as
+this:
-#define LINEAR_INTERPOLATION
+#define FIXED_RESAMPLATION
-This definition cause TiMidity++ to linear interpolation in
-re-sampling, and the quality of sound would be nice. But it eats CPU
-powers. I recommends define it if your machine has much power.
+** USE_DSP_EFFECT
+Configuration of USE_DSP_EFFECT to refine chorus, delay, EQ and
+insertion effect. Default enabled.
- Next, configuration of LOOKUP_HACK. By default, this features are
-undefined like this:
+** LOOKUP_HACK
-/* #define LOOKUP_HACK
- #define LOOKUP_INTERPOLATION */
+Configuration of LOOKUP_HACK. By default, this features are undefined
+like this:
+
+/* #define LOOKUP_HACK */
+/* #define LOOKUP_INTERPOLATION */
This option saves a little CPU power, but sound quality would decrease
noticeably. If your machine suffers from lack of CPU power, enable
it.
+** SMOOTH_MIXING
+
+Defining this greatly reduces popping due to large volume/pan changes.
+This is definitely worth the slight increase in CPU usage.
+
+** FAST_DECAY
- Next, configuration of FAST_DECAY. By default:
+Configuration of FAST_DECAY. By default:
/* #define FAST_DECAY */
since the release time of voices is shorten, the sound would be poor.
This feature is controllable in command line option.
+** FRACTION_BITS
- Next, configuration of FRACTION_BITS. By default:
+TiMidity++ uses fixed-point calculation. Its default is
#define FRACTION_BITS 12
-I recommend leave this value.
+and you don't have to change this value.
+** ADJUST_SAMPLE_VOLUMES
- Next, configuration of adjusting amplitude of GUS/patch. By default:
+Configuration of adjusting amplitude of GUS/patch. By default:
#define ADJUST_SAMPLE_VOLUMES
This option makes TiMidity to adjust amplitudes of each GUS/patch to
same volume.
+** DENGEROUS_RENICE
- Next, configuration of DANGEROUS_RENICE. By default this feature
-is disabled:
+By default this feature is disabled:
/* #define DANGEROUS_RENICE -15 */
If you want to increase process priority of TiMidity++ by using setuid
-root enable this option. This option is only available in UNIX. Once
-you enabled this option, you should install timidity with the
-following procedure:
+root enable this option. This option is only available in UNIX. Once
+you enabled this option, you should install timidity with the follow-
+ing procedure:
# chown root /usr/local/bin/timidity
# chmod u+s /usr/local/bin/timidity
-Note: You should not set setuid to timidity if DANGEROUS_RENICE isn't
+Note: You should not set setuid to timidity if DANGEROUS_RENICE isn't
enabled.
+** MAX_DIE_TIME
- Next, configuration of MAX_DIE_TIME. By default:
+If this value is too small, click noise would be come. Default is:
#define MAX_DIE_TIME 20
-If this value is too small, click noise would be come. I recommend
-this value leave to this.
+and I recommend this value leave to this.
+
+** LOOKUP_SINE
+
+#define LOOKUP_SINE
+On some machines (especially PCs without math coprocessors), looking
+up sine values in a table will be significantly faster than computing
+them on the fly. I recommend define it.
- Next, configuration of optimizing re-sampling. By default:
+** PRECALC_LOOPS
+
+Configuration of optimizing re-sampling. By default:
#define PRECALC_LOOPS
-This option saves some CPU power only in some system.
+These may not in fact be faster on your particular machine and
+compiler.
+** USE_LDEXP
- Next, configuration of use of ldexp(). By default this feature
-if disabled:
+Configuration of use of ldexp(). By default this feature is disabled:
/* #define USE_LDEXP */
If your machine can multiply floating point number with ldexp() faster
than other method, enable this option.
+** DEFAULT_CACHE_DATA_SIZE
- Next, configuration of size of pre-re-sampling cache. By default:
+Size of pre-re-sampling cache. By default:
#define DEFAULT_CACHE_DATA_SIZE (2*1024*1024)
+This can be changed from command line, so you don't have to change
+here.
+
+* Configurations about network
+
+TiMidity++ can access any files via networks with URL. This feature
+are configurable in Makefile. If you have enabled this feature in
+Makefile (configure --enable-network), configure the following macros:
+
+** MAIL_DOMAIN
- Next, configuration about networks. TiMidity++ can access any files
-via networks with URL. This feature are configurable in Makefile. If
-you have enabled this feature in Makefile(configure --enable-network),
-configure the following macros:
+specifies domain name of your name address. If your name address is
+"iz@onicos.co.jp" set the macro:
- MAIL_DOMAIN
- specifies domain name of your name address. If your name address is:
- "mo@goice.co.jp" set the macro:
- #define MAIL_DOMAIN "@goice.co.jp"
+#define MAIL_DOMAIN "@onicos.co.jp"
- MAIL_NAME
- specifies mail name of yours if in Windows. In UNIX, uncomment it.
- For example, your name address is "mo@goice.co.jp" set the macro:
- #define MAIL_NAME "mo"
+** MAIL_NAME
- This mail addresses are used when TiMidity++ access to anonymous FTP
- sites.
+specifies mail name of yours if in Windows. In UNIX, uncomment it.
+For example, your name address is "iz@onicos.co.jp" set the macro:
+#define MAIL_NAME "iz"
- Next, configuration of temporary directory. By default, this option
-is disabled:
+** TMPDIR
+
+Configuration of temporary directory. By default, this option is
+disabled:
/* #define TMPDIR "/var/tmp" */
- In UNIX, if this option is disabled TiMidity++ creates temporary files
- in the path specified by the environment variable TMPDIR.
- If environment variable TMPDIR also isn't defined, TiMidity++ creates
- temporary files in /tmp .
- In Windows, TMPDIR variable are ignored. So you should specify the
- temporary path with this macro.
+In UNIX, if this option is disabled TiMidity++ creates temporary files
+in the path specified by the environment variable TMPDIR. If environ-
+ment variable TMPDIR also isn't defined, TiMidity++ creates temporary
+files in /tmp. In Windows, TMPDIR variable are ignored. So you
+should specify the temporary path with this macro.
+** GS_DRUMPART
- Next, recognizing GS drum part by GS exclusive message.
+Recognizing GS drum part by GS exclusive message.
#define GS_DRUMPART
disables this feature.
+* Japanese-text-handling related options
+
+There are some options for Japanese handling.
+
+** JAPANESE
- Next, output text code. If your system is in Japanese environment,
-define
+If your system is in Japanese environment, define
#define JAPANESE
-or comment out it like
+otherwise comment it out like
/* #define JAPANESE */
- Next, specifies output text code (in Japanese environment). You
-should specify appropriate code name to OUTPUT_TEXT_CODE macro. The
-following strings are available:
-
-"AUTO" - Auto conversion by `LANG' environment variable (UNIX only)
-"ASCII" - Convert unreadable characters to '.'(0x2e)
-"NOCNV" - No conversion
-"EUC" - EUC
-"JIS" - JIS
-"SJIS" - shift JIS
+** OUTPUT_TEXT_CODE
+
+specifies output text code (in Japanese environment). You should
+specify appropriate code name to OUTPUT_TEXT_CODE macro. The follow-
+ing strings are available:
+
+AUTO
+ Auto conversion by `LANG' environment variable (UNIX only)
+ASCII
+ Convert unreadable characters to '.' (0x2e)
+NOCNV
+ No conversion
+1251
+ Convert from windows-1251 to koi8-r
+EUC
+ eucJP
+JIS
+ JIS
+SJIS
+ shift-JIS
In Japanized UNIX system, all of above are available. In Windows,
"ASCII", "NOCNV", "SJIS" are available. If your environment cannot
handle Japanese, specify "ASCII" or "NOCNV" alternatively.
-
- Next, controllers of MIDI actions. By default:
+** MODULATION_WHEEL_ALLOW
+** PORTAMENTO_ALLOW
+** NRPN_VIBRATO_ALLOW
+** REVERB_CONTROL_ALLOW
+** FREEVERB_CONTROL_ALLOW
+** CHORUS_CONTROL_ALLOW
+** SURROUND_CHORUS_ALLOW
+** GM_CHANNEL_PRESSURE_ALLOW
+** VOICE_CHAMBERLIN_LPF_ALLOW
+** VOICE_MOOG_LPF_ALLOW
+** MODULATION_ENVELOPE_ALLOW
+** ALWAYS_TRACE_TEXT_META_EVENT
+** OVERLAP_VOICE_ALLOW
+** TEMPER_CONTROL_ALLOW
+
+Controllers of MIDI actions. By default:
#define MODULATION_WHEEL_ALLOW
#define PORTAMENTO_ALLOW
#define NRPN_VIBRATO_ALLOW
-#define REVERB_CONTROL_ALLOW
+/* #define REVERB_CONTROL_ALLOW */
+#define FREEVERB_CONTROL_ALLOW
#define CHORUS_CONTROL_ALLOW
+/* #define SURROUND_CHORUS_ALLOW */
/* #define GM_CHANNEL_PRESSURE_ALLOW */
-/* #define XG_BANK_SELECT_LSB_ALLOW */
+#define VOICE_CHAMBERLIN_LPF_ALLOW
+/* #define VOICE_MOOG_LPF_ALLOW */
+/* #define MODULATION_ENVELOPE_ALLOW */
/* #define ALWAYS_TRACE_TEXT_META_EVENT */
#define OVERLAP_VOICE_ALLOW
+#define TEMPER_CONTROL_ALLOW
- These values are configurable in command line options. So you may
+These values are configurable in command line options. So you may
leave these in default value.
- MODULATION_WHEEL_ALLOW
- Enables modulation wheel by default.
- (-Ew:on -EW:off)
+======================================================================
+Make
+======================================================================
- PORTAMENTO_ALLOW
- Enables portamento by default.
- (-Ep:on -EP:off)
+Make section has nothing particular to write. Just say "make"
- NRPN_VIBRATO_ALLOW
- Enables NRPN vibration by default.
- (-Ev:on -EV:off)
+...Oops, almost forgot, TiMidity++'s Makefile needs GNU version of
+make. If you do not have, get one first. If you have one in a
+different name than "make", type its true name instead.
- REVERB_CONTROL_ALLOW
- Enable reverb control by default. This feature requires too much
- CPU power. So this option prevents TiMidity++ from playing in real
- time if this option is enabled (in command line / this define).
- (-Er:on -ER:off)
+Installation
- CHORUS_CONTROL_ALLOW
- Enables chorus control by default. This feature also requires a
- mount of CPU power too.
- (-Ec:on -EC:off)
+On UNIX and clones, you can type "make install" to install all files.
+Or you can select following targets:
- GM_CHANNEL_PRESSURE_ALLOW
- Enables Channel pressure by default.
- (-Es:on -ES:off)
+install.bin
+ installs executable filles
+install.tk
+ installs Tcl/Tk interface
+install.el
+ installs Emacs interface
+install.man
+ installs man files
+install
+ installs everything
- XG_BANK_SELECT_LSB_ALLOW
- Enables XG bank select by default.
- (-Ex:on -EX:off)
+I strongly recommend you to check the install destinations and files
+by setteing -n flag like
- ALWAYS_TRACE_TEXT_META_EVENT
- Enables tracing the Text Meta Event by default.
- (-Et:on -ET:off)
+% make -n
- OVERLAP_VOICE_ALLOW
- Enables allowing pronouncing overlapped voice.
- (-Eo:on -EO:off)
+======================================================================
+Search for voice data
+======================================================================
+TiMidity++ uses Either GUS/patch, or SoundFont(, or both) as the voice
+data to play. You must get a SoundFont or GUS/patch files, and make
+the configuration file. You must make the configuration file (*.cfg).
+By default, timidity.cfg is /usr/local/share/timidity/timidity.cfg (or
+C:\WINDOWS\TIMIDITY.CFG on Windows). And please check the following
+sites for many voice(patch) data:
--------------------------------------------------------------------------
-This document is translated from original INSTALL.jp (written in Japanese).
-Translator: NAGANO Daisuke <breeze_geo@geocities.co.jp>
- (And modified by Masanao Izumo <mo@goice.co.jp>)
-If you have any comment for this translation, please tell me.
+* http://www.onicos.com/staff/iz/timidity/link.html#gus
+* http://www.onicos.com/staff/iz/timidity/dist/cfg/ (Some sample *.cfg's)
+* http://www.i.h.kyoto-u.ac.jp/~shom/timidity/ (10M and 4M patches)
+* ftp://ftp.cdrom.com/pub/gus/sound/patches/files/ (GUS site)
+
+If you got funny voice archive, extract it to appropriate directory
+and configure *.cfg files with the name and path of these voice datas.