# New Engine Implementation: Aeolus (Pipe Organ Emulator)

**URL:** <https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060>\
**Category:** Development\
**Created:** [July 9, 2018, 9:43pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060 "2018-07-09T21:43:34Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [July 9, 2018, 9:43pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/1 "2018-07-09T21:43:34Z")

</div>

Following ou discussion on another thread, I’ve successfully ran Aeolus on Zynthian.  
All the configuration has been done on the command line, so there is no real engine integration for now, but this should now be easy as it is known to work.

Here below is the process i did 🙂

* * *

## Zynthian RPI install Aeolus HOWTO

1. connect to your box  
ssh -Y root@zynthianIP

2. install aeolus  
root@zynthian:~# apt-get install Aeolus

3. start Aeolus  
root@zynthian:~# aeolus &

- (X window is opening on local computer, Aeolus is creating stops files automaticly with blinking buttons, wait a moment)
- shell says : “Can’t open ‘/root/.aeolus-presets’ for reading” as the file does not exist

1. lsit jack ports to check is it ok  
root@zynthian:~# jack\_lsp  
system:playback\_1  
system:playback\_2  
ttymidi:MIDI\_in  
ttymidi:MIDI\_out  
Zyncoder:output  
Zyncoder:input  
aeolus:out.L  
aeolus:out.R  
aeolus:Midi/in

2. connect audio and midi ports  
root@zynthian:~# jack\_connect aeolus:out.L system:playback\_1  
root@zynthian:~# jack\_connect aeolus:out.R system:playback\_2  
root@zynthian:~# jack\_connect ttymidi:MIDI\_in “aeolus:Midi/in”

3. set Aeolus midi ports  
go to aeolus panel, open MIDI window, select midi channel for the keyboards (P,I,II,III)

(simple and fast screenshots here in french [https://doc.ubuntu-fr.org/aeolus#installation](https://doc.ubuntu-fr.org/aeolus#installation) )

1. play  
play on you midi keyboard and Voilà !

aeolus process is using ~15% cpu on RPi2 when idle

* * *

PART 2 : mididings filter

1. install mididings  
root@zynthian:~# apt-get install mididings

2. start script  
root@zynthian:~# python aeolus.py &

3. start alsa midi bridge  
root@zynthian:~# a2jmidid &

4. list jack ports  
root@zynthian:~# jack\_lsp  
system:playback\_1  
system:playback\_2  
ttymidi:MIDI\_in  
ttymidi:MIDI\_out  
Zyncoder:output  
Zyncoder:input  
aeolus:out.L  
aeolus:out.R  
aeolus:Midi/in  
a2j:Midi Through [14] (capture): Midi Through Port-0  
a2j:Midi Through [14] (playback): Midi Through Port-0  
a2j:aeolus [128] (playback): In  
a2j:mididings [129] (playback): in\_1  
a2j:mididings [129] (capture): out\_1

5. disconnect jack midi ports (if connected)  
root@zynthian:~# jack\_disconnect ttymidi:MIDI\_in aeolus:Midi/in

6. connect midi ports  
root@zynthian:~# jack\_connect ttymidi:MIDI\_in “a2j:mididings [129] (playback): in\_1”  
root@zynthian:~# jack\_connect “a2j:mididings [129] (capture): out\_1” aeolus:Midi/in

7. set Aeolus midi ports  
go to aeolus panel, open MIDI window, select midi channel for CONTROL

8. play  
play on you midi keyboard and Voilà !  
Notes are still going through, and CC filter is ready

(see video if i can upload somwhere)

* * *

I’m really happy with it, great latency, superb sound !

One more hint : after you clicked “Save” on Aeolus interface, files are created  
Writing ‘/usr/share/aeolus/stops/Aeolus/definition’  
Writing ‘/root/.aeolus-presets’  
Writing ‘/usr/share/aeolus/stops/Aeolus/definition’  
Writing ‘/root/.aeolus-presets’

Can someone help to create the necessary engine/script files to be able to use Aeolus as an instrument ?

The wiki page [http://wiki.zynthian.org/index.php/Zynthian\_Devel\_Engine](http://wiki.zynthian.org/index.php/Zynthian_Devel_Engine) doesn’t says much about starting another program like mididings (needed for stops control)

---

<div class="post-metadata">

**Author:** ![mheidt](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/mheidt/32/773_2.png) [@mheidt](https://discourse.zynthian.org/u/mheidt)\
**Post date:** [July 10, 2018, 5:49pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/2 "2018-07-10T17:49:02Z")

</div>

I don’t think, @jofemodo will approve mididings as requirement.  
It has to be setup without.

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [July 10, 2018, 5:48pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/3 "2018-07-10T17:48:18Z")

</div>

If the CC calculations could be done without mididings (integrated zynhian midi filter ?) Then hopefully we can have it working.  
Unless we could display the aeolus Gui, not having acces to the CC control renders the software useless.

---

<div class="post-metadata">

**Author:** ![hammerandtongs](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/h/6f9a4e/32.png) [@hammerandtongs](https://discourse.zynthian.org/u/hammerandtongs)\
**Post date:** [July 10, 2018, 6:54pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/4 "2018-07-10T18:54:30Z")

</div>

You might have a look at -

> <https://github.com/zynthian/zynthian-ui/blob/master/zyngine/zynthian_engine_setbfree.py>

Which is pretty short and clear.

I think the CC issue will sort itself with the midi changes coming along but all this boring clerical work of making the zynengine file for it needs to be done as well.

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [July 10, 2018, 8:04pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/5 "2018-07-10T20:04:00Z")

</div>

@hammerandtongs yes i will do this file so the engine can be started as is for now.

The midi CC input of Aeolus is just non standard, In order to change a button state (called a “stop”), you need to send two CC messages.  
So declaring something like [‘reverb’,91,4,127,‘reverbmix’] would not make sense.

May we do the midi tweaks inside this file or is it just declarative ?

---

<div class="post-metadata">

**Author:** ![hammerandtongs](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/h/6f9a4e/32.png) [@hammerandtongs](https://discourse.zynthian.org/u/hammerandtongs)\
**Post date:** [July 10, 2018, 8:35pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/6 "2018-07-10T20:35:16Z")

</div>

Well looking here - [https://github.com/zynthian/zynthian-ui/blob/a084967b541bbf2ee41233dd52366aa053b90c6c/zyngine/zynthian\_engine.py#L386](https://github.com/zynthian/zynthian-ui/blob/a084967b541bbf2ee41233dd52366aa053b90c6c/zyngine/zynthian_engine.py#L386)

It looks like a straight mapping. This is part of where whatever new midi remapping logic would have to go in concert with some kind of logical way of describing the behaviour via the zynengine file for the synths.

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [July 10, 2018, 8:41pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/7 "2018-07-10T20:41:03Z")

</div>

you are absolutely correct !  
with a keyword in the controllers definition, one could hope for a change from “Default implementation uses a static controller definition array” to “a little bit of python code to change the midi messages” 🙂 (and that’s exactly what the mididings script does)

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [July 10, 2018, 8:53pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/8 "2018-07-10T20:53:35Z")

</div>

videos here  
[setup](https://www.youtube.com/watch?v=RYJUa58f0Pw&feature=youtu.be)  
[play](https://www.youtube.com/watch?v=9OSwvy6wh1E&feature=youtu.be)

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [July 12, 2018, 10:35am UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/9 "2018-07-12T10:35:29Z")

</div>

Hi @jerash,

Great work!! Could you give some examples of MIDI mapping with mididings and eolus?  
I will come back from holidays the Next week and i will give a deeper look …

Thanks!!

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [July 13, 2018, 8:24pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/10 "2018-07-13T20:24:51Z")

</div>

Hi,

Midi mapping is « simple »

1. all midi NOTE messages go thru, nothing to do with those, whatever midi channel.
2. I have not tried PC and Bankchange messages explained here under.
3. CC messages used to enable/disable a button in aeolus need to be « filtered » with a special calculation, that’s exactly what the mididings script does (in python with a convenient library), and is self-explanatory :

> ```
> def aeolus_button(ctrl, group, button):
> return CtrlFilter(ctrl) >> CtrlValueSplit(64,
> [Ctrl(98, 0x50 | group), Ctrl(98, button)],
> [Ctrl(98, 0x60 | group), Ctrl(98, button)]
> )
> 
> run(
> Filter(CTRL) % (
> [aeolus_button( n, 0, n) for n in range(12)] +
> [aeolus_button(12 + n, 1, n) for n in range(13)] +
> [aeolus_button(25 + n, 2, n) for n in range(16)] +
> [aeolus_button(41 + n, 3, n) for n in range(16)]
> )
> )
> 
> ```

A « Stop » is the pipe organ name for panel buttons enabling a certain pipe sound.  
The script is expecting on input :

- a CC message between 0-56
- a value \< 64 means : deactivate button
- a value \>= 64 means : activate button  
Those CC message are mapped to the 57 buttons of the Aeolus default instrument.

Aeolus is expecting 2 CC98 messages (default defined in global.h at compilation) to move one button, because buttons are organised into « groups » and you first need to explicitly select the group, this is where the calculation occurs when a message is received.  
The first CC message to send is the « group » selection  
The second midi message to send is the « button » action

Examples (calculation by head, hopefully correct) :  
When the script receives a CC 07 with value 32, it means switch off the seventh button, and translates to :

- CC 98,0x50 (select group 0, and set off)
- CC 98,0x06 (on seventh button of this group)  
When the script receives a CC 13 with value 90, it means switch on the thirteenth button (first button of group 1), and translates to :
- CC 98,0x61 (select group 1, and set on)
- CC 98,0x01 (on first button of this group)

here under is the explanation in details from [GitHub - fugalh/aeolus: Aeolus is a high quality pipe organ emulator using additive synthesis.](https://github.com/fugalh/aeolus) :

> 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.
> 
> ```
> 
> Presets can be set and recalled with the MIDI Program Change message. The bank  
> of presets can be selected with the bank select message.
> 
> 1100cccc 00sppppp  
> Program change (on channel c): set or recall program (p). If s is 0,  
> preset is recalled, if s is 1 preset is stored
> 
> 1011cccc 00000000 000bbbbb  
> Bank select on channel c.
> 
> As always the message is only accepted on channels enabled for control in the  
> midi matrix.

—

hope this helps

Raphaël

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [July 13, 2018, 8:32pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/11 "2018-07-13T20:32:04Z")

</div>

> [@jerash](#):
>
> The values of mm and ggg are stored and need not be repeated unless they change.

this part is not implemented int the mididings script for sake of simplicity, that’s why it always send 2 CC98 message, which doesn’t hurt.

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [July 18, 2018, 2:01am UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/12 "2018-07-18T02:01:59Z")

</div>

OK! Understand …  
I’m thinking the best way of integrating mididings as an advanced option. Why not? 😉

Regards,

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [August 1, 2018, 12:53am UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/13 "2018-08-01T00:53:23Z")

</div>

Hi @jerash!

I’ve a initial version of the aeolus engine. I’ve implemented the stop mechanism directly in the engine, without using mididings. The code is really simple:

```
	def send_controller_value(self, zctrl):
		try:
			val=zctrl.get_label2value()
			logging.debug("Sending controller '%s' value => %s" % (zctrl.symbol,val))
			if val=="on":
				mm="10"
			elif val=="off":
				mm="01"
			else:
				mm="11"
			v1="01{0}0{1:03b}".format(mm,zctrl.graph_path[0])
			v2="000{0:05b}".format(zctrl.graph_path[1])
			self.zyngui.zynmidi.set_midi_control(zctrl.midi_chan,self.stop_cc_num,int(v1,2))
			self.zyngui.zynmidi.set_midi_control(zctrl.midi_chan,self.stop_cc_num,int(v2,2))
			logging.debug("Stop Change => mm={}, group={}, button={})".format(mm,zctrl.graph_path[0],zctrl.graph_path[1]))
		except Exception as e:
			logging.debug(e)

```

I would like to improve it a little bit more before making a release, but i need some help from you:

1.) Does exist some way of generating and **saving** the Aeolus wave files without using the GUI? The only way i’ve found is clicking “save” from the GUI…

2.) The current engine’s version has the “Default Instrument” structure hardcoded in. It would be possible to parse the “definition file”, but before doing it i would like to know if people like you (a Pipe Organ Expert 😉 ) find this feature interesting and how much interesting is.

3.) Regarding the “presets”: The current engine version can send “Program Change” messages for loading presets, but the zynthian controllers doesn’t show the loaded values. Bad! For reflecting the loaded values, i need to parse the presets file, that is a binary file. It’s not specially complex because the Aeolus code is pretty straighforward and easy to understand:

> <https://github.com/fugalh/aeolus/blob/f2e11c965a72a2b9a7936adcf12633c5377adda0/source/model.cc#L1316>

Anyway, i would like to hear your opinion about it. Are aeolus “presets” really useful? Do you use it frequently? Do you have a better solution?

Kind Regards,

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [August 1, 2018, 7:14pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/14 "2018-08-01T19:14:47Z")

</div>

Hi @jofemodo

> [@jofemodo](#):
>
> I would like to improve it a little bit more before making a release, but i need some help from you:

yes sure, this is really awesome that you had done the logic in the engine definition, **really really nice work !**

If you want me to test something on my zynthian, please send me some files to try !

> [@jofemodo](#):
>
> 1.) Does exist some way of generating and **saving** the Aeolus wave files without using the GUI? The only way i’ve found is clicking “save” from the GUI…

From what I know there are 2 options to use :

- on the first run (with the gui) it checks wheter the files exist, if not then it is creating them (it takes about one minute or two).
- if the necessary files are copied in the revelant directories BEFORE aeolus is ever started, it will use those files.

I think you want the second option. Meaning that those files generated on another unit must be part of a “static package” for aeolus engine.

Also note that the default directory /usr/share/Aeolus/stops-0.3.0 must be writable but the user running aeolus for the files to be **saved** for next startup.

Cicking “Save” on the GUI, is only for saving presets and options from what i’ve seen.

> [@jofemodo](#):
>
> 2.) The current engine’s version has the “Default Instrument” structure hardcoded in. It would be possible to parse the “definition file”, but before doing it i would like to know if people like you (a Pipe Organ Expert 😉 ) find this feature interesting and how much interesting is.

I don’t really get what you want to achieve here ?  
But I you think about modifying the instrument temperament (all the cursors in the audio option window), which would need a recalculation of the wave files, then I think it is not necessary as most users are ok with the default sound.

> [@jofemodo](#):
>
> 3.) Regarding the “presets”: The current engine version can send “Program Change” messages for loading presets, but the zynthian controllers doesn’t show the loaded values. Bad! For reflecting the loaded values, i need to parse the presets file, that is a binary file. It’s not specially complex because the Aeolus code is pretty straighforward and easy to understand:  
> Anyway, i would like to hear your opinion about it. Are aeolus “presets” really useful? Do you use it frequently? Do you have a better solution?

Yes they are usefull because when they play a song, or another they will use different stops combination.  
And sometimes, with complex or long songs, they will need to change the sound while playing.  
Most of these changes involve to switch on and off up to 10 switches, and is not doable while playing.

Organs which often have at minimum 2 hand keyboards + 1 foot pedal keyboard, have 6 presets for each keyboard in standard.  
Here Aeolus only has “global” presets that will change the stops on all keyboards.  
From what i’ve encountered with people playing in small churches, they use a maximum of 4 presets (and often none).  
So this function while not absolutely necessary for beginners and small churches, is anyway necessary for the regular player.

Now if you can SAVE and RECALL presets, I think most users can deal with not having the active stops written on the LCD. In a way, the sound speaks by itself, and it is easy to write down on a paper which preset is used on which song/part.

hope this helps.

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [August 2, 2018, 8:51am UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/15 "2018-08-02T08:51:25Z")

</div>

> [@jerash](#):
>
> I don’t really get what you want to achieve here ?

I mean that you can use a different “definition” file, with a different instrument configuration. Currently, the default instrument structure (definition) is hardcoded in the zynthian engine and for using a different instrument (definition file), the code must be modified. It could be solved by not hardcoding the instrument structure in the engine and parsing the definition file, but it’s a good amount of work and it seems that everybody is using the default instrument because it’s quite complete …

Regards,

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [August 2, 2018, 11:15am UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/16 "2018-08-02T11:15:22Z")

</div>

Yes I confirm the default definition is absolutely ok.

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [August 5, 2018, 11:54pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/17 "2018-08-05T23:54:16Z")

</div>

Hi @all!

As you can see, the new Aeolus engine is on master now:

> [@New Engine: Aeolus (Pipe Organ Emulator)](https://discourse.zynthian.org/t/new-engine-aeolus-pipe-organ-emulator/2132):
>
> Hi @zynthianers! I just merged with master and the new Aeolus (Pipe Organ Emulator) engine is now “official”. A simple “Update Software” from the Admin menu should do the trick wink From the [Aeolus Web Site](https://kokkinizita.linuxaudio.org/linuxaudio/aeolus/): 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 …

FYI, i’ve implemented a read function for the Aeolus presets file and now when you load a preset, the Zynthian UI controllers get updated nicely. Whoaoooo! 🕶 🤣

@jerash, I included some “random” presets for testing but i would like to include a decent set of presets, could you send a good “presets” file?

Enjoy!

---

<div class="post-metadata">

**Author:** ![jerash](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jerash/32/795_2.png) [@jerash](https://discourse.zynthian.org/u/jerash)\
**Post date:** [August 6, 2018, 7:11pm UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/18 "2018-08-06T19:11:17Z")

</div>

this is insane, i’ll update my zynthian box to test this and report

@jofemodo is faster at work without deadline than other with it 😉

---

<div class="post-metadata">

**Author:** ![C0d3man](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/c0d3man/32/9_2.png) [@C0d3man](https://discourse.zynthian.org/u/C0d3man)\
**Post date:** [August 8, 2018, 6:28am UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/19 "2018-08-08T06:28:27Z")

</div>

Hi @jofemodo,

I just got my 2nd Zynthian back from Make-Magazin and updated the software last Friday (first update since 4 month) - works!  
After seeing the announcement of Aeolus I updated again. Installation procedure seems to work. Starting the engine does work also, but I cannot hear anything when playing. Hmmm… strange.

Does the update work for other users?  
Perhaps I should try with a fresh image again?

Regards, Holger

---

<div class="post-metadata">

**Author:** ![mheidt](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/mheidt/32/773_2.png) [@mheidt](https://discourse.zynthian.org/u/mheidt)\
**Post date:** [August 8, 2018, 6:43am UTC](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060/20 "2018-08-08T06:43:21Z")

</div>

You don’t have an Audioinjector in that Zynthian? With mine I had to slide the alsamixer via webconf. …

[Next page](https://discourse.zynthian.org/t/new-engine-implementation-aeolus-pipe-organ-emulator/2060.md?page=2)
