What’s in the Elias 4 Release

1.1 Prerequisites

1.2 Elias 4 Studio Installation Steps

1.3 Plugin location

If you have a shortcut directly on the desktop you can right-click on that one and select “open file location” right away.

1.4 Get going with demo s and examples

Keep your eyes out for demos and example projects at eliassoftware.com. New examples and updates to already existing examples will be available alongside future updates of the software.

Elias 4

2.1 Project creation

When starting the studio you are greeted at the start screen. Here you have three options:

Elias 4 start screen.

2.2 The Object Bus - Live editing with a remote connection

The Object bus visualization graphic.

Upon starting the Elias Studio the user has three options; create a new project, load an already existing project locally, or remote to an already running instance of a project and this is what we call remoting. Remoting is for example when you have a Unity or Unreal running with the plugin installed, and a loaded Elias Project is active, then the studio can start in remote mode, and remote to the instance running within the game engine.

This allows for live editing in the Elias Studio while the game engine is running and even when a play session is running. For updating changes made to the Elias project this means that there is no need for exports or imports of assets or even restart of the play session, everything will just update live, while you are listening to it. So there will be no wasted waiting time or any iterations between the Elias Studio project and the Game, your workflow will be instant and uninterrupted.

2.3 Sample rate

Set what sample rate your Elias 4 project should use by opening the “.elias” file with a text editor and writing the sample rate you want to use. Make sure that the project is not open in the studio and save the file after you are done editing it. The default sample rate when creating a new project is 48000Hz.

If you ingest an audio file of a different sample rate than what the project is set to the studio will resample the compressed file so the playback speed will be correct.

An Elias 4 file opened in Notepad where you can see and change the sample rate.

2.4 Layout

This is the layout of the Elias 4 Studio:

  1. The asset browser is where you manage your assets and folders.
  2. Global Panel tab. Changes the browser to show the global parameters and where you are managing them.
  3. Workspace - This is where your mixer, patches, configurations, enums, and reverbs will open.
  4. The context-sensitive details panel will show relevant information and fields depending on what is selected in the workspace. If nothing is selected when a patch is open you will see and manage its local patch parameters.

2.4.1 Workspace

The workspace is the largest window in the middle of the studio and will show you the loaded Patch, Patch Configuration, Default Mixer, Enum, or Reverb asset.

Notice that there is no save function in the studio, everything is constantly being saved.

2.4.2 Asset browser

Right-click with a file selected and you will see the available options to edit/remove it or to add new assets. Right-click with nothing selected to just add assets. The bottom right section of the asset browser also has a “+” button from which you can add assets.

Move files by dragging and dropping them to another folder or right-click and select “cut” and then “paste” it in the desired location.

Files can also be moved in the OS browser as well, but make sure to click the update button in the bottom right corner of the browser to update it.

Navigating the Asset Browser.

2.5 Default Mixer

Creating and connecting Group Channels in the Default Mixer.

2.6 Asset types

There are currently 6 different asset types in the browser as well as folders. From top to bottom in the image below you will see each type with the asset type Icon to the left and Asset name to the right of the icon:

Different asset types (asset icons to the left, asset names to the right)

Different asset types from top to bottom in the image above:

  1. Default Mixer
  2. Folder
  3. A patch
  4. A configuration of the patch “A Patch”
  5. An IR Asset, impulse response
  6. A sound asset
  7. An enumeration (‘Enum’ for short)

2.7 Sound Asset

Adding sound assets to a sound list on a sound player in a patch, adding a sound asset as an impulse repose to an IR asset.

2.8 Patch

A default patch with a sound asset was added to the sound list on the sound player. With the sound player selected we can see in the details panel that the amplitude, pitch, and sound player sound list is set to be overridable in a configuration child.

2.8.1 Patch Simulation Mode

Before you can run pulses and hear sounds in your patch you will need to start simulation mode for that patch. You start and stop simulation with the “Start/Stop Simulation” button in the top bar in the workspace when a patch is loaded. The button toggle depending on the state and the workspace window will be blue when in simulation mode.

This is to simulate the life cycle of a sound component in the game, that a sound component with this patch is being initiated or terminated. Since patches can be loaded or unloaded, be running or not running, this will also have to be represented in the Elias studio so you can have these states in mind when building your patch systems.

Currently, there can only be one patch at a time in simulations.

Starting and stopping the simulation, note the blue border and the access to the “Run” buttons on the pulses in the details view when in simulation mode.

2.9 Patch Configuration

Patch configurations (or just ‘configuration’ or ‘config’ for short) are their asset type where every configuration is based on a parent patch. Selected fields can be overridden by the child configuration and keep the behavior of the patch but with some altered properties. Configurations can also be created from other configurations to create more generations of children with unique properties.

E.g. if you created a footstep sound for the right foot and then want to make a left foot with the same behavior but with other sounds. Instead of duplicating the foot patch and then needing to update both whenever you want to make a change for the footstep system, you create a configuration of one foot. The logic will then be kept and you can choose to only replace the sounds. This way you will only have to update the logic in one patch and let the change be inherited down to the configuration. Alternatively is to create just one “foot” patch and then two configurations, one for left and one for right since you might be thinking of them as an equal pair instead of something with a parent and child relation.

Another example could be that you have a “Car” patch with all the basic functionality of a car like the engine rumble sounds, gears sounds, tire sounds for turning or breaking, etc. Then for each car model, you create configurations of the car patch so you can replace the engine sound, the sounds the tires make when turning or breaking, change it to fewer or more gears, different pitch values, etc.

Selecting fields to be overridable in a patch configuration child on the sound player node in the details panel.

Overriding fields in a configuration, setting fields to also be overridable in the next configuration child, and then replacing the sound asset from the parent.

2.10 IR Asset, the impulse, convolution reverb

Reverb assets are used together with ambient zones available in the game engine plugins to simulate the room sound. Read more about the ambient zone for Unity 3.2.2. Elias Zone  or Unreal 4.2.2. Elias Zone .

It is  a convolution reverb that needs an impulse file. The impulse file is imported like any other sound asset and any sound asset can be used as an impulse file. Notice that using recordings not intended as impulse files can create unwanted sounds and noises. This can however be used as a means to modify your sound in unusual ways and create some exciting results.

IR asset settings.

2.11 Patch nodes

Both the Default Mixer and patches can build up a network of nodes that will determine how and when the patch should sound. The available nodes differ a bit between the mixer and patches since the mixer is focusing on the routing of the sound while the patches handle the actual sound files that are playing and their behavior.

Add nodes by right-clicking in an empty area in the workspace and a context with all available nodes will pop up. Here you can scroll through the list of nodes or you can search and filter by start typing in the header of the context menu. Click on the node that you want to add to your workspace. You can also type the category names, e.g. “math, to filter and see all the nodes available in that category.

Most nodes have a note section if you select them and look in the details panel. These notes can be good to use to keep track of your work. These notes are also visible in a patch configuration and can be a good way to keep track of the different settings and fields.

Add nodes by right-clicking in the workspace. Scroll or type to start filter on a node if you know its name.

Connect nodes by clicking and holding a socket and dragging from it to another socket with a matching color. Remove connections by clicking the cord and pressing the delete key.

Node system sockets, cables, and fields are color codes:

Example of creating a constant float node and connecting it to the pitch.

Example of a patch that depending on the boolean state of the patch parameter “LocalPatch_Bool”, will select to play one of the two sound players.

Nodes are categorized into several different types:

2.11.1 Comparison

These nodes are used to make comparisons, they will compare to values and determine a true or false state. The inputs will vary depending on the data type but the output will always be a boolean value.

2.11.2 Constant

There are different constant nodes for different data types. Constants are isolated notes containing a single value or state.

2.11.3 Control

Here we will list the different nodes and go through them one by one.

2.11.4 Generators

2.11.5 Logical

There are three types of logical nodes, “Or”, “And”, and “Not”. These are used to combine different boolean values to a final result if there is more than one dependency.

2.11.6 Math

There are many different math nodes to help you calculate operations and variables. They are currently filtered by typing different math symbols, remember that you can type “math” and just see the available math nodes.

2.11.7 Misc

2.11.8 Music

The music nodes are used to control an Elias 3 project (.mepro) loaded and running in the plugin. As long as names and levels match with the loaded Elias 3 Project the music will follow the instructions and commands that are run from nodes in patches from the Elias 4 project.

2.11.9 Parameters

The parameters category will contain all your global and patch parameters currently available in the current context.

2.11.10 Routing

Currently only holds one node called ‘output’, this node simply outputs the signal to the selected group channel from the mixer.

2.11.11 Signal Processing

2.11.12 Sounds - The Sound Player

This group contains only one node, but one of the most used and more complex nodes. Let us go through all of the sockets and fields starting with the inputs, lower sections, and then the outputs. Input Fields: Sound list

This section can be opened up or closed if there are one or more sounds in the list by clicking the arrow next to the “X file” header.

When empty there is a field saying “Drop files here”, this is where you drag and drop sound assets from the Elias browser into the sound player. Add as many sounds to the sound list as you need, and set the expected behavior on it with the settings below. Playback settings

This section can be opened up or closed by clicking the arrow next to the “Playback settings” header. Output Fileds

2.11.13 State

2.12 Details panel - Patch parameters and node fields

If a patch is selected, you can create and manage your patch parameters and node values in the Details panel on the right side of the studio. Here you can also check what fields that should be able to be overridden in child configuration, by clicking on the configuration symbol to the right of the field. If the configuration symbol is pink it will be available in the child configuration.

If a patch is not selected you will manage your local, patch parameters that are only used within the patch. Read more about Patch Parameters .

Changing the progression mode from sequential to shuffle and switching from one shot to looping for the sounds in the sound list on a sound player from the details panel with the sound player selected.

2.13 Enumerations

Enumerations, or enums for short, are their own asset type and are created from the browser by either right-clicking in the browser and selecting “Create new enum list” or by clicking the “+” icon in the bottom left and selecting the same option. The asset can be renamed and deleted from the asset browser.

Enums are lists of values that are named constants. These lists can be used to keep track of different states and for selections with different kinds of nodes in a patch. There are different kinds of control nodes that can use these enums, for example, pulse switches that output a pulse for each enum value or a mapper where each enum value represents a float value. Read more about control nodes here: 2.10.3 Control .

Open the Enumeration to manage it in the workspace area. Add a new value to the list by writing it in the field and pressing enter. Double-click or right-click on a value to rename it. If you want to remove an enum value, select it by clicking it and pressing the delete key or right-click on it and select “delete”.

2.14 Parameters

There are currently five different types of parameters:

  1. Boolean - True/False
  2. Float - Value with fractionals.
  3. Int (Integer) - value with no fractional value.
  4. Pulse - To trigger nodes
  5. Enum Parameter (Enumeration) - A list of items. (Note that you need to create an Enum asset from the browser before you can create a parameter).

2.14.1 Manage parameters

Click the “+” icon next to a parameter type to create it. You can give it a name right away after creating it or rename it later by double-clicking on it or right-click and selecting “edit”.

Remove a patch parameter by selecting it and pressing the delete button, or right-click and select “delete”.

Set the parameter state either when first creating it or by double-clicking on the parameter and editing the field. For booleans, you have the toggle check box, for Int and double you have the number fields and for enumerations, you select the enum list and the default/current enum state. The pulses have no value but have a run button where you can simulate sending a pulse from the studio, note that this button is only available when the studio is in simulation mode.

2.14.2 Patch Parameters

Create Patch Parameters from the details panel to the right of the workspace when a patch is open and while there are no selected nodes. The Patch parameters are created and used in the currently active/selected patch and can not be used in any other patches. If you need to get or set values that you need to access in two or more patches you will instead need to create a global patch.

Creating patch parameters.

2.14.3 Global Parameters

Global parameters can be used in any patch in the studio and are great to use when you need to keep track of global values e.g. Player health. In Unreal each global parameter can be accessed as its own node that you can use in the Unreal Blueprints.

Below the browser, you can create, remove and manage your global parameters.

Right-click in the workspace graph with a patch selected and go into the Parameters category to select the global parameter you want to use in the node system.

Creating global parameters.

2.15 Preview sounds

Next to a sound asset, you should see a small button with a play icon, press that button to preview the sound. When a sound is previewing or has been previewed the button will change to a stop button. Click the stop it to leave the preview state or abort the previewing. Previewing another sound asset while another is playing will abort the oldest one.

You will find the preview button in the sound lists and in the IR asset in the Impulse audio asset field as well in the browser. In the browser, you can also start previewing by double-clicking on the asset.

Previewing sounds from the asset browser.

The Unity  Plugin

3.1 Install the Unity plugin

3.2 Unity Plugin settings

3.3 Unity - Elias Components

The plugin will include a couple of components that you can use:

Component scripts that are included with the plugin.

3.3.1 Elias Listener

The Elias listener is what is going to pick up all the Elias component sounds and calculate attenuation and spatialization etc.

3.3.2 Elias Sound Instance

This is the sound component where you will select a patch and where you can set the attenuation and spatialization. At default, the component will be spherical but to direct the sound further you can also fold it into a cone shape with the Source shape controls. You can also give the sound component some unique zone behavior if you don’t want to use the default way. You can also set how you want a reverb in a zone to affect the sound with the reverb settings.

An Elias sound component with its attributes showing in the inspector.

3.3.3 Elias Zone

The zones are used to create the sound of a room and set how sounds inside and outside of the room should sound occluded.

Elias Zone in edit vertices mode with the ctrl-key held to add a new vertex to create a new wall.

3.4 Unity - Simple demo

There is a simple demo that you can look at to see some examples of the components and how to set parameters from a script.

The default location of the simple demo that comes installed with the plugin.

3.5 Unity - Elias 3 project (.mepro) files.

Unity can also load Elias 3 projects which is the music arranging tool. They can be imported in the Elias section under project settings if the plugin is installed. The music can be controlled from the Elias 4 project by using the music nodes, read more about them here: 2.11.8 Music

For more information about Elias 3 please go to www.eliassoftware.com .

Unreal Engine

If the studio is remoting to the project loaded in your Unreal project, make sure that you have turned on “Allow Background Audio” in the Editor Preferences in Unreal, otherwise, you won’t hear sounds previewed from the studio when Unreal isn’t the active window.

With the Harmony, plugin installed Press Ctrl+Alt+E or go to the Windows menu and select “Project Harmony” to get some information about the number of patches and which patches are active at the moment.

4.1 Install Unreal Plugin

4.2 Import Elias 4 and Elias 3 projects

Drag and drop the Elias 4 “.elias” and/or Elias 3 “.merpo” files from the OS browser into the Unreal browser and the projects will have a reference file in Unreal. You can also click the green import button and browse and locate those files. Make sure to save the files when they are imported.

4.3 Unreal plugin settings

Access the plugin setting from the ‘Edit’ menu and under ‘Project Settings’ and then scroll down in the left panel to the ‘Plugins’ section and click ‘Elias’.


4.4 Elias Components and actors

4.4.1 Elias Sound

4.4.2 Elias Ambient Zone

Zones are used to draw up physical rooms in your scene to match the rooms in the game where you can set reverb and occlusion behavior and how sounds should bleed in and out of the zone.

4.4.3 Elias Listener

The Elias listener is what will pick up the Elias sounds and from where the attenuation and spatialization will be calculated from. The listener should be attached to the pawn/player and be where the camera is for a natural listener experience.

Find your player blueprint and add an Elias Listener component to the player. E.g. if you use the first person template from Unreal you can locate the “First Person Blueprint” and add an “Elias listener” as a component to the blueprint. You can then adjust the exact position of the listener in the viewport. No additional settings changes to the listener should be needed.

Adding an Elias listener to the player blueprint.

4.5 Blueprints

With the Elias 4 Plugin installed you can now access several custom nodes in the Unreal blueprint.

4.5.1 Patch Parameters

If you have a reference to an Elias Sound you can access the following nodes to access the Patch parameters:

4.5.2 Global Parameter

You will have access to all the global parameters from the loaded Elias 4 project, all in their own Blueprint node.

E.g. If you have created a Global Double in the studio called “Health” you are then able to add the node “Set ‘Health’(Elias Global)”. Once created you can change the variable if you want it to reference another Global Parameter of the same type in this node instead.

4.6 Elias 3 project (.mepro) files.

The Elias 4 plugin can also import the Elias 3 project files (.mepro). Elias 4 also has nodes to control the Elias 3 project either from the mixer or from a patch. Read more about the nodes in the nodes section. 2.11 Patch nodes

Elias 4 will not be directly aware of the Elias 3 project, so nodes that perform “set level”-, “play stinger”- or, “play action preset”-events, etc. will do those actions to the currently playing Elias 3 in Unreal. As long as names are matching and the content is there, the music will react to the actions from Elias 4.

Elias Software - Elias 4 Manual | Studio & Plugin versions 4.0