README
1---------------------------------*-text-*---------------------------------
2
3 TiMidity -- Experimental MIDI to WAVE converter
4 Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19
20--------------------------------------------------------------------------
21
22 This is the README file for TiMidity v0.2i
23
24 TiMidity is a MIDI to WAVE converter that uses Gravis
25Ultrasound(*)-compatible patch files to generate digital audio data
26from General MIDI files. The audio data can be played through any
27sound device or stored on disk. On a fast machine, music can be
28played in real time. TiMidity runs under Linux, FreeBSD, HP-UX, SunOS, and
29Win32, and porting to other systems with gcc should be easy.
30
31 TiMidity Features:
32
33 * 32 or more dynamically allocated fully independent voices
34 * Compatibility with GUS patch files
35 * Output to 16- or 8-bit PCM or uLaw audio device, file, or
36 stdout at any sampling rate
37 * Optional interactive mode with real-time status display
38 under ncurses and SLang terminal control libraries. Also
39 a user friendly motif interface since version 0.2h
40 * Support for transparent loading of compressed MIDI files and
41 patch files
42
43 * Support for the following MIDI events:
44 - Program change
45 - Key pressure
46 - Channel main volume
47 - Tempo
48 - Panning
49 - Damper pedal (Sustain)
50 - Pitch wheel
51 - Pitch wheel sensitivity
52 - Change drum set
53
54* The file "CHANGES" contains a brief list of what has changed since
55 the previous version. Please check it if you've been using a TiMidity
56 version older than 0.2d. You may have to modify your configuration
57 files slightly -- look at the included "gravis.cfg" for examples.
58
59* Installation instructions are in the file "INSTALL".
60
61* Instructions for use can be found in the manual page "timidity.man",
62 preformatted in "timidity.txt", and in comments in the configuration
63 files.
64
65* The GNU General Public License can, as always, be found in the file
66 "COPYING".
67
68* TiMidity requires sampled instruments (patches) to play MIDI files. You
69 should get the file "timidity-lib-0.1.tar.gz" and unpack it in the same
70 directory where you unpacked the source code archive. You'll want more
71 patches later -- read the file "FAQ" for pointers.
72
73* The latest version of TiMidity can be found on the TiMidity Home Page,
74 URL http://www.clinet.fi/~toivonen/timidity/
75
76 An alternative URL for Motif version is http://www.loria.fr/~pagel
77
78* If you have any comments or suggestions, please email me!
79
80
81 Tuukka Toivonen <toivonen@clinet.fi>
82
83[(*) Any Registered Trademarks used anywhere in the documentation or
84source code for TiMidity are acknowledged as belonging to their
85respective owners.]
86
README.DEC
1---------------------------------------------------------------------
2Note: These modifications are now integrated into the sources, so you
3don't need to patch them, just uncomment the appropriate lines in
4the Makefile. ..tt
5---------------------------------------------------------------------
6
7
8Timidity-0.2h port to DEC OSF/1 with MMS support
9------------------------------------------------
10
11This was tested on a DEC alpha 250 4/266. At the default sampling
12rate of 32kHz an occasional break in playing could be detected under
13CPU load of around 3.0 Try using lower sampling rate or using some of
14the hacks in config.h if you have a slow and/or busy machine. The main
15code for DEC audio resides in dec_audio.c and currently only supports
16device ID 0, since that's the only device we have in our alpha. If you
17have more than one device you should be able to use them by simply
18altering the device ID in dec_audio.c
19
20If you're not getting this from the standard distribution of timidity,
21just grab the file timidity-0.2h-DEC.tar.gz or timidity-0.2h-DEC.tar.Z
22and untar it in the directory that contains the timidity-02h directory.
23This would untar the files into the timidity-02h directory, replacing
24the files config.h and output.c and adding the files Makefile.DEC and
25dec_audio.c You can then copy Makefile.DEC to Makefile and compile
26timidity with "make" (you may want to edit the Makefile and config.h)
27
28BTW Timidity works great as a MIDI-"viewer" for WWW browsers. Just add
29
30 audio/midi; timidity1 %s >/dev/null 2>&1
31
32to your .mailcap file and you can click and play MIDI files on the net!
33Try e.g. the Classical MIDI Archive:
34
35 http://www.prs.net/midi.html
36
37Thanks Tuukka for a great program!!
38
39
40Chi Ming HUNG <cmhung@insti.physics.sunysb.edu>
41
42
README.W32
1---------------------------------*-text-*---------------------------------
2
3 TiMidity -- Experimental MIDI to WAVE converter
4 Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi>
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19
20--------------------------------------------------------------------------
21
22From version 0.2i, TiMidity can be compiled to run on Win32 platforms
23such as Windows 95 and Windows NT (tested on Intel), but NOT on Windows 3.1x
24with Win32s because it doesn't support console mode.
25Currently it supports only the dumb interface, but a Windows GUI interface
26is planned (when I have some spare time to fiddle with .RC files...), also
27it doesn't support pipes (Win32 has named pipes, so when I have time, I will
28try to implement them).
29I added a console handler to check for Ctrl-C and Ctrl-Break keys to clean up
30the audio stuff, so the side effect is that if you break this program when
31you are writing .WAV files, they will have always the correct lengths into
32their header and are ready to be played.
33On a 486DX2 with 8MB of RAM and a Windows Sound System compatible
34audio board, it plays well in real time at a frequency of 32000 hertz-16bit-
35mono, or 22050-16bit-stereo most MIDI files, but if you switch to another
36task while it is playing, the audio output becomes chunky; TiMidity works
37better on Windows NT than on Windows 95 where it sounds more chunky.
38
39*** WOW!!! ***
40Now I have a Pentium 133 with 32MB of RAM and TiMidity will play almost all
41files with no problems at 44100Hz-16bit-stereo (CD quality), using around 50%
42of CPU time, so you can switch tasks without stopping music: just give at
43least 256 audio buffers; and, with good patches it plays BETTER than my
44wavetable audio board!!!
45*** WOW!!! ***
46
47******************************************************************************
48New Option -e ***
49The -e option (evil) works only on Win32 version of TiMidity and increases the
50TiMidity's task priority by one. It can give better playback when you switch
51tasks (at least for me it do, remember I have a Pentium 133), but BEWARE that
52for complex files or slow processors, it can slow all other tasks down.
53******************************************************************************
54
55The file TIMIDITY.IDE is the Borland C++ 4.51 project file, and the file
56TIMIDITY.MAK is the Borland C++ 4.51 makefile. They are set up for a BC++
57installation in D:\BC45, so if you have BC++ installed in another directory
58you must change the paths in the Makefile or in the IDE.
59With some work, I think, you can compile the code with other products
60(Microsoft C, Watcom C, etc.), just be sure to define the symbols
61AU_WIN32, __WIN32__, and include the file win_a.c as the audio driver.
62
63Probably, the code in win_a.c needs some more work, notably in the callback
64function that shouldn't call waveOutUnprepareHeader directly, but it works...
65
66Davide Moretti
67E-mail: dmoretti@iper.net
68
69Or send a snailmail or postcard to:
70
71Davide Moretti
72via Neri da Rimini, 28
7347037 Rimini, Italy
74
75Postcard changes are welcomed...
76
README.tk
1---------------------------------------------------------------------
2Note: These modifications are now integrated into the sources, so you
3don't need to patch them, just uncomment the appropriate lines in
4the Makefile. ..tt
5---------------------------------------------------------------------
6
7
8This is the README file of TkMidity Ver.1.3, Tcl/Tk interface for
9TiMidity MIDI Converter/Player.
10
11TkMidity realizes the Tk interface panel communicating with true
12TiMidity program. By using Tk, you can enjoy a beautiful Motif-like
13window without Motif libraries.
14
15
16* CONTENTS
17
18This archive contains the following files:
19
20README.tk - this file
21tkmidity.patch - a small patch to timidity-0.2h including fixes for
22 tiny bugs
23tk_ctl.c - a new source file for tk-interface
24tkmidity.ptcl - main tcl/tk source to be preprocessed
25tkpanel.tcl - main control panel tcl/tk script
26browser.tcl - file browser
27misc.tcl - miscellaneous subroutines
28tkbitmaps/*.xbm - bitmap files for TkMidity
29tkmidity.ad - (gray background) resources for TkMidity
30
31
32* INSTALLATION
33
34- Extract all files on timidity 0.2h source directory
35- Apply tkmidity.patch
36- Modify Makefile (especially check the wish program name in Makefile)
37- Just "make" it.
38- Install it by "make install".
39- Enjoy!
40
41
42* USAGE
43
44There are four modes newly featured to TiMidity; repeat, shuffle,
45auto-start and auto-exit modes. Repeat mode plays musics after all
46files are finished repeatedly. Shuffle mode means the random pick-up
47playing. When Auto-start is on, the TkMidity begins playing music as
48soon as program starts. Auto-exit means to quit TkMidity automatically
49after all songs are over. Each setting can be saved by Save Config
50menu.
51
52You can change the display configuration in Displays menu. This
53configuration also can be saved on the start-up file by Save Config
54menu.
55
56The version 1.3 supports File Open/Close menus, and direct keyboard
57control. You can append arbitrary files from file browser. The
58shortcut key actions are as follows:
59
60 [Enter] : Start Playing
61 [Space] : Pause / Start Again
62 [c] : Stop Playing
63 [q] : Quit TkMidity
64 [p] or [Left] : Previous File
65 [n] or [Right] : Next File
66 [v] or [Down] : Volume Down (10%)
67 [V] or [Up] : Volume Up (10%)
68 [F10] : Menu Mode
69 [Alt]+[Any] : Select Each Menu
70
71
72* PROGRAM NOTES
73
74This version supports both Tcl7.4/Tk4.0 and TclX7.3/Tk3.6 with
75addinput. Unfortunately random function is omitted in the normal Tcl
76library, I wrote a simple hack to invoke bash from the tcl script.
77But this dirty trick should cause an overhead. If you know more smart
78solution, please teach me.
79
80If you have only Tcl7.3 base wish (like included in Slackware 2.x),
81the extended Tcl (TclX) and addinput patch are required to handle i/o
82between tcl and timidity. Fortunately in the normal Linux distribution
83by Slackware, this patch is already included. If you don't have this
84patch, please get it via a-ftp, etc. Since Tcl7.4 base wish has
85another function to handle i/o, the patch above is not necessary.
86The original addinput patch can be obtained from:
87 ftp.neosoft.com:~ftp/pub/distrib
88or
89 harbor.ecn.purdue.edu:~ftp/pub/tcl/extensions
90
91
92* TROUBLE SHOOTING
93
94- The program says many RC_UNKNOWN ... and dies.
95
96Possibly, the trouble of communication between TiMidity and Tk
97interpreter. Please check the wish program name in your Makefile.
98The default is "wishx" (not "wish").
99
100Start the Tk panel directly from command line as:
101 % wishx -f /usr/local/lib/timidity/tkmidity.tcl
102The Tk window will appear and tell a words "NEXT" on console.
103Then you can start TiMidity successfully.
104
105- Tk panel appears, but "Pipe Broken" message pops up.
106
107This occurs when the non-existing file is selected to play.
108The ver.1.3 script verifies the existence of the file before pass to
109TiMidity, but occasionally this could happen...
110
111
112 Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>
113 <http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/>
114