Difference between revisions of "Tutorials/MIDI on Linux"

Jump to: navigation, search
(Marked this version for translation)
(Added Special:myLanguage, removed emphasis in links)
 
(One intermediate revision by one other user not shown)
Line 9: Line 9:
  
 
<!--T:3-->
 
<!--T:3-->
There are MIDI files with the .MID extension, containing music in MIDI data format. One way to explain it is in culinary terms. Listening to music on a Compact Disc is similar to eating in a restaurant, and MP3 would be comparable to fast food. In addition, a MIDI file is like a recipe: you have to get the proper ingredients and use cooking utensils. Instead of oven, pots and pans you will be using MIDI synthesizers. Like any good geek and Linux user, you will want to change the recipe and ingredients. Then do it! In [[KMid2|KMid]] you can open the "channels" window and switch the piano for a guitar or whatever you prefer.
+
There are MIDI files with the .MID extension, containing music in MIDI data format. One way to explain it is in culinary terms. Listening to music on a Compact Disc is similar to eating in a restaurant, and MP3 would be comparable to fast food. In addition, a MIDI file is like a recipe: you have to get the proper ingredients and use cooking utensils. Instead of oven, pots and pans you will be using MIDI synthesizers. Like any good geek and Linux user, you will want to change the recipe and ingredients. Then do it! In [[Special:myLanguage/KMid2|KMid]] you can open the "channels" window and switch the piano for a guitar or whatever you prefer.
  
 
==External MIDI Synthesizers== <!--T:4-->
 
==External MIDI Synthesizers== <!--T:4-->
Line 35: Line 35:
  
 
<!--T:11-->
 
<!--T:11-->
'''SoundFont files'''can also be loaded manually. Read the manual of '''asfxload"'''for more information.  
+
'''SoundFont files'''can also be loaded manually. Read the manual of '''asfxload''' for more information.  
  
 
==Software Synthesizers== <!--T:12-->
 
==Software Synthesizers== <!--T:12-->
  
 
<!--T:13-->
 
<!--T:13-->
The classic software synthesizer for Linux is '''[http://timidity.sf.net TiMidity++]''', but the latest release is from 2004. It requires sound samples in ''GUS'' or ''SF2'' format. It can be used independently as a player, but if you want to use it in conjunction with other ALSA sequencer compatible programs, you must provide the "-iA" option, for example:
+
The classic software synthesizer for Linux is [http://timidity.sf.net TiMidity++], but the latest release is from 2004. It requires sound samples in ''GUS'' or ''SF2'' format. It can be used independently as a player, but if you want to use it in conjunction with other ALSA sequencer compatible programs, you must provide the "-iA" option, for example:
  
 
<!--T:14-->
 
<!--T:14-->
Line 46: Line 46:
  
 
<!--T:15-->
 
<!--T:15-->
Another software synthesizer, with modern and modular design and active maintenance is '''[http://www.fluidsynth.org FluidSynth]'''. It uses sound samples in ''SF2'' format, and has a friendly graphic interface called '''[http://qsynth.sf.net QSynth]'''. You can also run it from the command line, for example:
+
Another software synthesizer, with modern and modular design and active maintenance is [http://www.fluidsynth.org FluidSynth]. It uses sound samples in ''SF2'' format, and has a friendly graphic interface called [http://qsynth.sf.net QSynth]. You can also run it from the command line, for example:
  
 
<!--T:16-->
 
<!--T:16-->
Line 58: Line 58:
  
 
<!--T:19-->
 
<!--T:19-->
The graphical configuration of '''[http://qsynth.sf.net QSynth]''' is quite simple. See the following example [http://qsynth.sourceforge.net/qsynth-screenshots.html screenshots].
+
The graphical configuration of [http://qsynth.sf.net QSynth] is quite simple. See the following example [http://qsynth.sourceforge.net/qsynth-screenshots.html screenshots].
  
 
==SoundFont Files== <!--T:20-->
 
==SoundFont Files== <!--T:20-->

Latest revision as of 09:16, 10 October 2010

Other languages:
català • ‎dansk • ‎English • ‎español • ‎italiano • ‎português do Brasil • ‎русский • ‎українська
Dialog-information.png
 
Information
MIDI is a set of technologies related to musical data description and transmission, but not a digital audio format. To use most MIDI software on Linux, like on any other operating system, a MIDI synthesizer is required.


A MIDI synthesizer converts MIDI events into sound. The synthesizer can be an external hardware device, or integrated into a sound card. It may also be a software synthesizer, i.e. a program.

There are MIDI files with the .MID extension, containing music in MIDI data format. One way to explain it is in culinary terms. Listening to music on a Compact Disc is similar to eating in a restaurant, and MP3 would be comparable to fast food. In addition, a MIDI file is like a recipe: you have to get the proper ingredients and use cooking utensils. Instead of oven, pots and pans you will be using MIDI synthesizers. Like any good geek and Linux user, you will want to change the recipe and ingredients. Then do it! In KMid you can open the "channels" window and switch the piano for a guitar or whatever you prefer.

External MIDI Synthesizers

These are musical instruments that can be connected to the computer, or to other instruments through MIDI cables. To do this, your computer must have a MIDI interface. There are sound cards with MIDI interfaces, and also USB adapters supported by ALSA with the corresponding kernel module. There are even MIDI instruments that can be connected directly to your computer via USB. In any case, you should check that the MIDI interface model is supported by ALSA at the ALSA project site

In summary, this option will need:

  • MIDI Interface
  • ALSA Driver for the MIDI interface
  • MIDI Cables

Hardware Synthesizer Sound Cards

Some sound cards, such as the ones manufactured by Creative Labs (SB AWE, Sound Blaster Live! and Audigy) have a MIDI synthesizer using wave-table sound samples as a synthesis method. These samples are being loaded into the sound card before using MIDI software, preferably at system boot. If you own one of these cards:

  • In addition to ALSA, also install the software package awesfx which includes the sound samples loader, ALSA scripts and udev rules to automatically load on system boot.
  • Install SoundFont files provided by the manufacturer or other alternative SF2 files in /usr/share/sounds/sf2.
  • Edit the configuration file /etc/sysconfig/sound. On the value for the key SOUNDFONT_FILES, provide the name of one or several SF2 files that must be loaded on system startup. The file names and locations may vary from one distribution to another, these instructions apply to openSUSE.

SoundFont filescan also be loaded manually. Read the manual of asfxload for more information.

Software Synthesizers

The classic software synthesizer for Linux is TiMidity++, but the latest release is from 2004. It requires sound samples in GUS or SF2 format. It can be used independently as a player, but if you want to use it in conjunction with other ALSA sequencer compatible programs, you must provide the "-iA" option, for example:

timidity -iA

Another software synthesizer, with modern and modular design and active maintenance is FluidSynth. It uses sound samples in SF2 format, and has a friendly graphic interface called QSynth. You can also run it from the command line, for example:

fluidsynth -a alsa /usr/share/sound/sf2/soundfont.sf2

or:

fluidsynth -a pulseaudio /usr/share/sound/sf2/soundfont.sf2

The graphical configuration of QSynth is quite simple. See the following example screenshots.

SoundFont Files

These files represent the fish, meat and vegetables in your MIDI recipe. Here are some recommendations.


This page was last modified on 10 October 2010, at 09:16. Content is available under Creative Commons License SA 4.0 unless otherwise noted.