menu
 

Wwise Fundamentals

Table of Contents

Map hardware controls to properties and commands

Now you'll use a Control Surface Session to map Wwise features to specific knobs, faders, and buttons on your control surface.

  1. In the Project Explorer, select the Sessions tab and expand Control Surface Sessions > Default Work Unit.

  2. In the Project Explorer, double-click the Default Control Surface Session object.

    The session opens in the primary editor.

    Bindings link a particular function in Wwise to a particular MIDI control found on your control surface. Bindings are actually found within folders, and there are different folders that impact the scope of parameters that will be available. For example, within the Global folder, you could bind a particular MIDI control to a particular property of an object regardless of which object is selected in the user interface. This is helpful when you want to control the volume of the firing of the ice gem sound with a fader regardless of which other object you might currently have selected.

    In this case, you are going to set up a fader on your MIDI control surface to quickly control the Voice Volume of whichever object you have selected. This is accomplished within the Current Selection folder.

  3. Expand the Current Selection folder.

    Within the Current Selection folder, there's a default binding that allows incoming MIDI notes to pass on to the currently selected object. This is particularly useful with the Synth One synthesizer object that can be played as a musical instrument. You can also bind a MIDI control to object properties, as well as object commands such as Play or Stop.

    [Note]

    If your control surface does not have a fader, you can use a knob or modulation wheel instead.

  4. Select the Current Selection folder and click the Add & Learn Binding button in the lower-left corner.

    A new Binding appears within the Current Selection folder.

    Notice that the field under the Controller Assignment column is empty for this binding. The green Learn button indicates that the binding is ready for you to choose which physical component of your MIDI control surface you want to bind to a particular function within Wwise.

  5. Move the fader on your controller.

    In the Controller Assignment column, the binding now displays the specific MIDI channel and MIDI continuous controller number that the binding will respond to.

    Now you'll select the feature in Wwise that you want to associate with this fader.

  6. To the right of the green Learn button, click the [>>] selector button and click Object properties.

    The Property Selection dialog opens.

  7. Expand Audio > General > Voice, then select Voice Volume, and then click OK.

    You can now see that Voice Volume is the property that will be controlled when you move that fader on your controller. However, the Status column indicates that the binding is not active. This is because the last object you selected was the Default Control Surface Session, which doesn’t contain a Voice Volume property.

  8. In the Project Explorer, select the Audio tab, expand Actor-Mixer Hierarchy > Default Work Unit > Magic > IceGem Magic, and then select the IceGem_Blast Sound SFX object.

  9. Use the fader on your control surface to adjust its Voice Volume property.

    At the beginning of this module, you ran the game Cube and connected Wwise to it.

  10. Return to Cube and click to fire the ice gem while using the fader on your controller to adjust the ice gem volume in the game.

    [Tip]

    Try mapping the most commonly adjusted parameters, such as pitch and Low-pass Filter, to as many knobs and faders as your control surface supports.

  11. To exit the game, press Esc, use the up and down arrow keys to select quit, and then press Enter.

Congratulations! You finished module 17. In this module, you learned how to map properties in Wwise to controls on a MIDI control surface. This makes it much easier to fine-tune those properties and finalize the overall mix.

Up next, Module 18: Working with Multiple SoundBanks where you'll learn how to save memory at runtime.


Was this page helpful?