midi-input 0.04a ** What is midi-input? A minor mode for GNU Emacs on Linux to type note names (in GNU LilyPond format) with your MIDI keyboard. You can bind text or Emacs functions to "shifted" notes (i.e. notes you play very loudly or together with a special "shift" note). There are special functions for fast typing of repeated patterns (dotted rhythms or repeated articulations). ** This package contains: * midi-input.el: Emacs lisp code for a MIDI-input minor mode, for entering notenames (in GNU Lilypond format) with your MIDI keyboard This mode lets you also put any text or Emacs function under shifted keys (see above). There are special functions to capture and repeat rhythmic and/or articulation patterns. * midi-input.c: C source for a small program (needed by the Emacs midi-input mode) to read MIDI note-on events from a raw midi port, writing their MIDI note numbers to the standard output. Command line options control how to "shift" a note; shifted notes are written as negative numbers. ** How to get started: You need GNU Emacs (it works with 20.3). I only tried the thing on a linux machine, it might even work under MacOS or Windows (do they have a MIDI device which you can open with just a open (2) call?) Then (no fancy install scripts I'm afraid...): * Compile midi-input.c gcc -o midi-input midi-input.c * Test it: ./midi-input -h should print the command-line options, ./midi-input /dev/midi should make note numbers appear on your terminal when you play something. Kill with ^C. * Put it in your PATH: cp midi-input /usr/local/bin * Put midi-input.el in your emacs site-lisp-directory; byte-compile it if you want to. * Put (require 'midi-input) in your .emacs file. That's it. You now can toggle MIDI-input mode with M-x midi-input-mode. You can configure the thing with emacs 'configure' (look in the "Environment" group). Initially, the shift key is c, (cello C). shift-b, will toggle a help screen. ** Patterns You can "capture" rhythm or articulation patterns by selecting one of them and then playing shift-fis,. After you type a sufficient number of notes, just play shift-g, to impose the pattern on the recently typed notes Example: * play r g4 g8 r a4 a8 * select those notes and play shift-fis, * play f f g g * play shift-g, * you now have r f4 f8 r g4 g8 * play e e f f shift-g, etc... ** Enharmonisation The program tries to guess the spelling of the notes you type - do you mean a B-flat or an A-sharp? It will often guess wrong, in which case you can easily enharmonise the note (shift-f, by default). ******************************************************************** Copyright: GPL website: http://utopia.knoware.nl/~hlub/uck/software If you use it, please drop me a mail (hlub@knoware.nl)!