wildmidi(1)

๐Ÿ’– wildmidi โ€” the manual, but make it cute ๐Ÿ’–

okay so bestie, you're reading wildmidi(1) from the WildMidi Player manual section, and honestly? this one's a vibe. it's the demo player for libWildMidi, and by the end of this page you're gonna know every single flag. no cap. โœจ


๐ŸŽ€ NAME ๐ŸŽ€

wildmidi โ€” the example player for libWildMidi. that's it. that's the whole name section. slay.

๐Ÿ“š LIBRARY ๐Ÿ“š

libWildMidi โ€” that's the library it's showing off. icon behavior tbh.

๐Ÿ—‚๏ธ FILES ๐Ÿ—‚๏ธ

  • /etc/wildmidi/wildmidi.cfg โ€” the default config file. the one it reaches for when you don't tell it otherwise. ๐Ÿ’…

โœจ SYNOPSIS โœจ

wildmidi [-0abehlnstvO] [-c config-file] [-d audiodev] [-m volume-level]
[-P playback-output] [-o file] [-f frequency-Hz(MUS)] [-r sample-rate]
[-g convert-xmi-type] [-x file] [-i seconds] [-j seconds] midifile ...

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so this is a demonstration program, right? its whole job is to show off what libWildMidi can do. main character energy fr.

midifile can be a MIDI type file in the HMI, HMP, MIDI, MUS or XMI formats โ€” it gets processed by libWildMidi and then the player spits the resulting audio out at you. ๐ŸŽง

and get this: you can put more than one midifile on the command line, and wildmidi will hand them over to libWildMidi for processing, one after the other. like a lil playlist. you can also use wildcards, for example:

wildmidi *.mid

obsessed. ๐Ÿซถ


๐Ÿ’… OPTIONS ๐Ÿ’…

  • -0 โ€” when you're converting with -x, this saves files that got detected as type 2 MIDI compatible as type 0 files instead.
  • -a | --textaslyric โ€” some files store their lyrics in text meta events. this makes it read lyrics from there instead of from lyric meta events. iykyk.
  • -b | --reverb โ€” turns on an 8 point reverb engine that adds depth to the final mix. it's giving "concert hall". ๐ŸŽ€
  • *-c config-file | --config config-file โ€” uses the configuration file stated by *config-file instead of /etc/wildmidi/wildmidi.cfg. and plot twist: config-file may also be a SoundFont2 (.sf2) file, or a timidity.cfg style file using the soundfont directive โ€” the file type is detected by content, not extension. sneaky but valid. ๐Ÿ‘‘
  • *-d audiodev | --device=audiodev โ€” send audio to *audiodev instead of the default device. here's the tea:
    • alsa : defaults to the system "default"
    • oss : defaults to "/dev/dsp"
    • netbsd : defaults to "/dev/audio"
    • Other environments do not support this option. sorry babes. ๐Ÿ’€
  • **-e | --enhanced โ€” use enhanced (Gauss) resampling for a richer sound, at the cost of extra CPU usage. prettier sound, hungrier CPU. tradeoffs, bestie.
  • **-h | --help โ€” displays command line options. the classic.
  • **-f | --frequency โ€” use frequency F Hz for playback (MUS). ๐ŸŽต
  • **-g | --convert โ€” Convert XMI. your options are:
    • 0 โ€” No Conversion (default)
    • 1 โ€” MT32 to GM
    • 2 โ€” MT32 to GS
  • *-i seconds | --playfrom=seconds โ€” begin playback at *seconds (fractions allowed) into the file. skip to the good part. โฉ
  • *-j seconds | --playto=seconds โ€” stop playback at *seconds (fractions allowed) into the file. know when to leave the party. โน๏ธ
  • **-l | --log_vol โ€” some MIDI files have been recorded on hardware that uses a volume curve, which makes them sound really badly mixed on other MIDI devices. use this option to use volume curves. it's a rescue mission. ๐Ÿ˜ญ
  • *-m volume-level | --mastervol=volume-level โ€” set the overall volume level to *volume-level. the minimum is 0 and the maximum is 127, with the default being 100. turn it up (but not past 127).
  • *-P playback-output | --playback=playback-output โ€” set *playback-output as the playback output. see the --help output for available playbacks. go look, it's right there. ๐Ÿ™ˆ
  • **-o file | --wavout=file โ€” records output to a signed 16 bit stereo format wav file. Implies: -P wave. two-for-one.
  • **-O | --opl3 โ€” use the built-in OPL3 FM synthesizer. no configuration file, GUS patch set or SoundFont is needed. literally nothing else required, she's self-sufficient. ๐Ÿ”ฅ
  • *-r sndrate | --rate=sndrate โ€” set the audio output rate to *sndrate. the default rate is 32072.
  • **-n | --roundtempo โ€” round tempo to nearest whole number. tidy. ๐Ÿงน
  • **-s | --skipsilentstart โ€” skips any silence at the start of playback. no awkward intro, straight to the chorus.
  • **-v | --version โ€” display version and copyright information. the receipts.
  • *-x file | --tomidi=file โ€” convert a MUS, XMI, HMP or HMI file to midi and save it as *file. glow-up in file format form. ๐Ÿฆ‹

๐Ÿงช TEST OPTIONS ๐Ÿงช

โš ๏ธ heads up bestie: these options are not designed for general use. instead, these options are designed to make it easier to listen to specific sound samples. they're a lab, not a lifestyle.
Note: These options are not displayed by -h | --help. secret menu energy. ๐Ÿคซ
  • *-k N | --test_bank=N โ€” set the test bank to *N. range is 0 to 127.
  • *-p N | --test_patch=N โ€” set the test patch to *N. range is 0 to 127.
  • **-t | --test_midi โ€” plays the built in test midi which plays all 127 notes. it's a full sweep. ๐Ÿ’œ

๐ŸŽฎ USER INTERFACE ๐ŸŽฎ

the player accepts limited user input that allows some interaction while playing midi files. yes, you're a DJ now. ๐ŸŽง

  • + โ€” turns the master volume up.
  • - โ€” turns the master volume down.
  • e โ€” turns enhanced resampling on and off.
  • l โ€” turns volume curves on and off.
  • r โ€” turns the final mix reverb on and off.
  • n โ€” play the next midi on the command line.
  • m โ€” save the currently playing file to a midi file. NOTE: this saves to the current directory. like, right there. check before you spam it.
  • p โ€” pause the playback. Note: since the audio is buffered it will stop when the audio buffer is empty. so it's a graceful pause, not an instant one. ๐Ÿ’€
  • . โ€” seek forward 1 second. Note: clears active midi events and will only play midi events from after the new position. new position, clean slate.
  • , โ€” seek backwards 1 second. Note: clears active midi events and will only play midi events from after the new position. same energy, other direction.
  • q โ€” quit wildmidi. farewell bestie. ๐ŸŒธ

๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

โœ๏ธ AUTHOR โœ๏ธ

Chris Ison <chrisisonwildcode@gmail.com> Bret Curtis <psi29a@gmail.com> โ€” absolute legends, both of them. ๐Ÿ‘‘

Copyright (C) WildMidi Developers 2001-2026

This file is part of WildMIDI.

WildMIDI is free software: you can redistribute and/or modify the player under the terms of the GNU General Public License and you can redistribute and/or modify the library under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the licenses, or(at your option) any later version.

WildMIDI 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 and the GNU Lesser General Public License for more details.

You should have received a copy of the GNU General Public License and the GNU Lesser General Public License along with WildMIDI. If not, see <http://www.gnu.org/licenses/>.

This manpage is licensed under the Creative Commons AttributionShare Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.


and that's the whole page!! ๐ŸŽ€ this was wildmidi(1) from the WildMidi Player manual, last touched 12 July 2026 โ€” mwah, go play some midi files bestie ๐Ÿ’–๐Ÿฆ‹โœจ

๐Ÿ“ฆ where this page comes from