-->
Home » » Midge, midi sequencing from the comfort of your text editor.
Friday
19 March 2010

Midge, midi sequencing from the comfort of your text editor.

Midge, for midi generator, is a text to midi translator. It creates type 1 (ie multitrack) midi files from text descriptions of music.

The source language used is documented in the man page, and demonstrated in the source files in the examples directory.

Midge is free software and you are welcome to redistribute it under the terms of the GNU General Public Licence.

Midge generates MIDI files from text input. Most General MIDI features are supported, and there are some basic methods of randomly generating sequences. Also included is a decompiler and an emacs mode.

Requirements.

Midge has been tested with Perl 5.8.0 on GNU/Linux, and ActiveState Perl 5.8.0 on Windows XP, and should work on any system with a basic installation of Perl 5.005 or higher. The last version tested with Perl 5.005 was version 0.2.27 but the latest version should still work.

The included midi2mg script additionally requires the MIDI modules by Sean M. Burke, which are available from CPAN.

Adserver      610x250

Current features.

* Sections of music can be predefined and reused multiple times, transposing if required.
* Allows nested repeats.
* Supports setting of reverb and chorus.
* Supports setting of note on/note off velocity.
* Supports setting of individual track volume.
* Supports setting of track/instrument names.
* Supports setting of key signature.
* Supports tuplets, which may be nested.
* Supports pitch bending and setting of pitch wheel range.
* Tempo and time signature can be changed within a track.
* Can choose a note or riff randomly from a list of notes and/or predefined riffs.
* Can choose multiple notes randomly from a list of (different length) notes or riffs to produce a riff of specified length.
* Can generate a sequence of notes from a user defined `chain' structure where for each note there is a weighted list of notes which may follow it.
* Can offset notes from the beat by either a specified or randomly chosen amount.
* Separate note on and note off events can be used to play simultaneous notes.
* Supports text marker events.
* Supports panning events.
* Supports bank changes.
* Supports rpn and nrpn controllers.
* Ranges (eg `8-64') can be used when setting the volume, pan, reverb, chorus, attack and decay, which causes a random value within the range to be used.
* An emacs mode with syntax highlighting for editing and compiling midge files and playing the resulting midi files (if you have a command line midi player). See README.elisp

Changes in this release.

* New head section keyword $bar_strict to check consistency of bars, giving an error or warning unless each track has the same number of bars and numbered bars appear at the same time in each track. (Patch contributed by Gary Wong).
* Fix for timing in chords.

Examples.

There are more examples included in the archive.

Installation.

To install, just unpack the archive and run:

* perl configure.pl

to configure the install path and the path to your perl executable, and then:

* make

to install the program and man page.

Download.

If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:

Related Post

Linux Links


0 commenti:

Post a Comment

Random Posts

  • ExTiX is a desktop Linux distribution and live CD based on Ubuntu.
    18.01.2012 - 0 Comments
    Previous versions of ExTiX were based on KNOPPIX/Debian. Version 7.0 of ExTiX was based on the Swiss Linux System Paldo. Version 8 of ExTiX was based on Debian Sid. ExTiX 9 x64 is a remaster of Ubuntu 11.10 released on 13 October 2011. The original…
  • SME Server is a Linux distribution based on CentOS offering an operating system for computers used as web, file, email and database servers.
    09.03.2010 - 0 Comments
    Ian Wells has announced the availability of the fifth beta release of SME Server 8.0, a CentOS-based server distribution: "The SME Server development team is pleased to announce the release of SME Server 8.0beta5 which is based on CentOS 5.4 and…
  • Firefox Minefield 3.6a1pre released
    29.03.2009 - 0 Comments
    Congratulations! You've downloaded or compiled a "trunk build". This means that you've volunteered to become part of the testing community.Helping out won't take much of your time, doesn't require special skills, and will help make future versions…
  • Gentoo Linux, Based on the Portage Management System
    04.02.2008 - 1 Comments
    The Gentoo Linux operating system is a Linux distribution based on the Portage package management system. The development project and its products are named after the Gentoo penguin. Gentoo package management is designed to be modular, portable,…
  • Using HP2XX a HP-GL Converter: Option Summary.
    15.04.2013 - 0 Comments
    In the following, options are grouped into subjects and are listed alphabetically within each subject. Both long options and short (one-letter) options are listed, where short options appear in parentheses.  Except for the +DPI option, there…
  • VLOS (Vidalinux Desktop OS) is a powerfull, stable and easy-to-use Linux distribution
    09.12.2009 - 0 Comments
    VLOS (Vidalinux Desktop OS) is a powerfull, stable and easy-to-use Linux distribution.The desktop components are based on the best projects of the open source community including the GNOME desktop environment, Firefox browser, Evolution mail and…
  • CRUX is a lightweight, i686-optimized GNU/Linux distribution.
    05.10.2010 - 0 Comments
    CRUX is a lightweight, i686-optimized GNU/Linux distribution targeted at experienced GNU/Linux users and delivered by a tar.gz-based package system with BSD-style initscripts. It also utilizes a ports system to install and upgrade…
  • Top 10 blog posts for January 2015 from Linuxlandit & The Conqueror Penguin.
    07.02.2015 - 0 Comments
    1.- Mixxx User Manual: Hardware Setup. This chapter describes the most common hardware setups to serve as examples. We will go over the setup of timecode records/CDs, MIDI control and keyboard control. Audio Output. Headphone cueing, or just…
  • SlimBoat Guide: Automatic Web Page Translation.
    27.02.2014 - 0 Comments
    With the built-in translation feature inside SlimBoat, translating web pages from one language to another has never been easier. SlimBoat supports translation between almost any languages in the world. SlimBoat supports both translation of a full…
  • EvilEntity, a distro for the desktop-not a server
    22.09.2009 - 0 Comments
    EvilEntity Linux is a i686 based multimedia-focused desktop OS designed for desktop home computers and professional multimedia productivity. It provides the Linux user with a Linux system optimized for audio, video, and desktop work. Download …

Recent Posts

Recent Posts Widget

Popular Posts

Labels

Archive

page counter follow us in feedly
 
Copyright © 2014 Linuxlandit & The Conqueror Penguin
-->