Fmod Studio Macfmod Studio For Mac
About r/GameAudio For those interested in the craft of making sound for games. This could encompass music, sound design, voice and just plain ol' middleware! Other ways to chat with us. Discord -. IRC -. GameAudio wiki page menu FMOD Info Anything listed here does not represent an endorsement.
Most links provided are simply results from Google searches. See the page for info on making additions and edits to this wiki which we encourage our subscribers to do. You may also PM the moderators of this subreddit with suggestions for this page FMOD Application Info What is FMOD?
From the FMOD wikipedia entry FMOD is a set of audio content creation (and implementation) tools made by Firelight Technologies that play (audio) files of diverse formats on many different operating systems, used in games and software applications to provide audio functionality. What does FMOD cost? There are caveats and rules to this so refer to the pricing table at for more details. In general FMOD is;. free for non-commercial /education use. free for Indie Developers (budget under $100K) What Platforms does FMOD work with?
The FMOD Studio application is currently available to download for the following platforms;. Windows. Mac Works from FMOD Studio support the following target platforms. PC. Max OSX. iOS.
Android. Xbox360.
Xbox One. PlayStation 3. PlayStation 4. PlayStation Vita FMOD Studio Programmer’s API. Windows. Windows Store (Metro).
Windows Phone 8. Macintosh. iOS. Android. Linux.
PS3/PS4/PSVita/Xbox 360/Xbox One/Wii U (contact them regarding these platforms) What Plugins does FMOD support? Built-In Plugins. pan. gain.
distance. tremelo.
distortion. high pass. low pass.
parametric eq. pitch. reverb. compressor. limiter. flanger. delay.
chorus from the manual there appears to be more and a great many parameters of each to work with. 3rd Party Plugin support???
Comes with these 3rd Party Plugins. McDSP Mastering Limiter 1. AudioGaming AudioWeather. GenAudio AstoundSound What Game Engines does FMOD work with?
What kind of metering does FMOD have? What Control Surfaces will FMOD work with? Terminology Adaptive Audio sound/audio/music that reacts to gameplay and environments within the game. API Application Programming Interface Generative Audio from the FMOD Studio manual. A complex sound can be constructed from smaller sound components. When done correctly, this will result in the sound being unique when it is triggered because it is assembled in real-time.

Each of the sound components used in the creation of the sound can be reused as components for other sounds thus maximizing the use of memory. This method is referred to as generative audio. GUIDS from the FMOD Studio manual. The Export GUIDs command allows users to provide unique IDs for many of the objects in FMOD Studio. This will usually be at the request of a programmer on your project team.
GUIDS are Globally Unique Identifiers that are used in code and scripting to refer to Events created in FMOD Studio. Middleware from Google software that acts as a bridge between an operating system or database and applications, especially on a network. Additional Terminology and Basic Concepts from the firelight /FMOD website Introduction Throughout FMOD documentation certain terms and concepts will be used. This section will explain some of these to alleviate confusion. It is recommended when you see an API function highlighted as a link, that you check the API reference for more detail.
Samples vs bytes vs milliseconds Within FMOD functions you will see references to PCM samples, bytes and milliseconds. To understand what the difference is a diagram has been provided to show how raw PCM sample data is stored in FMOD buffers. In this diagram you will see that a stereo sound has its left/right data interleaved one after the other. A left/right pair (a sound with 2 channels) is called a sample. Because this is made up of 16bit data, 1 sample = 4 bytes.
If the sample rate, or playback rate is 44.1khz, or 44100 samples per second, then 1 sample is 1/44100th of a second, or 1/44th of a millisecond. Therefore 44100 samples = 1 second or 1000ms worth of data. To convert between the different terminologies, the following formulas can be used:. ms = samples. 1000 / samplerate.
samples = ms. samplerate / 1000. samplerate = samples. 1000 / ms. bytes = samples. bits. channels / 8.
samples = bytes. 8 / bits / channels. Some functions like Sound::getLength provide the length in milliseconds, bytes and samples to avoid needing to do these calculations. Samples vs compressed samples vs streams When a sound is loaded, it is either decompressed as a static sample into memory as PCM (samples), loaded into memory in its native format and decompressed at runtime (compressed samples), or streamed and decoded in realtime (in chunks) from an external media such as a harddisk or CD (streams). 'Samples' are good for small sounds that need to be played more than once at a time, for example sound effects.
These generally use little or no CPU to play back and can be hardware accelerated. See FMODCREATESAMPLE. 'Streams' are good for large sounds that are too large to fit into memory and need to be streamed from disk into a small ringbuffer that FMOD manages. These take a small amount of CPU and disk bandwidth based on the file format. For example mp3 takes more cpu power to decode in real-time than a PCM decompressed wav file does. A streaming sound can only be played once, not multiple times due to it only having 1 file handle per stream and 1 ringbuffer to decode into. See FMODCREATESTREAM.
'Compressed samples' are a new advanced option that allows the user to load a certain compressed file format (such as IMA ADPCM, MP2, MP3 and XMA formats currently), and leave them compressed in memory without decompressing them. They are software mixed on the CPU and don't have the 'once only' limitation of streams. They take more cpu than a standard PCM sample, but actually less than a stream due to not doing any disk access and much smaller memory buffers.
See FMODCREATECOMPRESSEDSAMPLE. You may notice 'Sample' and 'Stream' terminology is used here but there is no class name with this terminology in them. That is because all FMOD APIs are now consolidated into one 'Sound' type.
By default System::createSound will want to decode the whole sound fully into memory(ie, as a decompressed sample). To have it stream in realtime and save memory, use the FMODCREATESTREAM flag when creating a sound, or use the helper function System::createStream which is essentially the same asSystem::createSound but just has the FMODCREATESTREAM flag added in automatically for you. To make a compressed sample use System::createSound with FMODCREATECOMPRESSEDSAMPLE.
Fmod Studio Mac Fmod Studio For Mac
Channels and sounds When you have loaded your sounds, you will want to play them. When you play them you will useSystem::playSound, which will return you a pointer to a Channel / FMODCHANNEL handle. FMOD will automatically select a channel for the sound to play on, you do not have to manage your own channels. 2D vs 3D A 3D sound source is a channel that has a position and a velocity. When a 3D channel is playing, its volume, speaker placement and pitch will be affected automatically based on the relation to thelistener. A listener is the player, or the game camera.
It has a position, velocity like a sound source, but it also has an orientation. The listener and the source distance from each other determine the volume.
The listener and the source relative velocity determines the pitch (doppler effect). The orientation of the listener to the source determines the pan or speaker placement. A 2D sound is simply different in that it is not affected by the 3D sound listener, and does not have doppler or attenuation or speaker placement affected by it. A 2D sound can call Channel::setMixLevelsOutput, Channel::setMixMatrix or Channel::setPan, whereas these commands on a 3D sound will not have any effect, unless you callChannel::set3DLevel to alter the 2D component of the 3D sound. You can blend a sound between 3D and 2D using this function.
A 3D sound can call any function with the word 3D in the function name, whereas a 2D sound cannot. For a more detailed description of 3D sound, read the tutorial in the documentation on 3D sound.