Aeolus is a synthesised (i.e. not sampled) pipe organ emulator that should be good
enough to make an organist enjoy playing it.
It is a software synthesiser optimised for this job, with possibly hundreds of controls for each stop, that enable the user to "voice" his instrument.
First presented at the 2nd LAD conference in Karlsruhe, end of April 2004.
Main features of the default instrument: three manuals and one pedal,
five eleven different temperaments, variable tuning, MIDI control of course,
stereo, surround or Ambisonics output, flexible audio controls including
a large church reverb.
Aeolus is not very CPU-hungry, and should run without problems on a e.g. a 1GHz, 256Mb machine.
moinejf note: The version 0.9.0 was downloaded from http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html.
Aeolus 0.10.0 - 2018-07-19
- Permit to do the control of the stops via notes of a MIDI (control) channel
(see the file
definition_dcs325for more information)
- Don't rewrite the instrument definition
- Save the tuning with the presets
- Save the presets on exit only when modified
- Fix a small problem of 0.9.0
AEOLUS 0.9.0 RELEASE NOTES 30/06/2013
- Replaced libalsadrv by libzita-alsa-pcmi
- Changed license to GPL3
AEOLUS 0.8.4 RELEASE NOTES 14/03/2010
- Five new temperaments provided by Hanno Hoffstadt and Adam Sampson.
- Added -s option to select Jack server.
- Now using libclalsdrv-2.0.0.
- Compiles without warnings with gcc-4.4.3.
AEOLUS 0.8.0 RELEASE NOTES 29/01/2008
**** Experimental release. ****
- Requires JACK >= 0.109
- Receives MIDI over JACK and via ALSA sequencer.
- -C option has been removed, use AmbDec instead.
- -B option via ALSA removed.
AEOLUS 0.6.6 RELEASE NOTES
The stops directory
The aeolus binary itself is a generic organ synth and does not define any instrument. In order to use Aeolus you need a directory containing definitions of stops and of an instrument. The one supplied with the current release has this structure:
stops-0.3.0 | |___ Aeolus | | | |____ definition | |____ presets | |___ Aeolus1 | | | |____ definition | |____ presets | |___ Aeolus2 | | | |____ definition | |____ presets | |___ ***.ae0 |___ ***.ae0 |___ ***.ae0 |___ ... | |___ waves | |___ ***.ae1 |___ ***.ae1 |___ ***.ae1 |___ ...
The 'Aeolus' directory is the default instrument directory. It contains two files: a 'definition' file that specifies the layout of the organ, and 'presets' that contains registration and midi presets.
There can be more than one instrument definition directory (in fact there are two more examples in the supplied stops-0.3.0). These can be selected with a command line option (see below).
The data in 'presets' only makes sense for one particular instrument, and that's why these files are kept together with the corresponding instrument definition. For binary distributions, there is a configuration option that will make Aeolus save the presets in the users's home (see below). This will allow the user to save presets for one instrument.
The *.ae0 files contain parameters for the additive synthesis. There is one such file for each rank of pipes in the organ. These are binary files and they should not be edited. 'Power users' can use the built-in synthesis editor to modify them (see section 5).
The waves directory will be empty initially. When Aeolus starts up, it will compute wavetables, one for each pipe. This is indicated by the flashing stop buttons. The same will happen whenever the tuning or temperament is changed. These wavetables can be saved (so Aeolus will be ready for use much faster next time), but only if the stops directory is writeable for the user. This will not be the case for a binary installation as the stops dir will be system-wide (e.g. /usr/share/Aeolus/stops-0.3.0).
In order to be able to save wavetables or edited stops the stops directory must be copied to a location where it can be modified by the user, (e.g. ~/stops-0.3.0).
Aeolus takes run-time options from three sources:
- the file /etc/aeolus.conf
- the file ~/.aeolusrc
- command line options
Apart from empty lines and comments (lines starting with '#')
either of the files should just contain the command line options
you want to use, on a single line (examples given below).
If the file in the home directory exists (even empty) then the one in /etc is not used. Options given on the command line override those given in either file.
Command line options are:
This is also the default. The option can be used to override a -A in the files.
Aeolus should work with the "default" device, but in recent ALSA releases this has a very large buffer size, and this may result in excessive latency. Use of a hardware device and the options below is recommended.
Sub-options for ALSA and their defaults are:
-d <device> (default) -r <sample rate> (48000) -p <period size> (1024) -n <number of periods> (2)
The default is 2 (stereo). Other legal values are 4 for four speakers in a square and 8 for eight speaker in cube setup. The built-in Ambisonics decoder used for the latter two formats is quite primitive and will be removed in future versions, to be replaced with a much better external application.
Speaker order for -C 4 is clockwise starting at front-left. For -C 8 the first four outputs are the 'bottom' speakers, and the next four the 'top' ones, each of them in the same order as for -C 4.
This options selects direct Ambisionics first order B-format output, to be used for recording or with an external decoder.
The default is ./stops.
This is relative to the stops directory. The default is 'Aeolus'.
This is relative to the stops directory. The default is 'waves'. This options mainly exists for use during development and should not be used.
This option is for use with binary distributions only. When used, the presets file will be stored into the user's home directory instead of within the system wide instrument directory.
Selects the text mode user interface. With this option Aeolus does not in any way depend on X11. In the current version the text mode UI is just an empty stub and should not be used.
Prints version information and a summary of all command line options.
For example if you always use Aeolus with ALSA device hw:0, using 3 periods of 512 frames and a sample rate of 44.1 kHz, and you have copied the stops directory to your home, then your ~/.aeolusrc could look like this:
# Aeolus default options -A -d hw:0 -n 2 -p 512 -r 44100 -S /home/login/stops-0.3.0
where 'login' is your login name.
3. Binary packages
This release permits packagers to install a working Aeolus without touching a users's home directory, as follows.
- Install the aeolus binary in /usr/bin and the two plugins in /usr/lib.
- Install the stops directory in /usr/share/Aeolus.
- Install this README into /usr/share/doc/packages/Aeolus.
Create the file /etc/aeolus.conf containing:
# Aeolus default options -u -A -S /usr/share/Aeolus/stops-0.3.0
This will use the default instrument 'Aeolus', and save the presets in .aeolus-presets in the users's home directory.
4. A quick tour of the GUI
4.1 The main window
4.2 The instrument window
4.3 The audio window
4.4 The midi window
5. Editing the synthesis parameters
6. Midi control of stop buttons
The protocol uses one controller number. The default is #98, but you can change this in global.h. The message is accepted only on channels enabled for control in the midi matrix.
The value is interpreted as follows:
v = 01mm0ggg
This type of messages (bit 6 set) selects a group, and either resets all stops in that group or sets the mode for the second form below.
mm = mode.
This can be:
00 disabled, also resets all elements in the group. 01 set off 10 set on 11 toggle
ggg = group, one of the button groups as defined in the instrument definition. In the GUI groups start at the top, the first one (for division III) being group #0.
The values of mm and ggg are stored and need not be repeated unless they change.
v = 000bbbbb
According to the current state of mode, this command switches a stop on or off, or toggles its state, or does nothing at all.
- bbbbb = button index within the group.
Buttons are numbered left to right, top to bottom within each group. The first one is #0.