SimulPiscator / aeolus

Aeolus is a high quality pipe organ emulator using additive synthesis.
https://kokkinizita.linuxaudio.org/linuxaudio/aeolus/
GNU General Public License v3.0
16 stars 2 forks source link
aeolus coreaudio coremidi linux macos music musical-instrument organ-synthesizer pipe-organ

AEOLUS 0.9.9 RELEASE NOTES 18/6/2020

Bugfixes.

AEOLUS 0.9.8 RELEASE NOTES 7/10/2019

Maintenance release.

AEOLUS 0.9.7 RELEASE NOTES 25/08/2018

Maintenance release.

AEOLUS 0.9.5 RELEASE NOTES 05/05/2017

Maintenance release.

AEOLUS 0.9.0 RELEASE NOTES 30/06/2013

Maintenance release.

AEOLUS 0.8.4 RELEASE NOTES 14/03/2010

AEOLUS 0.8.0 RELEASE NOTES 29/01/2008

Experimental release.

AEOLUS 0.6.6 RELEASE NOTES

  1. 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).

  1. Run-time configuration

Aeolus takes run-time options from three sources:

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:

(audio interface)

-J Use JACK. This is also the default. The option can be used to override a -A in the files.

-A Use ALSA. 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) 

(output format)

-B This options selects direct Ambisionics first order B-format output, to be used for recording or with an external decoder. The default is stereo output.

(resources)

-S

     The default is ./stops.

-I

     This is relative to the stops directory.
     The default is 'Aeolus'.

-W

     This is relative to the stops directory.
     The default is 'waves'. This options mainly exists
     for use during development and should not be used.

-u 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.

(general)

-t 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.

-h 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.

  1. Binary packages

This release permits packagers to install a working Aeolus without touching a users's home directory, as follows.

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.

  1. A quick tour of the GUI

4.1 The main window

TBC

4.2 The instrument window

TBC

4.3 The audio window

TBC

4.4 The midi window

TBC

  1. Editing the synthesis parameters

TBC

  1. 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.

EOF