Virtual Pipe Organ on Linux (VPO)
Last Update: 2008/07/21 (Since 2001/08/19)
CAUTION: This software is still test version.
Sorry, my English is bad.
With one or more MIDI keyboards, your PC running Linux works as a digital pipe organ!
The purpose of this software is similar with that of
SCPOP on Windows.
Thanks to the
by John Wynne McCoy,
you can obtain high quality sounds.
Allocating a sound into a stop.
Example of system construction
You can see some pictures in this page.
VPO with Viscount Organ
(The page is written in Japanese, but you can see 2 pictures here.)
Sample MP3 Files
Listen to these MP3 files with your headphones.
|File name||Title||Composer||Size||Soundfont||Registration||Reverb setting|
||Toccata (Version 0.2)
||Chanson de matin (Version 0.1)
||Fugue in G minor
||Fugue in G minor
||Nun danket alle Gott
||Fugue in E-flat major
||Toccata in F major
||Fantasia in G major
||Fantasia in G major
- PC that is running Linux
If you use TiMidity++(a software synthsizer) for the purpose of generating sounds, a powerful CPU is required(at least AthlonXP-1800+).
- Sound card
If you use TiMidity++ , the model of soundcard is not a matter. But if you want to purches a new soundcard, Sound Blaster Live!(or Audigy) is a good choice, because reverb effects might available with the card in the future.
- MIDI Keyboards
You can use up to four external MIDI keyboards.
- Reverb effector (Highly recommended)
You can use VPO without reverb effector, but in this case, the sounds is poor. Most soundfonts are not intended to be used without reverb. I'm using another Windows PC that SBLive is installed as a reverberator. Also, I sometimes use YAMAHA REV-500 reverbrator.
- Joystick (optional)
You can call stored combination memory by pressing a button on the joystick connected to your PC.
I tested this function by using a joystick with ten buttons
connected to my PC via USB port. VPO uses joystick device file /dev/js0.
- MIDI foot controller (optional)
By using MIDI foot controller, you can call registration memory
by pressing buttons near your feet. I'm using
MIDI WIZARD MP1288.
Volume pedals can be connected to this, so I'm considering
implementing a function of swell pedal.
- You need to prepare softwares such as GTK+, ALSA driver,TiMidity++
and Jeux soundfont file. For more detail, see below preparation instruction.
About sound generation
VPO uses the synthsizer on the SB Live! card or Timidity++ as a way of generating sounds.
The former has advantages of easy setup, quick response of sounds, But
also has a disadvantage of a limitation of an amount of voices that can speak
at a time(Maximum 64 voices).
On the other hand, the latter has an advantage that an amount of voices
speaking at the same time is limited only by the power of CPU,
but also have disadvantage that causes a little timelag between pressing
a key and speaking.
- Install C++ development environment and libraries of ALSA and GNOME.
If you are using Ubuntu 8.04, install packages 'g++', 'libasound2-dev', 'gnome-devel'.
- Download a source archive of VPO.
- Compule VPO.
- Extract archive file.
tar zxvf vpo_test_080721.tar.gz
- Chenge directory that existing VPO source codes.
- Download Jeux 1.4 soundfont file from
- Make directory /sf.
- Put soundfont file into /sf.
cp Jeux14.SF2 /sf
note:You can change the location of Jeux14.SF2 by modifing
initialization file(such as default.tbl).
If you want to a Wave-table synthsizer on SB Live! as a way of sound generation:
If you want to use TiMidity++:
- Load soundfont.
By writing above line into /etc/rc.d/rc.local, this is executed
every time of OS booting automatically.
How to launch the VPO
If you use SB Live! synthsizer and soundfont is loaded,
You need only to change directory exists VPO source and executable file,
and so, you can use.
If you use Timidity++, just type
on the directory existing sources and executable file of VPO.
Previously you needed to launch Timidity++ first.
But now, it is not necessary.
How to use
Using MIDI Foot Controller
By sending program change signal(0 to 9) to VPO, registration memory
is called. Channel number is one of 1 to 4.
By sending modulation depth signal to VPO, the volume level
of the third keyboard is varied. Channel number is one of
1 to 4.
This software is NO WARRANTY.
2008/07/21 Updated test version. Several bug fixes, etc.
2008/07/19 Updated test version. The VPO is still alive! Now the VPO can be used under Ubuntu 8.04 LTS. The problem that only bank 0 of Jeux14.sf2 can be used is solved.
2005/02/12 Updated test version. Compilation errors are solved where ALSA-1.0 or above is installed. Now, you cannot use VPO with alsa-0.5.
2003/01/10 Updated test version. Solved compilation errors when compiled with ALSA-0.9 or above.
2002/12/28 Updated test version. Several bugs were removed. Also, the way of discription of spefecication of SoundFont in registration file was changed.
Hereby the registration files created older version of VPO cannot read
by new version of VPO. I'm sorry. But, it is convenient for exchanging
registration files with others.
2002/08/25 Updated test version. Added a function of adjusting
2002/05/18 Updated test version. Added a function of calling
registration memory by using MIDI foot controller.
2002/05/09 Updated test version. The problem below was still
remaining.Solved the problem.
2002/03/31 Updated test version. Several problems were solved.
2002/03/24 Updated test version. Solved a problem of remaining sounds
when keys are released, if the keyboard sends note-off signals with
non-zero velocities. Added "VPO with Viscount Organ".
2002/03/23 Updated test version. Added a function of launching
Timidity++,ecasound from VPO, and also added a function of switching
Soundfont from VPO.
2002/03/17 Updated test version. Added a function of adjusting chorus
level(the amount of shifting pitches of all stops at random).
2001/10/28 Updated test version. Joystick supported.
2001/09/30 Updated test version. Fixed minor bugs.
2001/09/09 Updated test version. Supported ALSA 0.5x.
2001/09/02 Updated test version. Added a chorus function, etc. Fixed minor bugs.
2001/09/16 Opened a page in English.
2001/08/19 Uploaded Test version.
Atsushi Ueda (a-ueda (at) japan-net (dot) ne (dot) jp)