Table of Contents

Level Sequencer

The Sequence Editor within Unreal Engine 4 is a cinematic editing tool similar to Matinee. It allows users to add Tracks that can modify certain properties of Actors in a level.

For instructions on how to:

Wwise Level Sequencer Tracks

The Wwise Unreal Engine 4 Integration adds two Tracks: AkAudioRTPC and AkAudioEvent. The AkAudioRTPC Track is used to set Game Parameter values, and the AkAudioEvent Track is used to post Wwise Events.

Both of these Tracks can be added as Master Tracks or associated to an Actor. When associated with an Actor, they perform their Wwise related functions on the UAkComponent attached to this Actor. When created as a Master Track, the AkAudioRTPC Track sets global RTPC values, and the AkAudioEvent Track posts Events on a "dummy" game object.

For AkAudioRTPC Tracks, Game Parameter curves can be modified using the built-in curve editor. Key frames can be added by placing the cursor at the appropriate location and pressing the Add New Key button (found on the right side of the listed Track).

akaudiortpc_track_in_curve_editor.png

An AkAudioRTPC track in the Curve Editor view

For AkAudioEvent Tracks, an AkAudioEvent section can be added by placing the cursor at the appropriate location and pressing the AkAudioEvent button (found on the right side of the listed Track). Alternatively, AkAudioEvent assets can be dragged from the Content Browser directly onto an AkAudioEvent Track.

adding_akaudioevents.png

Adding an AkAudioEvent section to an AkAudioEvent Track

Sequencer WAAPI-Enabled Features

The Unreal integration uses the Wwise Authoring API (WAAPI) to extend the Sequencer functionality. For more information on WAAPI and its use in the Unreal integration, refer to the Wwise Authoring API (WAAPI) page. When Unreal is connected to the Wwise Authoring tool via WAAPI, AkAudioEvent sections are able to display waveforms for Wwise events. When the Wwise Authoring application is not running, or the Unreal integration is not connected to WAAPI, the AkAudioEvent sections will only display the Event name.

AkAudioEvent Section Waveform Displays

AkAudioEvent sections display audio waveforms for Events that contain Audio Sources. The waveform in an AkAudioEvent section shows the audio data for the longest Audio Source that is contained in the Wwise Event. For example, consider a Wwise Event called "Play_Sound" with three Audio Sources, "Layer_1", "Layer_2", and "Layer_3".

sequencer_example_event.png

Example Wwise Event with three Audio Sources

If an AkAudioEvent section is added that has its Event property set to "Play_Sound", then the longest of the three Audio Sources will be displayed within the section. Note that the waveform displayed in the section may be followed by empty space if the Wwise Event lasts longer than the longest Audio Source that it contains. In this example, since the "Play_Sound" Event has two play actions (for "Layer_2" and "Layer_3") that are delayed, it will last longer than the "Layer_1" audio source that it contains. The empty space after the waveform indicates the maximum estimated duration of the Wwise event, as calculated during soundbank generation (see Wwise Project Setup).

sequencer_example_event_section.png

Example AkAudioEvent Section in Sequencer

If the length of the AkAudioEvent section is increased beyond the maximum estimated duration of the Wwise Event, the section will contain either a flat white line, or repeating diagonal lines. The flat white line indicates that the Retrigger property is disabled. The repeating diagonal lines indicate that the Retrigger property is enabled. The Retrigger property determines whether Wwise events are retriggered in the Sequencer, after they have finished (see AkAudioEvent Section Properties).

sequencer_example_retrigger_enablement.png

Two AkAudioEvent Sections in Sequencer. The 'Retrigger' section has Retrigger enabled. The 'No_Retrigger' section has Retrigger disabled.

"Out of Sync" Waveforms

If changes have been made to an Event's workunit in the Wwise project that are not reflected in the generated soundbanks, any AkAudioEvent sections for that event will be marked as "out of sync". The waveform will be displayed in red, and an asterisk will be appended to the name of the AkAudioEvent section. There will also be a warning printed to the output log when Events are triggered from "out of sync" sections.

sequencer_example_dirty_section.png

Example 'Out of Sync' AkAudioEvent Section

In order to keep AkAudioEvent sections in sync with the Wwise project, there are options to save the project and regenerate soundbanks, directly from the Sequencer. In order to synchronise an AkAudioEvent section, open the section's context menu (right click) and select "Save Wwise project and refresh" (see AkAudioEvent Section Properties). In order to synchronise all of the sections in an AkAudioEvent track, open the track's context menu (right click) and select "Save Wwise project and refresh all sections" (see AkAudioEvent Track Context Menu Options). Note that for these options to be available, the AkAudioEvent asset must have its Required Soundbank set to a valid Audiokinetic Bank asset. For more information on AkAudioEvent assets and their Required Bank property, refer to the AkAudioEvent page.

Scrubbing

The Sequencer integration supports scrubbing forwards and backwards over AkAudioEvent tracks. By dragging the Sequencer playhead over AkAudioEvent sections, scrub snippets can be heard. The length of these scrub snippets can be varied using the Scrub Tail Length Ms property, accessible from the AkAudioEvent section's context menu (right click). Refer to AkAudioEvent Section Properties for further details.

AkAudioEvent Track Context Menu Options

From the AkAudioEvent track, a context menu can be opened (right-click) which includes the following Audiokinetic-specific options:

  • Save Wwise project and refresh all sections: This will save the Wwise project in the Authoring application, via WAAPI, and then re-generate the required soundbanks for all AkAudioEvent sections in the sequencer track. The sections will then update their waveform displays.

AkAudioEvent Section Context Menu Options

From the AkAudioEvent section on the track, a context menu can be opened (right-click) which includes the following Audiokinetic-specific options:

  • Save Wwise project and refresh: This will save the Wwise project in the Authoring application, via WAAPI, and then re-generate the required soundbank for this AkAudioEvent section. The waveform display will then be updated.
  • Match section length to Wwise event length: This will match the length of the section in the Sequencer track to the duration of the Wwise Event.

AkAudioEvent Section Properties

The properties list in the context menu includes the following Wwise-specific properties for the section:

  • Ak Audio Event: Lists the following editable properties of the AkAudioEvent for the selected section:
    • Event: Event icon: Hover over the Audiokinetic Event icon to get the path to the Event. Double-click the icon to open the Event in the editor.
    • Event: Audiokinetic Event: Open this list to create a new Audiokinetic Event, edit or copy the currently selected Event, or browse to another existing Audiokinetic Event.
    • Retrigger Event: When this box is checked, the Wwise event in the Section will be retriggered when the Sequence plays beyond the end of the event (off by default).
    • Scrub Tail Length Ms: This defines the duration in milliseconds of the scrub snippets that are played when scrubbing over the sequence (default = 100ms).
    • Max Source Duration: Displays the duration of the longest Audio Source contained in the Wwise Event (read only).
    • Advanced:
      • Event Name: Enter the exact name of the desired Event. This field is ignored if an Event is already selected in the Audiokinetic Event list.
  • Movie Scene Ak Audio Event Section:
    • Stop at Section End: Uncheck this box to keep the Event playing when the end of the section is reached (on by default).

Known Issues and Constraints

Generally it is recommended to use very simple AkAudioEvent sections in the Level Sequencer, such as a simple Play action on a Sound SFX. More complex Wwise Events, such as those containing delayed actions, Seek actions, or which reference Random Containers, Sequence Containers and other non-deterministic objects should be avoided or broken down into simpler events for optimal use in the Level Sequencer.

Scrubbing and playing from cursor will not work as expected on Events with delayed actions or which contain infinitely looping sounds.

Play In Editor Limitations

If a level sequence is played from the Sequencer editor window while Unreal is running in Play in Editor (PIE) mode, any AkAudioEvent tracks that are associated to game objects will not trigger events. In order to hear AkAudioEvent tracks that are bound to game objects, the level sequence must be triggered from the Game World.

Wwise Project Setup

To ensure that Event lengths are properly represented in the AkAudioEvent Tracks, the Wwise project needs to be set up to estimate the duration of its audio Events and JSON metadata must be generated. To enable these project-wide settings, go to the Project Settings' SoundBanks tab. Enable the Estimated duration check box within the Metadata Options group box and enable the Generate JSON Metadata check box within the SoundBank Settings group box, as seen below.

project_settings.png

Required Project Settings for AkAudioEvent Tracks

Generated by  doxygen 1.6.3