Adapting parameters of audio in real-time instead of playing cutup pieces of the audio based on game state and events, could be a practical and efficient game audio design method.
Time and energy can be saved by using adaptive risers instead of other currently standard nonlinear audio development techniques. RTR is a prototype for an adaptive audio tool that lets the user design a riser that adapts to game data in real-time. Not only does this provide an original adapting riser effect, it also saves time and energy in the audio design workflow. RTR is made in C++ using a combination of FMOD low-level API and OpenFrameworks. The GUI has been developed using ofxDatGui. Find the Editor Tool and its UE4 Plugin on GitHub .
The tool has been designed similarly to standard audio middleware using a seperate studio solution and engine integration plugin, that are both build on the same low-level audio system. This way the tool can be easily integrated in any engine and is not restricted in any way.
The tool is divided into different components. In the Sound component, the audio can be designed. In the Adaption component, control over the general adaption is provided. In the Mock component, the riser can be tested outside of its integration. In the multiple Modulation components, more precise control over the timing of the adaption of the riser is provided.
Risers are an interesting audio effect to implement in an adaptive system because they are often synchronised to their impact point instead of their start. Risers generally consist of three dynamic elements: the attack, the impact, and the release. The blue line highlights the attack of the riser of which any parameter such as the amplitude, pitch and panning can be adapted. By modulating the audio data in between the start and impact, the riser can go on for a longer or shorter amount of time
For the integration in UE4, a plugin with blueprint nodes and actors is provided. The actors serve as the start and stop location of the riser and can be placed anywhere in the level. Alternatively, blueprints can be used, for example when the start and/or stop position are not physical locations.
The sound for the prototype is handled with a looping system. Riser samples are deconstructed to static loop-able samples without any modulation. They are then looped and modulated in the tool during playback to have them rise in intensity. The tool has been mocked FMOD Studio to start testing the sound and adaption early, experiment with features, and to gain insight in the current difficulties that arise when making procedural risers with existing tools.