How is AILO working technically? How is it communicating with the light mixing desk and what is needed to run AILO on own hardware and many more information, you find here:
The Setup
The general setup to use AILO is:
- One light mixing desk which provides MSC data on button presses/releases: I use ONYX, which is extremly configurable in case of MSC
- One black box running AILO: for example a mini PC or a tower PC with at least a dual core processor, 6 GB memory, a NVIDIA GPU like RTX2070 and a network interface (can be WIFI)
- A connection between the desk and the AILO PC: can be MIDI over network (realized by rtpMIDI) or a MIDI cable.
- A PC as user interface of AILO: with Google Chrome browser connecting to AILO by network (this can also be the same PC AILO is running on)
The following picture shows a setup where the AILO PC operates also the Google Chrome for displaying the AILO user interface:
Details about how to configure ONYX and AILO to get them working together are shown in the tech-videos.
Other mixing desk manufacturers
GrandMA: It is planned to create an interface module for AILO to be able to get in contact with the GrandMA II series mixing desks by telnet protocol.
Other manufacturers: AILO is open to all mixing desk systems. The only problem is: They has to open the network protocols to the AILO development in order to remote control the desk. The manufacturers usualy dont want this. If you, as a customer of such a manufacturer want to use AILO, please ask them to support our development by opening their remote control network protocol. The more people drop such a requirement at the manuafturers, the better the chance to get AILO connected to their desks.
If a mixing desk has such a strong MSC configuration capabilities like ONYX has, it should be no problem in connecting that desk to AILO. The AILO requirements to the MSC setup of a desk are:
- possibility to adjust the MSC type ID for each playback button seperately (this is used to address the AILO cores)
- possibility to enable or disable MSC for each playback button seperately (this enables recording of a specific button)
In the following picture, you see the dialog for one playback button on the ONYX mixing desk system:
Every playback button can be configured for MSC sending and for every single button one can define which MSC type ID it will send and react on. In the ONYX world it is called 'Format'. Additionally, one could define a device adress. AILO does not care about this address.
Say welcome to AILO (scroll down the picture):
This picture shows AILO with the headers of all of its components. You see my development surface of AILO. The later delivered AILO will have a slightly different user interface, not showing all of these (scroll down the picture):
In this picture, all component panels are open, showing the inside parameters of each component. One of the AILO core panels is also open. The user interface of AILO is designed a little bit like a sound effect rack.
I will not describe every part of AILO in this article but I will describe the basic operations AILO is doing.
Basic Learning Operation:
AILO is permanently listening to the audio input and computes the musical features out of the currently playing music every 62.5 millisecond.
If the human Light Operator does an action on his desk and the action is configured to send out a Midi Show Control Protocol (MSC) message, AILO will store the current musical features in association with the MSC data, sent by the mixing desk.
Basic Playback Operation:
AILO is permanently listening to the audio input and computes the musical features out of the currently playing music every 62.5 millisecond.
These musical features are sent to all AILO cores in parallel. They lookup a matching musical situation in their (learned) memory.
If the comparison result is below the adjustable Fire Threashold, the AILO core is sending the associated MSC message to the connected light mixing desk.
The next firing of a core can be inhibited by a Fire Holdoff time from 0 to 4000 milliseconds.
The way, the memory is compared can also be changed with the Present Weight for each core. AILO compares not only the current situation but also the last 4 seconds of music to find a matching action. The weight of the information about the present part can be reduced to get the past to be a bit more important.
The Rest:
The rest of AILO is mainly data processing and configuration. You can see some further details in the tech-videos.
Background Information:
The memory processing is done on a Graphics Processing Unit (GPU) / a graphic accelerating card. AILO is working with NVIDIA GPU's only. I am using a RTX2070 GPU which is able to run at least 22 AILO cores in parallel (it can run even more, depending on the main board it is mounted on). Every AILO core has about 12.000 memory entries with about 4.600 bytes of data each. If you run 22 AILO cores, this sums up to: 1.2 gigabytes (1.200.000.000 bytes) of memory which must be searched during 62,5 milliseconds / 16 times per second.