abc2midi is a program for creating MIDI files from ABC files. It contains special features, such as handling multivoiced files, expanding guitar chords into bass chordal accompaniment, transposing individual voices, and adding percussion accompaniment.
aconnectgui is a graphical utility to connect and disconnect two existing ports on ALSA sequencer system. The ports with the arbitrary subscription permission, such as created by aseqview, can be connected to any (MIDI) device ports.
ALSA Patch Bay
ALSA Patch Bay is a graphical patch bay for the ALSA sequencer API and the JACK audio API. It can use FLTK or GTKmm for the interface and take advantage LASH session management.
AMIDI-Plug is a MIDI input plugin for XMMS/BMP/Audacious. It processes MIDI files and sends their events to one or more ALSA sequencer client ports. Any hardware or software synthesizer, as long as it provides ALSA sequencer ports, can be used to play MIDI with AMIDI-Plug.
amidimap is a MIDI mapper for ALSA that allows filtering and alteration of MIDI events. For example, it can be used to turn GM MIDI streams into streams suitable for a non-GM sequencer, or to disable the drum track.
aseqjoy is a joystick to ALSA MIDI Sequencer Converter. In fact it's a really tiny piece of software that turns a joystick into a MIDI controller for the ALSA sequencer infrastructure.
Ctrlr controls MIDI based musical (or other) devices. There are surfaces built for specific devices to give a nice look and feel.
Dr Fermi tabulator
Dr Fermi tabulator is for converting Ascii tabulature (for guitar, bass guitar and drums) to MIDI files.
Guenthers Midi Compiler is a tool to convert text to midi. It has a tutorial, sample files and documentation.
GMidiMon is a simple GTK MIDI Monitor featuring OSS support, or ALSA with OSS emulation.
Laborejo, Esperanto for "Workshop", is used to craft music through notation. It is a graphical user interface for Lilypond, a MIDI creator and finally a tool collection to inspire and help you compose.
MIDI Controller is a small program that lets you set MIDI controller values using sliders and buttons in a GTK+ window. The GUI is an XML-based Glade file which can be replaced without rebuilding the program, so you can build your own controller GUIs in Glade.
Midid is a general purpose MIDI system for Unix. The system allows you to control multiple MIDI interfaces for sequencing or other purposes.
mididings is a MIDI router/processor implemented as a Python module. It's primarily geared towards live keyboardists, but should be useful for MIDI processing in other settings as well. While the actual MIDI processing is done in C++ for speed reasons, it is possible to explicitly call back into Python, allowing you to process MIDI events any way you want.
midikb is a text mode program that sends MIDI note-on/note-off messages according to key presses on your keyboard.
This project aims to do a real-time audio note recognition software for monophonic signals (like solos). The input must be a monophonic wave signal (only one voice, with one melodic instrument). The result are MIDI events launched trough the ALSA sequencer. (recognized notes are printed to the standard output too)
Midirecord is a simple commandline application to record a midi file with your midi keyboard. It also features automatic recording to a midi file when you play electric piano (therefore it may be used as a "recording daemon").
midirgui is a simple midi router, routes midi channel messages to the specified ALSA sequencer ports for each midi channel, you can specify what ports, default output channel and midi velocity sensitivity offset for each channel.
multimidicast sends and receives MIDI from Alsa sequencers over network. It uses UDP multicast datagrams and is thus subscriptionless and plug'n'play.
It is designed to interoperate with the windows software ipMIDI.
Musical MIDI Accompaniment
Musical MIDI Accompaniment is an accompaniment generator -- it creates midi tracks for a soloist to perform over from a user supplied file containing chords and MMA directives.
NOTEMIDI is a Linux interface for MIDI output via the RS-232 serial port on notebook (laptop) computers. NOTEMIDI can be used with the MIDIator MS-124W interface, Roland Sound Canvas sound modules or Yamaha MU-x series sound modules.
Pymprovisator emulates the program Band in a Box from PG Music. You can think in it like the electronic version of the books+CD from Jamey Aebersold.
QMidiArp is a MIDI-Arpeggiator.
QMidiControl is a virtual MIDI fader box.
QMidiRoute is a MIDI router and filter utility.
qtpod is a QT application which can control your Line6 POD 2.0 and POD Pro via MIDI. Currently the ALSA midi sequencer API is supported.
QXGEdit is a Qt framework GUI for editing MIDI System Exclusive files for XG devices (eg. Yamaha DB50XG).
Ratón translates mouse movements into MIDI controller messages. Those movements are mapped through a user-defineable curve, which can change the characteristics of the mouse's location. Changing the curve can then expand, contract or step the controller messages to match the specific purpose.
Rumor is a realtime monophonic (with chords) MIDI keyboard to Lilypond converter. It receives MIDI events, quantizes them according to its metronome on the fly and outputs handwritten-like corresponding Lilypond notation. Tempo, meter, key and other parameters can be set via command-line options.
Scheme Note is a Scheme-like music file format and MIDI conversion tool. It takes a text file, which is a representation of a song, loosely tied to a MIDI-like event structure, and outputs a corresponding MIDI file.
Shelljam is a cross-platform console application that transforms keystrokes into MIDI events and hence, lets you use your computer keyboard like any other MIDI input device.
synthclone is a Qt-based application that can "clone" your MIDI-capable instruments. It does this by sending out MIDI data that instructs an instrument to emit sounds for a series of notes, velocities, controls, and aftertouch values. It then saves this data as a sample-based instrument that can be loaded by sampler software.
SynthEd is an attempt to build a cross-platform universal editor/librarian for MIDI music synthesizers. SynthEd will leverage XML and wxPython to support synthesizers with minimal coding.
SysExxer is a small utility to send and receive system exclusive data to resp. from MIDI devices like synthesizers.
Virtual MIDI Piano Keyboard
Virtual MIDI Piano Keyboard is a MIDI event generator and receiver. It doesn't produce any sound by itself, but can be used to drive a MIDI synthesizer (either hardware or software, internal or external). You can use the computer's keyboard or mouse to play MIDI notes. You can use the Virtual MIDI Piano Keyboard to display the played MIDI notes from another instrument or MIDI file player.
wave2mid is a utility to convert audio to MIDI.
Wechselspieler is an interactive tool to transform movement information coming from a file or camera based video stream into sound in realtime using the MIDI protocol. It features an easy to use GUI for defining and editing the image region to MIDI mappings.
xphat is a program that provides the functionality associated with MIDI slider/fader boxes such as the Peavey PC-1600 and the Phat Boy. Its a device for controlling other MIDI devices that respond to MIDI messages in useful ways. Such devices could include external MIDI synthesizers, soundcard-based synthesizers that can be controlled via MIDI, MIDI effects processors, MIDI software tools, software sequencers such as Rebirth or Softwerk; basically, any MIDI device.
XPMIDI saves favorite midi directories in its rc file, and handles the turning off of notes if a play is interrupted. It features an easy to use GUI.