FMOD Studio

From HEWIKI
Revision as of 17:22, 1 April 2015 by HE-HERB (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

FMOD Studio is the current audio interface for all HeroCloud developers. [|FMOD Studio] provides a fully featured [| project editing and design system], and also supports fully-featured playback of WAV, MP3, and XMA audio files.

Developers currently using the older project-based FMOD Ex system can continue to do so, and do not have to change.

New developers may choose to the use legacy project-based FMOD Ex system if they are more familiar with it. However, Firelight is no longer updating FMOD Ex, so we recommend starting with FMOD Studio.

If a developer uses WAV, MP3, or XMA for audio, they will automatically be using FMOD Studio as the underlying audio system.

DO NOT mix FMOD Ex and FMOD Studio projects or audio files in the same world is as they are independent systems and will cause interference with each other.



FMOD Studio Projects

Fmodstudiobank.png

FMOD Studio provides a fully featured [| project editing and design system]. When downloading, please select the FMOD Studio project editor version that matches the version of HeroEngine you are using. This can be found on the product release page. For HeroCloud customers, this is version used by the current HeroEngine release on the Release history page.

An FMOD Studio project consists of the following:

A single set of master bank and master string banks are used for the entire game project.

Due to streaming downloads or updates from the repository or patch server, we do not recommend creating BANK files larger than 5 MB - 10 MB, and preferably smaller. Audio should be organized into specific.BANK files, e.g.: character sounds, weapon sfx, dungeon background music, menu sfx, etc.

Once an FMOD Studio project is created, the files are uploaded to the HeroEngine file repository, and the appropriate project .bank file is selected and loaded using the HeroBlade Create => Audio menu.

The properties that are specific to an FMOD Studio Project are:

Volume
Playback volume for the project bank
Paused
Pause playback
Stopped
Stop playback
_audioPitch
Change audio pitch, default 1.0







WAV, MP3, and XMA Audio Clips

Fmodstudiomp3.png

Audio files are instantiated in the world HeroScript, or the HeroBlade Create => Audio menu option


The properties that are specific to an FMOD Studio audio clip are:

Volume
Playback volume for the audio clip
Paused
Pause playback
Stopped
Stop playback
_loopAudio
Whether the clip plays once, or loops
_muteAudio
Mute the volume for the clip, but continue to play it
_audioPitch
Change audio pitch, default 1.0
InnerAngle
Inner cone angle for directional sound
OuterAngle
Outer cone angle for directional sound
VolumeOutsideCone
Volume outside cone for directional sound
MinDistance
Minimum distance sound is heard
MaxDistance
Maximum distance sound is heard
Is3D
Whether sound is spatialized to 3D (true), or is non-spatialized 2D (false)
AmbientType
Omni directional or directional 3D sound
_audioRolloff
Attenuation for 3D sound: linear, linear squared, or inverse







Audio Clip HeroScript External Functions

All HeroScript external functions for playing audio clips have been updated to work with FMOD Studio. Please be aware of this if you have been using FMOD Ex projects, as this could could cause a conflict due to the usage of both systems.


Other Audio Formats

If you are interested in support for additional audio formats, please review the FMOD Studio documentation, and contact mailto://support@heroengine.com .



Porting from DirectMusic to FMOD Studio

In order to facilitate porting from an older DirectMusic system to FMOD Studio, MP3 format audio files are used.

When a DirectMusic “.sgt” file is requested, the file request is processed in order to load any existing spec properties, and then an MP3 format version of the file is requested using the existing fully qualified directory path name. This allows an easy transition away from DirectMusic by eliminating the need for any data changes besides the bulk file conversion outside the client itself.

There are a few DirectMusic-specific properties that are not supported as part of this legacy transition as they do not map to MP3 file properties: CutoffDistance (we use max distance and rolloff attenuation), StartOffset, FadeInLength, FadeOutLength, and CleanUpOnEnd. However, these should not matter, especially during a transition.

As DirectMusic audio clips used non-standard distance and range attenuation, any clip with a maximum distance of more than 20 units is divided by 10 to bring it down into a reasonable and correct range.

Also, since looping a DirectMusic audio clip was embedded in the DirectMusic segment instead of set as a property, we arbitrarily decide to loop legacy ambient files - those in a path with "ambient" in the name, or that have the "amb_" string somewhere in their filename.

DirectMusic audio files that relied on dynamic music or embedded volume (which overrode client spec properties) may not play correctly. However, we have encountered very few files which used these features.

Batch conversion of DirectMusic .sgt files to WAV format files can be handled using [| sgt2wav]. Once converted to WAV, files can then be batch converted to mp3 format using any number of available applications such as [| LameXP]

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox