Lesson 6

Table of Contents

Mapping Hardware Controls to Properties and Commands

You use the Control Surface Session to map Wwise features you want to use on specific external MIDI input sources.

  1. In the Project Explorer, select the Sessions tab.

    The Control Surface Sessions folder holds control surface configuration settings within a Work Unit.

  2. In the Control Surface Sessions folder, expand the Default Work Unit.

    A Control Surface Session called Default Control Surface Session appears. Control Surface Sessions are where you map how your control surface relates to features within Wwise.

  3. Double-click the Default Control Surface Session object.

    The Control Surface Bindings window opens.

    Bindings link a particular function within 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, it is possible to 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 always be able to control the volume of the firing of the ice gem sound with a fader regardless of what other object you may currently have selected.

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

  4. Expand the Current Selection folder.

    Within the Current Selection folder, you’ll see that there is 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. In this case, you’ll bind a fader on your control surface to the currently selected object’s Voice Volume property.


    If your control surface does not have a fader, a knob or modulation wheel works just as well.

  5. 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. That is because you have not yet taught Wwise which controller you intend to use. The green Learn button indicates that the binding is ready for you to choose which physical component of your MIDI controller you want to bind to a particular function within Wwise.

  6. 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 need to indicate what feature within Wwise that you want to respond when you move this same fader.

  7. To the right of the green Learn button, choose the [>>] selector button and select Object properties.

    The Property Selection dialog box opens.

    There are many different features in Wwise that can be controlled, so they are arranged in various categories and sub categories.

  8. Expand the Audio property, then General Settings property; choose Voice Volume, and then click OK.

    You have now defined what you want to control.

  9. Close the Property Selection window.

    You now see in the Control Surface Bindings window, and that Voice Volume is the property that will be controlled on the currently selected object when it receives the appropriate MIDI message from your controller. 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.

  10. Close the Control Surface Bindings window, and then select the IceGem_Blast SFX Object in the Project Explorer and use your controller’s fader to control its Voice Volume property.

    When connected to the game, Wwise provides the opportunity for real-time mixing from within the Wwise interface. This also means that if you have properties within Wwise mapped to a control surface, you can mix in a way similar to working on a conventional audio console.

  11. First generate the SoundBanks for your game, and then launch Cube and connect to the game from within Wwise.

  12. Experiment using your control surface to adjust the ice gem volume as you play the game. Also listen for the changes you made earlier in the game, such as the volume and filter change in the Environment bus when the player is defeated.


    Try mapping the most commonly adjusted parameters, such as pitch and Low-pass Filter, to as many knobs and faders as your surface supports to make quick work of adjusting properties while you focus on sound design. You can also assign the faders of your surface to the various faders in your Mixing Session, giving yourself real-time physical control over your mix.

    Now you can hear the result of these final adjustments bringing the mix of the game together. You can spend a lot of time going back and forth trying to decide if the balance between various sounds is just right. While everything might sound great while playing on your computer, don't forget that none of your work is helpful if the game doesn't work on the platforms the game is being developed for. Your challenge in the next lesson is to insure that everything continues to sound great, even after you've optimized your sound integration for systems that might not have the capabilities of the computer you're working on now.