X-Plane 12 runs the FMOD 2.02 engine, but since FMOD provides backwards compatibility, older 1.08 banks will load with no change. Nevertheless, you will NOT be able to use the “live update” feature of FMOD Studio 1.08 with X-Plane 12, because the newer version of the audio engine cannot connect to older Studio versions.
If you’re starting a new project for X-Plane 12…
The “Starter Project” download page now delivers a full FMOD 2.02 version. As you did with X-Plane 11, you must download a fresh “Starter Project” for every new X-Plane 12 project you intend to create.
If you’re upgrading an X-Plane 11 project…
We recommend you open your old 1.08 Studio project using FMOD Studio 2.02 and saving it as a 2.02 project. This will automatically upgrade your sound bank. Then you’ll need to address the following issues for it to work properly on X-Plane 12.
Output speaker format
You should set your output format as “Surround 5.1 on Desktop” because the master bank that lives in X-Plane now outputs this format by default. Your bank’s output will be automatically downmixed/upmixed for users with a different speaker system. Be sure to properly set your buses to this format both on the input and output of each bus to avoid inadvertently downmixing your sounds. The starter project is already set up for Surround 5.1.
As of FMOD Studio 1.9, some characters are no longer allowed in parameter names. So when you use datarefs as parameter names (on events or snapshots), you should replace
- “/” with “.”
- “[*]” with “[#]”
Thus, “sim/flightmodel2/engines/engine_rotation_speed_rad_sec[*]” will need to be expressed as “sim.flightmodel2.engines.engine_rotation_speed_rad_sec[#]”. Note that dataref names on the .SND files do not need to be changed, you only need to make this change when they’re used as parameter names inside FMOD Studio.
If you migrated an old 1.08 project to 2.02, you can use this tool to help you bulk convert all the parameter names in your project to the new format so you don’t have to do it manually. Open your 1.08 bank using Studio 2.02, save it, exit Studio and then run the tool.
To be able to use “Live Update” you need to use FMOD Studio 2.02. You must enable the “Live Update” connection only after X-Plane has fully loaded your aircraft, or the changes you make to the bank won’t be reflected in the simulator. If you reload your aircraft, be sure to turn off and on “Live Update” again so it picks your external changes.
- FMOD 2.02 “global parameters” are supported but untested at this time.
- The “Highpass”, “Highpass simple”, “Lowpass”, “Lowpass simple” and “Parametric EQ” are considered deprecated on FMOD 2.02. All those are now superseded by the new “Multiband EQ” which has better CPU performance and functionality. We recommend you upgrade those effects if you’re using them.
New polyphonic events
When triggering sound events, X-Plane reuses the event instances to save resources, so if you have an event whose start conditions are satisfied several times in succession, the same instance will be stopped and retriggered each time. This might be undesirable under certain circumstances, such as triggering “clicks” for rotary knobs.
X-Plane 12 introduces the “EVENT_POLYPHONIC” directive for events. This forces X-Plane to disable instance reusing for that event and makes it trigger a new, separate instance of the same. Be sure to limit the “max instances” that can be triggered on the event (suggested 2-5) and the “cooldown time” to maintain low CPU usage and to prevent FMOD from triggering too many sounds at the same time, which could mute other sounds playing at that moment.
X-Plane now includes ambient sounds that depend on where the camera is placed in the world and its surroundings, as well as new rain, wind, hail and thunder effects. Ground equipment now produces sound too. All these are routed through the “Exterior Processed / Environment” bus, so it should “just work” with your existing banks.
As with X-Plane 11, it’s the responsibility of the aircraft developer to signal process these sounds when the user is located on the interior of the airplane, according to its sound insulation characteristics, and to do so only on the airplane interior, leaving the bus completely unprocessed when the user is outside (i.e. no mixer snapshot active). Be sure to preserve the 5.1 input/output format on that bus too.
The new environmental sounds that replace the old .WAV files in “Resources/sound/weather” don’t include rain or hail hitting the airframe, because it’s impossible for us to determine what material your aircraft is made of. So the developer should add their own sounds for the exterior and interior rain/hail impact on the airframe. You can use the following datarefs to that effect:
New copilot NAV radio morse datarefs
In addition to the existing datarefs for triggering the morse code / marker sound events tied to the pilot radio, X-Plane 12 now provides datarefs for the copilot side too. They’re named exactly like their pilot counterparts, but suffixed with “_copilot”:
And you can modulate their volume based on:
Remember that sound events related to morse and marker should be routed to the Radios bus. You can look into the Airbus A330 implementation for reference.