Develop and Download Open Source Software

Browse CVS Repository

Contents of /twsynth/twsynth_gui/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1.1.1 - (show annotations) (download) (vendor branch)
Tue Sep 3 07:23:27 2002 UTC (21 years, 6 months ago) by skeishi
Branch: MAIN, skeishi
CVS Tags: initial, HEAD
Changes since 1.1: +0 -0 lines
GUI Version of TW Synthesizer by Mr. Aoki. Thank you Aoki !!

1 ==============================================================================
2 TiMidity++
3 Installation guide
4
5 Masanao Izumo <mo@goice.co.jp>
6 Last updated on Apr.4.2000
7 ==============================================================================
8
9 This document describes how to install TiMidity++(version 2.9.2 or
10 later) for your UNIX-like machine. Methods for Macintosh are not
11 described in this document.
12
13 It is enabled to configure and make timidity.exe on the Cygwin
14 environment of Windows98/95/NT. If you are in Windows, install cygnus
15 and egcs (or mingw) if you don't have them (which is available from
16 http://sourceware.cygnus.com/cygwin/), and run `cygnus', and make
17 symbolik link /bin/sh to bash.
18
19 Installing process:
20
21 1. configure
22 2. edit common.makefile, Makefile, timidity.h (not necessary)
23 3. make (required:GNU make)
24 4. installation
25 5. search for various voice data :)
26
27 Each processes are explained in following sections.
28 (Note that '%' is the shell prompt.)
29
30 1. configure
31 ------------
32 First, execute the following command:
33
34 % /bin/sh configure --help
35
36 Many options of configure will be displayed. Main of these are the
37 following:
38
39 --help
40 Displays help messages.
41
42 --prefix=PREFIX
43 Specifies the base of installing directory. By default,
44 PREFIX is "/usr/local/".
45 Any files are installed in:
46 PREFIX/bin: executable files
47 PREFIX/share/timidity: configuration files and patches
48 PREFIX/lib/timidity: libraries and dynamic link interfaces.
49 PREFIX/man: online manuals
50
51 Example:
52 % sh configure --prefix=/opt/gnu
53 # installs to /opt/gnu/bin, /opt/gnu/man, /opt/gnu/...
54
55 --x-includes=DIR
56 Specifies include directory of X library.
57
58 --x-libraries=DIR
59 Specifies library directory of X library.
60
61 --enable-debug
62 Compiles TiMidity++ with debugging methods/informations.
63
64 --with-x
65 You should specify this option if you have X Window environment.
66 --with-x is `yes' by default.
67
68 --without-x
69 You must specify this option if you don't have X Window environment.
70
71 --with-tcl-includes=dir
72 Specifies include directory of Tcl.
73 (If you fail to detect it automatically, try to specify this.)
74
75 --with-tcl-libs=dir
76 Specifies library directory of Tcl.
77 (If you fail to detect it automatically, try to specify this.)
78
79 --with-tk-includes=dir
80 Specifies include directory of Tk.
81 (If you fail to detect it automatically, try to specify this.)
82
83 --with-tk-libs=dir
84 Specifies library directory of Tk.
85 (If you fail to detect it automatically, try to specify this.)
86
87 --enable-audio[=mode_list]
88 Enables TiMidity++ to play MIDI files.
89 If --enable-audio=no, TiMidity++ is only the MIDI-to-WAVE
90 converter. You can specify multi-audio device from follows
91 (specify comma separated list):
92 default: Automatically select audio device. (default)
93 oss: OSS /dev/dsp
94 sun: SunOS /dev/audio
95 hpux: HPUX /dev/audio
96 irix: IRIX audio library
97 mme: OSF/1 MME
98 sb_dsp: BSD/OS 2.0 /dev/sb_dsp
99 w32: Windows MMS
100 alsa: ALSA pcm device
101 alib: HPUX network audio (Alib)
102 nas: NAS - Network Audio System
103 esd: EsounD
104
105 --enable-nas
106 Enables TiMidity++ to play MIDI files using NAS (Network Audio System).
107
108 --enable-esd
109 Enables TiMidity++ to play MIDI files using EsounD.
110
111 --enable-interface=[Comma separated interface list]
112 Specifies interface list (Comma separated). Choose interfaces
113 from follows.
114 ncurses,slang,motif,tcltk,emacs,vt100,xaw,xskin,gtk,w32gui,server
115 Note that
116 --enable-interface=INTERFACE1,INTERFACE2,...
117 equals as
118 --enable-INTERFACE1=yes --enable-INTERFACE2=yes ...
119
120 --enable-dynamic[=Comma separated interface list]
121 Specifies dynamic link interface list.
122 Note that
123 --enable-dynamic=INTERFACE1,INTERFACE2,...
124 equals as
125 --enable-INTERFACE1=dynamic --enable-INTERFACE2=dynamic ...
126
127 --enable-ncurses
128 Includes Ncurses interface. If you build this interface as dinamic
129 link interface, please specify --enable-ncurses=dynamic.
130
131 --enable-slang
132 Includes slang interface. If you build this interface as dinamic
133 link interface, please specify --enable-slang=dynamic.
134
135 --enable-motif
136 Includes Motif interface. If you build this interface as dinamic
137 link interface, please specify --enable-motif=dynamic.
138 If you don't have Motif for the lack of a fund:), lesstif is
139 the another answer.
140
141 --enable-tcltk
142 Includes Tcl/Tk interface. If you build this interface as dinamic
143 link interface, please specify --enable-tcltk=dynamic.
144
145 --enable-emacs
146 Includes Emacs interface. If you build this interface as dinamic
147 link interface, please specify --enable-emacs=dynamic.
148 If you want use TiMidity++ on Emacs, install this interface
149 and press M-x timidity.
150 And you should edit timidity.el and install to appropriate
151 directory.
152
153 --enable-vt100
154 Includes VT100 interface. If you build this interface as dinamic
155 link interface, please specify --enable-vt100=dynamic.
156 This is the full-screen interface using VT100 terminal control
157 codes.
158
159 --enable-xaw
160 Includes X Athena Widget interface. If you build this interface
161 as dinamic link interface, please specify --enable-xaw=dynamic.
162
163 --enable-xskin
164 Includes skin interface. This is the small X interface using skins
165 of WinAmp/x11amp. If you build this interface as dinamic link
166 interface, please specify --enable-xaw=dynamic.
167
168 --enable-gtk
169 Includes Gtk+ interface. If you build this interface as dinamic link
170 interface, please specify --enable-gtk=dynamic.
171
172 --enable-w32gui
173 Build TiMidity++ as Windows GUI.
174
175 --enable-alsaseq
176 Build TiMidity++ as ALSA sequencer client.
177
178 --enable-network
179 This option allows TiMidity++ to play MIDI file getting via
180 network. You can specify the location of MIDI files by
181 http://foo.bar/baz.mid - like format.
182
183 --enable-spectrogram
184 This option allows TiMidity++ to open the sound-spectrogram
185 window in X.
186
187 --enable-wrd
188 Includes WRD interface(on X). WRD is Japanese local lyric-
189 contents format.
190
191
192 For example:
193
194 % sh configure --enable-ncurses --enable-slang --enable-motif \
195 --enable-tcltk --enable-emacs --enable-vt100 --enable-xaw \
196 --enable-xskin --enable-gtk \
197 --enable-network --enable-spectrogram --enable-wrd
198
199
200 Some of MIDI file eats too much CPU power. If you choose correct
201 optimizing method, TiMidity++ can play such MIDI files
202 smoothly. Optimizing options can specify in configuration:
203
204 (for example : super-sparc/gcc)
205
206 (csh, tcsh)
207 % env CFLAGS='-O3 -Wall -mv8 -funroll-all-loops -fomit-frame-pointer -msupersparc /bin/sh configure [configure-options]...
208
209 (sh, bash)
210 % CFLAGS='-O3 -Wall -mv8 -funroll-all-loops -fomit-frame-pointer -msupersparc /bin/sh configure [configure-options]...
211
212
213
214 2. edits common.makefile, Makefile, timidity.h
215 ------------------------------
216 If configure failed or compile not complete successfully, edit
217 common.makefile, Makefile, and timidity.h to appropriate value.
218 All of definition of variables are orverwrited by common.makefile.
219
220 3. make
221 -------
222 Once finished above setting, type
223
224 % make
225
226 This make method requires GNU make. Some system has it as gmake.
227
228 Note: Some system announces warnings
229
230 vendorShellClassRec
231 vendorShellWidgetClass
232
233 in linking XAW. But it makes no matter. Don't worry.
234
235
236 4. install
237 ----------
238 On UNIX, you can type `make install' to install all files. Or you
239 can select follows:
240
241 make install.bin - installs executable files
242 make install.tk - installs Tcl/Tk interface
243 make install.el - installs Emacs interface
244 make install.man - installs man files
245 make install - installs all files
246
247 I recommend to check the install directories and files by executing
248
249 % make -n ...
250
251
252 5. Search for various voice data
253
254 TiMidity++ uses GUS/patch (Glavis Ultrasound) as the voice data to
255 play. You must get GUS/patch files, and make the configuration file.
256 You must make the configuration file (*.cfg). By default,
257 timidity.cfg is /usr/local/share/timidity/timidity.cfg (or
258 C:\WINDOWS\TIMIDITY.CFG on Windows). And please check the following
259 sites for many voice(patch) data:
260
261 http://www.goice.co.jp/member/mo/timidity/link.html#gus
262 http://www.goice.co.jp/member/mo/timidity/dist/cfg/ (Some samples of *.cfg)
263 http://www.i.h.kyoto-u.ac.jp/~shom/timidity/ (10M or 4M patch)
264 ftp://ftp.cdrom.com/pub/gus/sound/patches/files/ (GUS site)
265
266 If you got funny voice archive, extract it to appropriate directory
267 and configure *.cfg files with the name and path of these voice dates.
268
269
270
271 ==============================================================================
272 configuration of timidity.h
273 ==============================================================================
274 Edit CONFIG_FILE to your convenience. By default,
275
276 #define CONFIG_FILE DEFAULT_PATH "/timidity.cfg"
277
278 are recommended. DEFAULT_PATH is the same as TIMID_DIR in Makefile.
279 If you want to place it to another path, specify as the following:
280
281 #define CONFIG_FILE "/etc/timidity.cfg"
282
283
284 The next configuration is the file extractor (please ignore in Windows).
285 By default:
286
287 #define DECOMPRESSOR_LIST { \
288 ".gz", "gunzip -c %s", \
289 ".bz2", "bunzip2 -c %s", \
290 ".Z", "zcat %s", \
291 ".zip", "unzip -p %s", \
292 ".lha", "lha -pq %s", \
293 ".lzh", "lha -pq %s", \
294 ".shn", "shorten -x %s -", \
295 0 }
296
297 TiMidity++ can handle some of archive format directly. But other format
298 will use this extractor.
299
300
301 Next, configuration of patch file converter(please ignore in Windows).
302 By default:
303
304 #define PATCH_CONVERTERS { \
305 ".wav", "wav2pat %s", \
306 0 }
307
308
309 Next, configuration of extensions of GUS/patch file. If specified in
310 this configuration, the extension can omit in all *.cfg. By default:
311
312 #define PATCH_EXT_LIST { \
313 ".pat", \
314 ".shn", ".pat.shn", \
315 ".gz", ".pat.gz", \
316 ".bz2", ".pat.bz2", \
317 0 }
318
319
320 Next, configuration of default instrument. By default:
321
322 #define DEFAULT_PROGRAM 0
323
324 If no Program Change event, this program name are adopted. Usually 0
325 is Piano.
326
327
328 Next, configuration of drum channel. By default:
329
330 #define DEFAULT_DRUMCHANNELS {10, -1}
331
332 Numbers is the list of drum channels, and -1 is the terminator. For
333 example, if you wish to default drum channel be 10 and 16,
334
335 #define DEFAULT_DRUMCHANNELS {10, 16, -1}
336
337 This channel can change in command line option.
338
339
340 Next, type of floating point number. Choose one of these:
341
342 typedef double FLOAT_T;
343 typedef float FLOAT_T;
344
345 Many machine which has FPU results faster operations with double than
346 that with float. But some machine results contrary.
347
348
349 Next, minimum and max range of playing sample rate. By default:
350
351 #define MIN_OUTPUT_RATE 4000
352 #define MAX_OUTPUT_RATE 65000
353
354
355 Next, default value of master volume. By default:
356
357 #define DEFAULT_AMPLIFICATION 70
358
359 This number is the percentage of max volume. This default value will
360 be nice in any occasions. This number can specify in command line
361 option (-A).
362
363
364 Next, default sampling rate. By default:
365
366 #define DEFAULT_RATE 32000
367
368 If you have much CPU power, CD quality GUS/patch and want to listen
369 funny sound,
370
371 #define DEFAULT_RATE 44100
372
373 is good solution.
374
375
376 Next, configuration of max polyphony numbers. By default:
377
378 #define DEFAULT_VOICES 32
379 #define MAX_VOICES 256
380
381 DEFAULT_VOICE is the polyphony number in boot-time. This value is
382 configurable by the command line option (-p) from 0 to MAX_VOICES. If
383 your machine has much CPU power,
384
385 #define DEFAULT_VOICES 64
386
387 enables good harmony.
388
389
390 Next, size of internal buffer. By default:
391
392 #define AUDIO_BUFFER_BITS 11
393
394 I guess this values no need to change.
395
396
397 Next, value of CONTROLS_PER_SECOND. By default:
398
399 #define CONTROLS_PER_SECOND 1000
400
401
402 Next, interpolation in re-sampling. By default:
403
404 #define LINEAR_INTERPOLATION
405
406 This definition cause TiMidity++ to linear interpolation in
407 re-sampling, and the quality of sound would be nice. But it eats CPU
408 powers. I recommends define it if your machine has much power.
409
410
411 Next, configuration of LOOKUP_HACK. By default, this features are
412 undefined like this:
413
414 /* #define LOOKUP_HACK
415 #define LOOKUP_INTERPOLATION */
416
417 This option saves a little CPU power, but sound quality would decrease
418 noticeably. If your machine suffers from lack of CPU power, enable
419 it.
420
421
422 Next, configuration of FAST_DECAY. By default:
423
424 /* #define FAST_DECAY */
425
426 This option makes envelopes twice as fast and saves CPU power. But
427 since the release time of voices is shorten, the sound would be poor.
428 This feature is controllable in command line option.
429
430
431 Next, configuration of FRACTION_BITS. By default:
432
433 #define FRACTION_BITS 12
434
435 I recommend leave this value.
436
437
438 Next, configuration of adjusting amplitude of GUS/patch. By default:
439
440 #define ADJUST_SAMPLE_VOLUMES
441
442 This option makes TiMidity to adjust amplitudes of each GUS/patch to
443 same volume.
444
445
446 Next, configuration of DANGEROUS_RENICE. By default this feature
447 is disabled:
448
449 /* #define DANGEROUS_RENICE -15 */
450
451 If you want to increase process priority of TiMidity++ by using setuid
452 root enable this option. This option is only available in UNIX. Once
453 you enabled this option, you should install timidity with the
454 following procedure:
455
456 # chown root /usr/local/bin/timidity
457 # chmod u+s /usr/local/bin/timidity
458
459 Note: You should not set setuid to timidity if DANGEROUS_RENICE isn't
460 enabled.
461
462
463 Next, configuration of MAX_DIE_TIME. By default:
464
465 #define MAX_DIE_TIME 20
466
467 If this value is too small, click noise would be come. I recommend
468 this value leave to this.
469
470
471 Next, configuration of optimizing re-sampling. By default:
472
473 #define PRECALC_LOOPS
474
475 This option saves some CPU power only in some system.
476
477
478 Next, configuration of use of ldexp(). By default this feature
479 if disabled:
480
481 /* #define USE_LDEXP */
482
483 If your machine can multiply floating point number with ldexp() faster
484 than other method, enable this option.
485
486
487 Next, configuration of size of pre-re-sampling cache. By default:
488
489 #define DEFAULT_CACHE_DATA_SIZE (2*1024*1024)
490
491
492 Next, configuration about networks. TiMidity++ can access any files
493 via networks with URL. This feature are configurable in Makefile. If
494 you have enabled this feature in Makefile(configure --enable-network),
495 configure the following macros:
496
497 MAIL_DOMAIN
498 specifies domain name of your name address. If your name address is:
499 "mo@goice.co.jp" set the macro:
500 #define MAIL_DOMAIN "@goice.co.jp"
501
502 MAIL_NAME
503 specifies mail name of yours if in Windows. In UNIX, uncomment it.
504 For example, your name address is "mo@goice.co.jp" set the macro:
505 #define MAIL_NAME "mo"
506
507 This mail addresses are used when TiMidity++ access to anonymous FTP
508 sites.
509
510
511 Next, configuration of temporary directory. By default, this option
512 is disabled:
513
514 /* #define TMPDIR "/var/tmp" */
515
516 In UNIX, if this option is disabled TiMidity++ creates temporary files
517 in the path specified by the environment variable TMPDIR.
518 If environment variable TMPDIR also isn't defined, TiMidity++ creates
519 temporary files in /tmp .
520 In Windows, TMPDIR variable are ignored. So you should specify the
521 temporary path with this macro.
522
523
524 Next, recognizing GS drum part by GS exclusive message.
525
526 #define GS_DRUMPART
527
528 enables to recognize GS exclusive message to set drum part.
529
530 /* #define GS_DRUMPART */
531
532 disables this feature.
533
534
535 Next, output text code. If your system is in Japanese environment,
536 define
537
538 #define JAPANESE
539
540 or comment out it like
541
542 /* #define JAPANESE */
543
544 Next, specifies output text code (in Japanese environment). You
545 should specify appropriate code name to OUTPUT_TEXT_CODE macro. The
546 following strings are available:
547
548 "AUTO" - Auto conversion by `LANG' environment variable (UNIX only)
549 "ASCII" - Convert unreadable characters to '.'(0x2e)
550 "NOCNV" - No conversion
551 "EUC" - EUC
552 "JIS" - JIS
553 "SJIS" - shift JIS
554
555 In Japanized UNIX system, all of above are available. In Windows,
556 "ASCII", "NOCNV", "SJIS" are available. If your environment cannot
557 handle Japanese, specify "ASCII" or "NOCNV" alternatively.
558
559
560 Next, controllers of MIDI actions. By default:
561
562 #define MODULATION_WHEEL_ALLOW
563 #define PORTAMENTO_ALLOW
564 #define NRPN_VIBRATO_ALLOW
565 #define REVERB_CONTROL_ALLOW
566 #define CHORUS_CONTROL_ALLOW
567 /* #define GM_CHANNEL_PRESSURE_ALLOW */
568 /* #define XG_BANK_SELECT_LSB_ALLOW */
569 /* #define ALWAYS_TRACE_TEXT_META_EVENT */
570 #define OVERLAP_VOICE_ALLOW
571
572 These values are configurable in command line options. So you may
573 leave these in default value.
574
575 MODULATION_WHEEL_ALLOW
576 Enables modulation wheel by default.
577 (-Ew:on -EW:off)
578
579 PORTAMENTO_ALLOW
580 Enables portamento by default.
581 (-Ep:on -EP:off)
582
583 NRPN_VIBRATO_ALLOW
584 Enables NRPN vibration by default.
585 (-Ev:on -EV:off)
586
587 REVERB_CONTROL_ALLOW
588 Enable reverb control by default. This feature requires too much
589 CPU power. So this option prevents TiMidity++ from playing in real
590 time if this option is enabled (in command line / this define).
591 (-Er:on -ER:off)
592
593 CHORUS_CONTROL_ALLOW
594 Enables chorus control by default. This feature also requires a
595 mount of CPU power too.
596 (-Ec:on -EC:off)
597
598 GM_CHANNEL_PRESSURE_ALLOW
599 Enables Channel pressure by default.
600 (-Es:on -ES:off)
601
602 XG_BANK_SELECT_LSB_ALLOW
603 Enables XG bank select by default.
604 (-Ex:on -EX:off)
605
606 ALWAYS_TRACE_TEXT_META_EVENT
607 Enables tracing the Text Meta Event by default.
608 (-Et:on -ET:off)
609
610 OVERLAP_VOICE_ALLOW
611 Enables allowing pronouncing overlapped voice.
612 (-Eo:on -EO:off)
613
614
615 -------------------------------------------------------------------------
616 This document is translated from original INSTALL.jp (written in Japanese).
617 Translator: NAGANO Daisuke <breeze_geo@geocities.co.jp>
618 (And modified by Masanao Izumo <mo@goice.co.jp>)
619 If you have any comment for this translation, please tell me.

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26