FMOD Studio 1.0 Released (Updated 15th April 2013)

Download FMOD Studio 1.0.0 here

http://fmod.org/fmod-downloads.html

Welcome to the initial FMOD Studio release. This post is to explain what is included in this release, and for version specific discussion.

New features since the last preview

  • Music System - Transition markers and regions on the timeline for constructing interactive music.
  • Timeline and parameter automation for mixer snapshots.
  • Profiler - Supports RMS & Peak, Loudness Metering, CPU
  • Revised API for custom DSP plugins.
  • Many bug fixes

1.0 Feature overview

  1. Multi Track Editor with timeline, browser, effect deck, metering.
  • single sound/multi sound, events within events, sound scatterers.
  • 2d & 3d panner interfaces, automation by parameters, modulators, pre and post fader effect placement (on a track, or the whole event - ie the ‘master’ track).
  • Side-chaining (currently supported by FMOD Compressor effect)
  1. Mixer interface
  • sends/returns, VCAs, solo/mute, effect deck, metering
  • realtime mixing while connected to game (requires runtime)
  • Side-chaining (currently supported by FMOD Compressor effect)
  1. Perforce and Team Foundation Server support - per event check in/check out.

  2. unlimited undo/redo

  3. Control surface support - comes with Nucleus profile. Mackie and others supported.

  4. Added mixer snapshots:

  • Snapshots set overriding changes in the global mixer.
  • Snapshots can be prioritized within the browser.
  • Entire strips can be selectively scoped in to snapshots.
  • Snapshots can be limited to as few or as many properties as the user needs.
  • Snapshot modules can be added to events to trigger snapshots.
  • Timeline and parameter automation for mixer snapshots supported.
  1. Sub-events (events within events!)
  • Sub-events are events that can be triggered and positioned independently while being routed into a master event.
  • Sub-events appear as inputs in the master event.
  1. Interactive music (now part of the event editor rather than being its own interface like FMOD Designer).
  • Tempo markers can be placed on the Timeline
  • All sound module now have a Trigger Behaviour drawer to control delay/quantization as well as conditional activation
  • Transition markers and regions on the timeline for constructing interactive music.
  1. Profiler
  • Currently Supports RMS & Peak, Loudness Metering, CPU. More to come.

Glad to see things really moving along! I’m eagerly awaiting the moment where I’ll switch over my current projects to Studio. Am I correct in saying that Studio is not quite at feature parity with Designer yet? I say this because the following don’t appear to be available/possible in Studio yet (am I mistaken?):

  • Spawning (sound definition)
  • Trigger Delays (sound definition)
  • Granular synthesis
  • Tremolo (I sometimes use this as a chopper effect in tandem with the Distance parameter)

Also, in importing my fdp, some key things like my occlusion curves have been discarded. I understand that the ‘Direct’ portion of Occlusion is likely to be replaced by an EQ effect, so I assume that I’ll eventually see the ‘Direct’ curve replaced by an EQ when I import? What will happen with the ‘Reverb’ portion of Occlusion?

Lastly, I’m curious to know what will become of the reverb ‘emitters’ that I’ve been setting up in Designer (and in our game).

Thanks,
Sean

If I may quote myself here; I found out that if I set each sample itself to loop, rather than the multi-sound, FMOD will actually use the loop points in the sample metadata. Good to know!

One more visualization suggestion for the backlog (though probably you already have it :slight_smile: ): Visualize automation envelopes on the main audio track.

As in: currently you’ll need to ‘open’ each track to show the automation envelopes. This is a bit unwieldy especially when there is a lot of automation or multiple tracks. From the triangular “open” button you can see whether there is automation or not, but that’s the only information available until you open the automation tracks.

It would be handier if all envelopes were also visualized on the main/audio track. Maybe they could even be editable there (just like in the old Designer). And if there are just too many overlapping envelopes and it gets fiddly, you could still open the track to show each automation separately.

Reaper the DAW has a similar feature: if multiple tracks are parented to a master track, it shows “ghosts” of all the wave clips and envelopes in the parent track.

There main reason why we don’t display multiple automation curves on the same track is a simple usability issue: The different curves get in the way of each other, making them harder to read. The other reason is that different properties use different scales and represent different things, and laying them over each other is actually misleading - ‘about half-way up’ could mean ‘no change’ for one property and ‘substantial change’ for another.

That said, we’re also aware that by moving the information to a hidden place, we’ve made it a little more awkward to access. We do have some ideas about how we can improve the way automation data is displayed and accessed, but we won’t be doing it the same way as we did in Designer. Unfortunately, there’s some other things on our to-do list that we need to get done first, so I don’t know when we’ll be able to change the current system.

Hi Sean,

All the features you listed are already available in FMOD Studio.

This functionality is included in the sound scatterer

Trigger delay is inside Trigger Behavior section of the instrument options, under Delay & Quantization select ‘Time’.

Entries in the multi-sound playlist are stitched together sample accurately the same as ‘wait for previous’ play mode in FMOD Designer.

It’s in the effects under FMOD Legacy > FMOD Tremolo.

I’m not too familiar with the designer importing so I leave those questions for someone else to answer.

Thanks, Peter. I see what you’re referring to now. It turns out that the exe name had changed for Studio since the last time I had tested it out, so I was actually still running an older version (due to my taskbar shortcut still pointing to the older exe). Sorry about that.

I’ll have to play with this version some more. So far it’s not clear to me how to do granular synthesis (I tried via a multi-sound module and a scatterer too, since the scatterer seems more analogous to how it was done in Designer). I don’t believe there’s an example in the examples project and I don’t see it described in the manual either. Maybe I’m just too used to how Designer works and not quite getting Studio yet.

I should mention that I submitted a crash report earlier, but I was still using the older version of Studio when that happened, so it was likely due to a version mismatch between the examples project and the older version of Studio.

Thanks again,
Sean

I’ll open up another thread to discuss the problems I’m having with Granular Synthesis (among other things), so as not to clutter up this thread with specific usage/implementation details. I’ll also add to the existing ‘Studio preview feedback/questions’ thread.

Are the banks now feature complete? One thing I’m not clear on is how I identify a bank as streaming or load-in-memory? I take it that the ‘Quality’ setting mirrors ‘Compression Quality’ in Designer? Am I able to define a destination folder for banks and other files when I run the build process? I don’t believe this is covered in the manual yet (sorry if I missed it).

Thanks,
Sean

Hi Sean,

The streaming is set on a per event track basis, the setting is visible in the banks tab when you select and event.

That is correct.

Not currently, the banks will be written to /Build/.

I’m trying to play around with the interactive music features, but I’m not exactly sure what the Transitions and Transition Regions are doing.

Transitions and transition regions cause the timeline cursor to instantly jump to the associated markers, sort of like loop regions but more flexible. If it helps, think of a transition as a shortcut, and the associated marker as its destination.

More information about all types of logic track objects will be included in the next version of the FMOD Studio manual.

Thanks, Peter. So by default everything is 'load into memory" unless the “Stream” button is illuminated on the layer/sound in question. I also take it that the programmer now determines how many streams are allowed (aka Max Streams)?

Sean

Hi Sean,

There isn’t any mechanism for stream pooling at the moment. We haven’t decided how we are going to implement that yet, if it is a high priority for you please feel free to email us at support@fmod.org so we can talk more about your requirements.

I would say it’s only a concern if it happens to be capped rather low right now. There’s a section of a game of ours where the streams reach about 60 (i.e. rather complex/bloated ambiance) and we allow it. We’ve never needed anywhere close to that many streams in the past, but we’re not having any performance problems with that, so we’ll probably keep the stream count that high if things continue to be fine. Would a high stream count like this pose any problems with Studio at the moment?

Thanks,
Sean

Not really, the biggest benefit to stream pooling is limiting I/O bandwidth, which is most relevant when streaming media from disc on consoles.

How does this work with Mobile platforms? Would really like to use it but I’m getting mixed reviews. Who nows…?

Does this release include HRTF output? It was not implemented in recent preview builds and I have not seen it mentioned since.

Our modification of the Source Engine 2007 (Orange Box) currently uses FMOD Designer API. That is what Valve has integrated into the engine for mod developers to take advantage of if they choose to implement it into their mod.
Now that FMOD Studio is released, will this require a simple replacement-implementation of FMOD Designer API with FMOD Studio API? OR, does Studio API require Valve to perform an engine update to allow the ability to even use Studio?

This question can be cross contextual with any engine I suppose. My programming knowledge is at the moment insufficient.

I’m pretty sure valve/source engine is not using fmod in any form

As far as I know, they don’t use it internally, but it is possible to hook it into your mod.

https://developer.valvesoftware.com/wik ... nting_FMOD

At the moment we use it simply to allow menu music to play during the loading screen (it’s an old engine). We want to make more use of it in the future.