# Engine Audio Setup In this section of the audio tutorial we'll be looking at setting up **engine sounds**. This is quite a complex topic as the sounds being played have to loop correctly and will be required to change pitch based on the engine {{< glossterm >}}rpm{{< /glossterm >}}, as such we recommend that you first go through the basic [Setting Up Wwise](setting-up-wwise/) and [Creating The Sound.xml](creating-the-sound-xml/) tutorials before continuing with this one. Also note that this tutorial is accompanied by the following video, which we suggest you take a few moments to watch before continuing:     In this tutorial, we will show how to create the base engine sounds for a single piston engine aircraft, as well as how to play them in the simulation, and the methods shown here are also applicable for setting up the propeller sounds. Note that the workflow may be *slightly* different for the other types of aircraft (Airliners, jets, turboprops, etc...). However, you can check the different templates available in the **WwiseSampleProject** under the work unit "*\_Templates*" of the "*AIRCRAFT\_PLAYER*" folder.**NOTE**: Before doing this tutorial you may want to take a look at the section on [Recording Audio](recording-audio/), which outlines how the audio samples used here were created, as well as the recommended recording workflow.     ### Wwise Setup The setup in Wwise for the engine sounds is a little different than what we did for the simple stall warning audio tutorial. In this case, we need to start by creating an **Actor Mixer** unit in the aircraft work unit and call it **3D**. This actor mixer is required for the aircraft to have correct positional audio within Microsoft Flight Simulator 2024, **and will be used for all the audio**: wind, instruments, engine, etc... As such, you should *always* start any project by creating this actor mixer. To create it, simply right click on the aircraft work unit in the **Audio** tab, and then select **Actor Mixer** from the *New Child* options and name it **3D**: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_1_3dmixer.png" alt="Creating The 3D Actor Mixer Unit in Wwise" >}} {{< callout context="note" title="NOTE" icon="outline/bulb" >}} If you've done the [stall warning tutorial](setting-up-wwise/), you can drag the "stall\_warning" audio unit onto the 3D actor mixer to add it to this mixer, since **all** sounds should go through this. Further images in this tutorial will show the stall\_warning audio unit in this mixer unit. {{< /callout >}}   The new 3D actor mixer requires some setup to make it behave the same as all the other actor mixers used by the aircraft in the simulation. In this case you need to open **Property Editor** for the actor mixer (easiest is to select it in the Audio tab, then go to the **Layouts** menu and select **Designer**), and then set up the following options:   - From the **General Settings** tab, set the **Output Bus** to **aircraft\_wwiseData\_player**: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_2_outputbus.png" alt="Setting The 3D Actor Mixer Output Bus" >}} - From the **Conversion** tab, check the box for **Enable Loudness Normalization**: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_3_conversion.png" alt="Setting The 3D Actor Mixer Loudness Normalization" >}} - From the **Positioning** tab, you will need to set: - **Center %** - set this to 100 - **3D Spatialization** - set this to *Position + Orientation* - **Speaker Panning** - ensure this is set to 100 - **Attenuation** - click the `>>` button, and set this to *aircraft\_player\_outside\_500m* (from *Aircraft* > *player\_outside* > *generics*) {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_4_positioning.png" alt="Setting The 3D Actor Mixer Positioning Options" >}} - Finally, from the **Advanced Settings** tab you need to set: - **Virtual Voice Behaviour** - this should be set to *Send to virtual voice* - **Priority** - this should be at 100 {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_5_advanced.png" alt="Setting The 3D Actor Mixer Advanced Settings" >}}   The next step would be to create a **Virtual Folder** unit and call it **Engine** (right-click on the 3D actor mixer, select *New Child* > *Virtual Folder*). This step is not absolutely necessary, but using virtual folders for the main audio components helps with the project organisation, especially on large and complex aircraft. With that done, you can then add in another **Actor Mixer** and call it **Engine**, so that the hierarchy now looks like this: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_6_enginemixer.png" alt="Creating The Engine Actor Mixer" >}}     ### The Combustion Switch Container The next thing we'll need is a **Switch Container** unit. This unit permits switching between multiple states: in this case between the "outside" and the "inside" audio for the engine (since the audio will behave differently depending on the viewpoint of the user). So, create this now by right-clicking on the **Engine** actor mixer and selecting *New Child* > *Switch Container*, then name it `combustion`.   Once you have created this switch container unit, you need to set it's properties in the **Property Editor**: - The **Play Mode** needs to be set to **Continuous** - The **Switch Group** needs to be set to **Viewpoint** (click the `>>` button, then *State Groups* > *Aircraft*) {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_7_combuston.png" alt="Setting Up The Combustion Switch Container" >}}   Each point of view will require it's own **Blend Container**, so those need to be added now by right-clicking on the combustion switch container and selecting *New Child* > *Blend Container*. Do this twice, and call the first `combustion_inside` and the second one `combustion_outside`. If you then select the combustion switch and go to the **Contents Editor** window, you can drag these new blend containers onto the appropriate **Assigned Objects**: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_8_blends.png" alt="Assigning The Combustion Objects In The Contents Editor" >}}   You will need to set up the **routing** of each of these blend containers, which will allow your aircraft to benefit from the in-game UI audio mixers. {{< callout context="note" title="NOTE" icon="outline/bulb" >}} You should look at the various templates in the WwiseSampleProject and also check the main documentation ([Master Mixer Hierarchy](../master-mixer-hierarchy/)) for more information on the different routing possibilities available to you. {{< /callout >}} For that, in the **Audio** tab, select the **combustion\_inside** blend container and in the **Property Editor** check the *Override Parent* checkbox and then set the output bus to `combustion_inside_generic`: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_9_override.png" alt="Overriding The Combustion Blend Unit Output Bus" >}}   Finally, you will need to set the **Play Mode** to *Continuous*: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_10_playmode.png" alt="Setting The Blend Container To Continuous Play Mode" >}}   You should then go ahead and do the same for **combustion\_outside**, only this time set the output bus override to `combustion_outside_generic`.     ### Audio Loops Having defined the combustion container switch and it's children (the inside and outside blend containers), it's time to add in the actual audio loops that you have recorded and prepared previously (you can find more information on recording these loops here: [Recording Audio](recording-audio/)). Adding them is simply a case of opening an explorer window on them and then dragging them and dropping them onto the appropriate blend container:   {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_11_addaudio.gif" alt="Adding The Engine Audio To The Appropriate Blend Containers" >}}   Once all the audio has been imported, you will then need to select each one and ensure that it is set to **loop**. For that, simply select each audio track and in the **Sound Property Editor**, click on *Loop* > *Infinite* (you can open this editor using the *Designer* layout, or from the *Views* > *Editors* menu): {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_12_loop.png" alt="Setting The Infinite Loop Property For A Sample" >}}     ### Blend Tracks You will now have to create a "Blend Track". This will allow you to perform crossfades between the different RPM engine samples and also play specific loops depending on a "Game Parameter" value. To set this up is a bit complicated, but we'll take you through all the required steps for one of the containers you have created and then you can repeat the process for the others.   To start with, select the "combustion\_outside" blend container, set the **Play Mode** to be **Continuous**, then select the **BlendTrack** tab of the **Blend Container Properties** window: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_13_edit.png" alt="The Edit Button For Editing Blend Tracks In The Property Editor" >}} This will show the **Blend Track Editor**. Here you need to do the following: 1. click on the **New Blend Track** button. 2. name the track "combustion\_outside". 3. tick the "Crossfade" box to allow fading between the different RPM files. 4. click on the `>>` button to open up the parameters menu. 5. navigate to the Game Parameter `SIMVAR_GENERAL_ENG_RPM` so that the Blend Track will play the right RPM loop depending of the simulation RPM value. {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_14_blendtrack.png" alt="Set Up The Blend Track Game Parameter" >}} NOTE: Since we are implementing sounds for a **piston** aircraft, we choose to use the `SIMVAR_GENERAL_ENG_RPM` variable, but you actually have access to all the simulation variables available in Microsoft Flight Simulator 2024. Each "SimVar" listed in the Game Parameters section is connected to the corresponding SimVar of the simulation. For more information on SimVars, please see here: [Simulation Variables](../../programming-apis/simvars/simulation-variables/).   After this you can close or minimise the Blend Track Editor (we'll be coming back to it again in a moment), and go to the **Contents Editor** window - ensuring that you have the combustion\_outside blend track selected - and then drag and drop all the sounds onto the blend track, as shown below:   {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_15_contentseditor.gif" alt="Adding Audio To The Blend Track In The Contents Editor" >}}   Don't forget to ensure they are ordered from minimum to maximum RPM, as this will be the reading order in your blend track.   You will want to go back to the **Blend Track Editor** now, and once there you will be positioning the different samples based on their RPM, applying cross-fades between them, as shown in the image below (where we've used a **Sine** wave for the cross-fade, selected from the RMB menu): {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_16_crossfade.png" alt="Example Of The Engine Samples Being Crossfaded" >}}   You now have proper cross-fades between your different loops, but you still have one last task - setting up the pitch transition so you have seamless and smooth transitions between the different RPM.     ### The Pitch Curve With the sample loops set up, you also need to create a **pitch curve** so that the pitch of the engine sound changes over time correctly and as you would expect. Basically, *just* using the samples will mean that there will be a noticeable pitch shift between sounds, however by adding a pitch curve to the blend container you can create a smooth "ramp" in pitch over all the samples. We'll be creating this ramp in a two step process: - Work out mathematically the correlation between pitch and RPM - Create the pitch curve from these values in Wwise   #### Pitch and RPM Correlation When you recorded the audio, the {{< glossterm >}}rpm{{< /glossterm >}} of each sample should have been noted, based on the gauge reading in the aircraft. However this value is not 100% accurate for many reasons, and so you should do your own pitch/{{< glossterm >}}rpm{{< /glossterm >}} correlation using some simple maths and a spreadsheet to get the *exact* {{< glossterm >}}rpm{{< /glossterm >}} of the engine based on the cylinder count and sample frequency, and then the relative pitch between the different {{< glossterm >}}rpm{{< /glossterm >}}s.   To start with, you can determine the RPM of a sample by using its [fundamental frequency and related harmonics](https://www.physicsclassroom.com/class/sound/Lesson-4/Fundamental-Frequency-and-Harmonics "Physics Classroom: Fundamental Frequency and Harmonics"), along with the number of cylinders of the engine using the following formula: $$\textrm{RPM} = \frac{(F \times 60)}{x}$$ Where: - \(F\) is frequency of the related harmonic of the fundamental of the audio loop (in Hz) - \(x\) is the number of cylinders of the engine   To find the fundamental frequency of the tracked harmonic (\(H\)) based on the number of cylinders you can use the following guide along with some kind tool that can analyse frequency values (for example, the free tool [Sonic Visualizer](https://www.sonicvisualiser.org/ "Sonic Visualizer")): - 2 cylinders - \(H1\) - 3 cylinders - \(H1.5\) - 4 cylinders - \(H2\) - 5 cylinders - \(H2.5\) - 6 cylinders - \(H3\) - 8 cylinders - \(H4\) - 10 cylinders - \(H5\) - 12 cylinders - \(H6\)   Once you have found the *real* RPM values for each audio sample, you will then want to find the [relative pitch](https://en.wikipedia.org/wiki/Relative_pitch "Wikipedia: Relative Pitch") interval. This is done using another formula that converts the interval frequency ratio \(f2 / f1\) to pitch cents (since Wwise uses pitch cent values): $$P = 1200 \times log2(f2 / f1)$$ Where: - \(f1\) is the first frequency of the interval - \(f2\) is the second frequency of the interval - \(P\) is the resulting relative pitch in cents   The best way to correlate the values you calculate is to create a spreadsheet, as shown in the following example:   {{< table-wrapper >}} | RPM | | 1185 | 1515 | 1815 | 2205 | 2528 | 2858 | 3248 | 3453 | 3825 | |------|-------------------------------------------------------------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:| | | Harmonic Frequency (Hz) | 60 | 73 | 84 | 97 | 112 | 124 | 136 | 149 | 158 | | 1185 | 60 | 0 | 339.521 | 582.512 | 831.627 | 1080.56 | 1256.77 | 1416.69 | 1574.73 | 1676.27 | | 1515 | 73 | -339.52 | 0 | 242.991 | 492.106 | 741.036 | 917.246 | 1077.17 | 1235.21 | 1336.75 | | 1815 | 84 | -582.51 | -242.99 | 0 | 249.115 | 498.045 | 674.255 | 834.175 | 992.221 | 1093.76 | | 2205 | 97 | -831,63 | -492,11 | -249.11 | 0 | 248.93 | 425.14 | 585.06 | 743.107 | 844.641 | | 2528 | 112 | -1080.6 | -741.04 | -498.04 | -248.93 | 0 | 176.21 | 336.13 | 494.176 | 595.711 | | 2858 | 124 | -1256.8 | -917.25 | -674.25 | -425.14 | -176.21 | 0 | 159.92 | 317.967 | 419.501 | | 3248 | 136 | -1416.7 | -1077.2 | -834.17 | -585.06 | -336.13 | -159.92 | 0 | 158.047 | 259.581 | | 3453 | 149 | -1574.7 | -1235.2 | -992.22 | -743.11 | -494.18 | -317.97 | -158.05 | 0 | 101.535 | | 3825 | 158 | -1676.3 | -1336.7 | -1093.8 | -844.64 | -595.71 | -419.5 | -259.58 | -101.53 | 0 | {{< /table-wrapper >}}   You'll notice in the sheet above that we have highlighted in green certain fields. This is because you'll need to designate an RPM as the "neutral point" of your pitch curve in Wwise, and in the example we've chosen 1815 RPM for this. You can choose whichever value you consider the most convenient as it's an arbitrary one, although generally it would be one of the middle values. The rest of the highlighted values around this neutral point indicate the relative pitch of the different RPM audio loops compared to 1815 RPM.   #### Creating The Curve Now that we have our relative pitch cent values, we can go back to Wwise and use them to create the pitch curve. For this you will want to select the **combustion** switch container, and then got to the **RTPC** tab in the **Property Editor**. Once there, you will need to create an RTPC by selecting "*Voice Pitch*" as the Y axis and the game parameter `SIMVAR_GENERAL_ENG_RPM` as the X Axis:![Preparing The Pitch Curve In Wwise](images/4_Sound/Aircraft_Audio/engine/engine_17_prepare_curve.png)   You can now set the **Voice Pitch** curve to the values from the spreadsheet. This is done by double clicking on the green line (the curve) and then setting the X and Y values to the appropriate RPM and pitch, where you would be using the *horizontal* values from the spreadsheet. At the end of doing this you will have something that looks similar to the following image: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_18_curve.png" alt="The Voice Pitch Curve For The Combustion Container" >}}   #### Adapting The Samples There remains one final thing to do before things will actually sound as they should: adapt the pitch of the base audio samples to "fit" this pitch curve so that they still maintain their original timbre and don't sound to high or low when played. For that you will be using the **vertical** axis of the spreadsheet you created (as shown in the section above), and you'll be using the numbers above and below the neutral point RPM to adjust the pitch cents of each of the samples.   Modifying the sample pitch is simple. You only need to select the **combustion\_outside** blend switch, and then open the **Contents Editor** window (if it's not already open). Here you will see each of the samples in this switch along with some of their associated parameters, one of which is **Pitch**. You can edit each of the pitch values for the samples from this window to match the values derived from the spreadsheet: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_19_values.png" alt="Changing The Sample Pitch Based On The Spreadsheet Values" >}}     ### Testing In Wwise You can test the way the pitch curve sounds over all the samples in the blend container quite easily in Wwise. For that you should select the **combustion\_outside** container, and then open the **Blend Track Editor**: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_20_blendedit.png" alt="Opening The Blend Track Editor" >}}   With the editor open, you can then press the **Play** button in the **Transport Control** window, and drag the `SIMVAR_GENERAL_ENG_RPM` flag left and right in the Blend Track Editor window to simulate different values for the SimVar: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_21_test.png" alt="Testing The Audio Using The SimVar Flag" >}}   As you move the SimVar flag left and right you will hear how the samples cross-fade between each other and also how the pitch ramps and down smoothly.     ### Repeat Having completed the setup, cross-fading, and pitch control for the **combustion\_outside** container, you should now go ahead and repeat the exact same steps for the **combustion\_inside** container, so that those audio loops behave in the *exact* same way as the outside ones do.   Once you have done this for the combustion\_inside container, you have the basic sound loops for the engine finished. However you will normally want to repeat this process for other parts of the aircraft motor, specifically (for this example), the propeller and the exhaust. The basic work loop is: - In the **engine** switch container, create a new *child* **Switch Container** for the part to add audio for - In the new switch container, add child **Blend Containers** for *inside* and *outside* - Add the appropriate samples to these blend containers - Setup the blend container to cross-fade the samples at the correct {{< glossterm >}}rpm{{< /glossterm >}}s - Create the spreadsheet for the pitch curve - Add the pitch curve - Test   Note that the following SimVars should be used when creating the cross-fades and the pitch curve for the new blend containers: - Propeller inside/outside - `SIMVAR_PROP_RPM` - Exhaust inside/outside - `SIMVAR_GENERAL_ENG_RPM` {{< callout context="note" title="NOTE" icon="outline/bulb" >}} In the Wwise sample project you can check the various **templates** to see how they have been setup and try to match this with your own aircraft, and for a more complete and extensive example, you should definitely look at how the DA62 is setup. {{< /callout >}}   It is worth noting that for the propeller audio, you can take a shortcut and use the *same* audio samples that you recorded outside for the inside, and then process it slightly differently in Wwise to give the correct "tone" for an inside audio experience. For example, using the same audio, you would set the **low pass** and **high pass** filters for the propeller\_inside blend container to transform the exterior audio into something very close to how it would actually sound inside the aircraft: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_22_filters.png" alt="Setting Low And High Pass Filters To Simulate Interior Audio" >}}     ### Additional Engine Sounds The looping engine sounds are rather important, as they will be what the user hears constantly as they fly and maneuver their aircraft, however there are additional "one-shot" sounds that will also need to be added to complete the engine soundset and define the fully immersive audio experience. To better explain how these fit into the audio scheme, consider the following diagram:   In the above image, the blue circles represent all the engine sounds that should loop, while the lines that connect them indicate the one-off sound effects that will be used by Microsoft Flight Simulator 2024 to connect the loops together. At this point in the creation of the engine sounds you'll want to add these one-off sounds into Wwise, following this basic process: - Right-click on the **engine actor mixer** and create a new child **Switch Container** - Right-click the switch container and add *inside* and *outside* **Blend Containers** - Finally, add the required samples for the audio into these blend containers     ### Engine Audio Events The engine audio that you have added will need to be associated with corresponding Wwise **events** so that they can be played in the simulation. We covered this on the page about [Setting Up Wwise](setting-up-wwise/), but we'll briefly go through it again here for you, as there are some minor differences in the process.   Once you have all the audio samples added to their appropriate blend containers, you will want to go to the **Events** tab in the **Project Editor**. From there you will want to create an "engine" **Virtual Folder**, which will be used to hold all the engine events that we will need. The next thing you'll do is create the **Event** itself - in this case for the **combustion** blend container - and then drag the appropriate blend container onto it: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_24_events.png" alt="Creating The Engine Combustion Event" >}} When creating the events, don't forget to follow the correct naming scheme for engine events: ``` codeblock Play_[SoundbankName]_engN_[WwiseEvent] ``` You'll notice that for engine events we have added in an extra component to the naming scheme: **eng*N***. In this case, the "N" refers to the *index* of the engine that the sound is for, and even if the aircraft only has one engine, this still needs to be included as the `sound.xml` will reference this index value (more on that here: [Engine Audio Sound.xml](advanced-sound-xml/)). By the end of the process, you should have a list of named events that looks something like this: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_25_allevents.png" alt="All The Engine Events Listed In Wwise" >}}   At this point you could go ahead and [Generate The SoundBank](setting-up-wwise/#soundbank) and PC.PCK, then continue on and setup the [Engine Audio Sound.xml](advanced-sound-xml/). However before that there are additional effects and other Wwise features that can be used to enhance the final audio in the simulation, which we'll discuss on the following page: - [Advanced Audio Effects](advanced-audio-effects/)     ### Engine Audio When The Cockpit Is Open When the pilot is in the cockpit, sounds from outside are filtered out by the cockpit's acoustic insulation. However in Microsoft Flight Simulator 2024 the pilot can open the cockpit doors and windows, and so things like the engine, wind, or environmental noises will need to be modified so they change realistically under these circumstances. To do this you will need *inject* the sound of the exterior engine (and other sounds) into the interior when the cockpit is open to the exterior.   To start with you will need to choose which exterior elements to inject into the cockpit interior. We will be using the *engine* sounds for this example, which would be any of the following depending on the aircraft being created: - **Piston**: Combustion, Propeller, Starter, Start, Shutdown - **Turbo Prop**: Combustion, Propeller, Jetwhine, Starter, Start, Shutdown - **Turbo Jet**: Jetwhine, Starter, Start, Shutdown - **Helicopter Turboshaft**: Combustion, Main Rotor, Jetwhine, , Starter, Start, Shutdown - **Helicopter Piston**: Combustion, Main Rotor, Starter, Start, Shutdown   To set things up in Wwise you will need to do the following: 1. Start in your switch container by duplicating the *blend* container of the outside engine element you want to work on. In the image below we have chosen `combustion_outside`, which contains the different sound takes from outside the aircraft. {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_26_outsideengine.png" alt="Selecting The Engine Audio To Use For Injection Into The Cockpit" >}} 2. After duplicating this element we'll rename it to `combustion_open`. This new blend container will contain one blend track for each door of the aircraft, so you will want to go ahead and create child blend containers for all those doors. In the image below we have created a blend container for the *left* door, and added in the relevant sounds: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_27_doorleft.png" alt="Creating The Left Door Blend Tracks" >}} 3. You can then go ahead and do the exact same process for the right door (and then any other doors that are necessary). Once finished, you will need to assign the `combustion_opens` switch into the inside group of your switch container. This is done as follows: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_28_assignedobject.png" alt="Assigning The Open Switch To The Inside Switch Container" >}} 1. Select the `combustion` switch from the audio list. 2. Click on the `combustion_open` blend container. 3. Drag it onto the *INSIDE* section of the **Assigned Objects** window. 4. Check that you are not using any *reverb* or *effect* sends from the **User-Defined Auxilary Sends** section of the blend container you wish to re-inject (in this case `combustion_open`), tick (and adjust) the **Game Defined Auxiliary Sends**, and if you have [Early Reflections](advanced-audio-effects/#reflections) enabled then that should be un-ticked as well: {{< image-center src="images/4_Sound/Aircraft_Audio/engine/engine_29_removeeeffects.png" alt="Removing Effects/Reverb From The Blend Container" >}}   That's the initial setup for a single engine that you want to have audible in the cockpit when it has been opened. You should now go ahead and repeat this process for all the other engines and doors of the aircraft.   Once you have set up the audio for the cockpit in this way you can go ahead and set up the RTPC interaction so that the sound is changed when the door is opened or closed. This is done using **interactive points** which are setup as part of the aircraft configuration using the `[INTERACTIVE POINTS]` section of the [flight\_model.cfg](../../content-configuration/cfg-files/flight_model.cfg/) file, with one interactive point being assigned to each door. Once you have the interactive points setup you should then add a blend track to each of the door blend containers (in this example we have added the blend track then dragged and dropped `da62_eng1_left_door_open_left` onto it, and then assigned the `SIMVAR_INTERACTIVE_POINT_OPEN_0` [SimVar](../rtpc-and-simulation-variables/) to it): {{< callout context="note" title="NOTE" icon="outline/bulb" >}} The actual SimVar index will depend on the index of the interactive point assigned to the door. This may require that you create your own custom RTPC SimVar parameters, as explained here: [RTPC And Simulation Variables](../rtpc-and-simulation-variables/) {{< /callout >}} {{< image-center src="images/4_Sound/Wwise/wwise_doors_blendtrack.png" alt="Adding A New Blend Track Using An Interactive Point RTPC SimVar" >}} You can see in the image above that we have cropped the audio to a starting value of 0.025. This means that when the RTPC SimVar value falls *below* 0.025, the track is not loaded - this is an important optimisation which saves on memory.   With that done you need to spatialise the audio, and for that you will need to override the audio position of the blend container. This is done from the **Positioning** tab, where you should select: - **Listener Relative Routing**: this should be *Position + Orientation*. - **Attenuation**: you should choose an appropriate attunuation curve from the *aircraft >> player* inside selection. - **3D Position**: this should be set to *Emitter With Automation*, and the left doors should be panned to the far left and the right doors to the far right. {{< image-center src="images/4_Sound/Wwise/wwise_doors_positioning.png" alt="The Spatialisation Of The Door Blend Containers" >}} The final stage in Wwise is to add an appropriate **volume curve** to the door blend tracks, linked to the RTPC interactive point SimVars: {{< image-center src="images/4_Sound/Wwise/wwise_doors_curve.png" alt="Setting Up Volume Curves Based On An RTPC SimVar Value" >}} With all the doors setup using the appropriate RTPC SimVars and interactive points, you can then go about adding them into the [Sound XML](../../content-configuration/sounds/sound-xml/) file. You can find an example of how this is done here: - [Engine Preset Examples](../../content-configuration/sounds/sound-xml-examples/#h)