-
Notifications
You must be signed in to change notification settings - Fork 0
sezero/kmidi
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
In order to use KMidi you need so called (sound) patch files (see below). There are several user interfaces provided for, including a "dumb" command line version and a KDE version, done by Bernd Wuebben (see below). The patches can be GUS, i.e. Gravis/Forte, type files, Gravis InterWave sound fonts, or AWE sbk/sf2 sound fonts. The InterWave font support was done by Greg Lee and the AWE support was done by Takashi Iwai. PLEASE READE THE SECTION TITLED "NOTES" FURTHER BELOW! thanks, Bernd KMidi 1.3-alpha ========= New: o This version is for KDE 2.0 only. o If you have a previous version, remove $KDEDIR/share/apps/kmidi/config/ before installing this version, since new versions of the files here won't be installed if you have old versions. An old timidity.cfg using your own patchset, however, should be compatible, unless you've used "order"/"exclude"/"font" statements for sf2 fonts (I removed support for these). o Click on the KMidi logo or drag the bottom of the panel down to see some new gizmos. o The midi modulation wheel is now implemented, and also portamento. o With the "eff" button down, you'll hear midi phaser, celeste, and better chorus and reverb effects (thanks to Nicolas Witczak). o Note the panel's channel display may be poorly synchronized with the sound on systems not using the OSS (Hannu Savolainen) driver for /dev/dsp, since linux_a.c uses an OSS specific call to find out how much has actually been played -- constructive suggestions are welcome. Greg Lee lee@hawaii.edu KMidi 0.4 ========= New: o timidity is back (use Makefile.tim; see "further notes" below) o support for GUS InterWave fonts (.fff/.dat files) o multiple AWE soundfonts (.sf2 files) o support for stereo or linked instruments in sound fonts o strict checking of patch declarations for soundfonts (no need to use "order" or "font" statements in cfg files) o sf2cfg utility constructs cfg files for AWE soundfonts o use patches in bank 8, etc. (bugfix) o buffered output to /dev/dsp0 (Linux/FreeBSD) or /dev/audio (Sun) o select patch set from command line with "-#<n>" o use experimental cutoff filters, AWE fonts only ("-q" disables this) o lyrics displayed in time (timidity "dumb" interface only) o primitive chorus depth and reverberation o vibrato works better for AWE soundfonts o set polyphony in cfg file Greg Lee lee@hawaii.edu KMidi 0.3 ========= New: Support for the following platforms: o Linux o FreeBSD o DEC OSF/1 o HP_UX o SUN o SUN SOLARIS and of course bug fixes ;-) Bernd wuebben@kde.org KMidi 0.2 This is the first public release of KMidi a midi to wav player/converter. If you have already given up on midi on Linux/Unix try this! Without expensive hard-ware such as a Gravis-Ultra sound or Sound-Blaster AWE 64 you will get fantastic sound comparable to what you get with the above mentioned hard-ware. FOR FREE! The catch: a) KMidi will use your CPU time: anywhere from 10 to 90% on my Pentium 120 at 32000 Hz. Typically about 30%, but it depends on the particular midi played. If you have a weaker machine, simply use the commandline options to reduce the sample frequency. You should be able to get very decent sound even on a 486 without straining your CPU. b) You need the sound patches. You can get a full set of general midi sound patches at any ultra sound archive. Typical storage requirements around 10 megs. Belive me for the sound you are going to get this is a small price to pay! KMidi uses Tuukka Toivonen's timidity 0.2i engine Copyright (C) 1995 Tuukka Toivonen <toivonen@clinet.fi> together with Takashi Iwai latest sound font patches ( This means you can also use sound fonts with KMidi) Where to get patches: (see also the html documentation) Check out the timidiy home-page (see below) which has a number of links and recommendations. Patches can also be found packaged as deb or rpm modules in the Redhat and Debian contribution directories. TimidityPage: http://www.clinet.fi/~toivonen/timidity/ Takahis's Page: http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/midi.html#TiMidity I realize this is a rough release, and I am sure that if you try hard enough you will be able to get KMidi to crash, but I think KMidi is already more than usable and will hopefull give you hours of fun. Rememeber Midi files are typically around 50k or leas and are therefore so easily downloaded that you will never run out of great midi's to play. TODO: o Make the myriad of command line options available through a configuration dialog. o Elaborate visual display of notes played ( This one is going to be FUN!!!) Best Regard, Bernd wuebben@kde.org wuebben@math.cornell.edu --------------------------------------------------------------- NOTES: --------------------------------------------------------------- Compiling: If you change cfg.l and you compile binaries in a directory different from the source directory, put a new copy of the cfg.cpp generated by flex into the source directory. ---------------------------------------------------------------- Obtaining patch files: See kmidi's configuration dialog for where to get some AWE "soundfonts". ------------------------------------------------------------------- Using patch files requires setting up .cfg files: A. See the other docs for GUS .pat files -- there are example .cfg files. B. The utility program sf2cfg will generate .cfg files for AWE soundfonts. Usually no hand-editing will be necessary. The banks/drumsets and names of patches must be given, since those that are not declared will not be loaded from files (GUS patch files or sound fonts) even though the patches are available. This way it's easy to exclude certain patches from a sound font so as to load better ones from a subseqently loaded font. Just don't declare them before you've asked to load the font. It is, thus, unnecessary to use the "font" and "order" statements implemented by Takashi Iwai and described in README.sf. (It is also not possible, since I've removed support for "font" and "order".) When the same patch of the same bank or drumset is declared more than once, only the first declaration counts. So put your best fonts first. There is a utility sf2cfg to construct a cfg file for a sbk/sf2 sound font, which spits out all the patches that are present in the font. Also, I've included sample cfg files for chaos8m.sf2 and chaos12m.sf2. If you have several patch sets and you've set up timidity.cfg appropriately, you can select among them with the command line switch "-#<n>". If a "source" statement in a cfg file is preceded, e.g., by a line "if 2", then the "source" statement will be skipped over unless "-#2" was given on the command line. A line "else" will cause the next "source" statement to be skipped if any non-zero n was requested by "-#<n>". Instead of using the command line "-p" to raise or lower the number of simultaneously playing notes, you can do in a cfg file, e.g., put: "voices 48" in timidity.cfg. ---------------------------------------------- Greg Lee, lee@hawaii.edu February, 2000
About
the old KDE kmidi application
svn://svn.kde.org/home/kde/trunk/kdemultimedia/kmidi
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published