FMOD Studio 1.0 Released (Updated 15th April 2013)

you’ll have to recode the integration, its a different API.

Hi

Regarding the transitions, how do you trigger them? I have a transition and a transition region with a parameter assigned to both, but I am having a bit of trouble triggering the transition.

Hope to hear from you soon

Joe Gornall

In general, transitions and transition regions are triggered automatically when the timeline cursor passes over them. If the transition or transition region has ‘Parameter Condition’ logic associated with it, then it will only be triggered if the parameter specified in the condition is in the value range specified in the condition.

If the transition or transition region has no text written on it, the problem is that it has no associated destination to send the timeline cursor to. Fortunately, this is easy to fix: Just right-click on the transition or transition region to open the context-sensitive menu, select the ‘Set Destination To’ menu item, then select the submenu item corresponding to the destination marker you’d like it to target.

Okay, that cleared it up thank you!

Joe Gornall

Support for svn would be really handy

We’re integrating FMOD Studio full time soon, and I’ve been familiarizing myself with it. Here’s a bunch of suggestions and a couple of bugs I stumbled upon (v 1.1.1 (43554)). :slight_smile:

Event Editor - visual aids:
[list]
[]Indicate with an icon on every track (audio tracks, master), if DSP effects have been added. A tiny “3D” icon could be shown if a 3D Panner is present, for example.[/:m:5bb07oge]
[]Wav markers/regions appear no longer to be supported (for loops), but they could be visualized in the waveform views (both in sound containers and on tracks), so that it’s easier to match the Loop Region with them for example.[/:m:5bb07oge]
[]Visualize the Start Offset position in the waveform view[/:m:5bb07oge]
[]Visualize sample playback with a color change in the item list, and a line traveling across the waveform in multi/scatterer sounds[/:m:5bb07oge][/list:u:5bb07oge]

Useful features:
[list]
[]Right click -> Locate Wav in Audio Bin command in the multi/scatterer/single sound right click menu (opens the Audio Bin if not already open, and selects the corresponding wav there)[/:m:5bb07oge]
[]Play button in the waveform view of the multi/scatterer sound, to test-play individual waves (to find and kill that one random variation that sticks out too much, and to test the volume and pitch settings of each wav).[/:m:5bb07oge]
[]Are there plans to bring back the signal generators? (sine, saw, square, noise)[/:m:5bb07oge]
[]An LFO modulator to automate parameters would be handy (sine, triangle, ramp up/down, square, noise, smooth noise). [size=70]I thought I saw one already in an earlier sneak peek of Studio?[/size][/:m:5bb07oge]
[]Transition destination: Random marker. As in, jump to a random marker in the timeline.[/:m:5bb07oge]
[]Spawn Intensity is no longer there, and the Sound Scatterer intervals cannot be automated. What’s the plan?[/:m:5bb07oge]
[]Sample length relative Start Offset (float; 0.0 = start of sample; 1.0 = end of sample), which could be applied to all wavs in the container with a single parameter.[/:m:5bb07oge][/list:u:5bb07oge]

Bugs:
[list]
[]If I open a wav in an external editor, I cannot save it because Studio has a handle on the file. I’ll have to switch to another item to release it.[/:m:5bb07oge]
[]After saving the modified file, Studio doesn’t refresh its waveform image of the file. At least not in the Audio Bin.[/:m:5bb07oge][/list:u:5bb07oge]

That’s a good idea. I’ll bring it up at our next UI design meeting.

I’m not sure what you mean by wav markers not being supported. Are you referring to the waveforms displayed on trigger regions? Those only appear on the trigger regions of sound modules that are time-locked. Non-time-locked module trigger regions act as simple on/off switches in which cursor position has no relation to what part of the audio plays, so displaying the waveform would be misleading and not useful for loop region positioning.

It’s on our to-do list.

We’ve been planning to improve deck display of multi sound modules for a while, so thanks for the suggestions.

These are on our to-do list.

I’ll leave it to Gino to tell you about our plans regarding these.

We’re planning quite a few improvements to the current logic system, and adding the ability to specify random behaviour is high on the list.

The plan is to make the ‘Interval Between Sounds’ properties automatable and modulatable.

Start offset was added to Studio only recently, and we haven’t yet fleshed it out with all the features that it deserves. We do plan to improve it, but there are a lot of other things on our to-do list, so it might take us a while.

Thanks for the reports, I’ll add these to our bug tracker.

Coolness! :slight_smile:

I mean the sustain loop points, regions and markers supported in .wav metadata. You can add these in sample editors like Sound Forge or Wavosaur, and loop points are commonly used in musical instrument wavs, so I have a habit of using them in some sound effects too (example: servo motor winds up, then continues with a looping steady, all in one sample).

In Designer, if the .wav file had a sustain loop region in it, FMOD used them as Sync Points so that a wav could be looped from a point in the wav rather than from start to end.

I just tested it in Studio. Looks like they work to a degree:

  • If you place a wav with a sustain loop on a timeline and extend it longer, it uses the wav’s loop points (ie the servo motor continues steady for as long as the trigger region runs)
  • However, if there is a sustain point on the event timeline, the playback of time locked sounds stops
  • If you play the wav from a multi sound, a sustain point doesn’t stop its playback, but it only loops the sample from start to end, not from the loop point

I can work around this by placing the wav inside an Event Sound and just stretch it to infinity. But it feels like a redundant step.

Basically what I wanted to do is a servo motor sound event that winds up and loops in one sample (easier to make it sound continuous, since a lot of source material is available like that), has a sustain point so I can keep the motor running forever if I want, then cue the sustain point to segue to a wind-down sound.

So I guess the fix for this would be that wavs inside multi sounds could use loop points, if present (and maybe Studio could indicate their presence somehow, so you can choose whether to use the loop points or not)

As you have observed, Studio’s support for wav markers is not yet complete. We are planning to improve this in the future, but there’s a lot of other things we want to get done first. In the mean time, I suggest you re-export your files without wav markers and use Studio’s built-in features to achieve the behavior you want.

The reason why your time-locked sounds stop producing audio when the timeline cursor hits a sustain point is that in time-locked sounds, the part of the waveform that plays always corresponds to the part of the waveform the cursor is over. If the cursor isn’t moving, either due to a sustain point or for any other reason, then silence is the expected output. Non-time-locked sounds, on the other hand, start playing when the cursor enters them and continue to play until it leaves, regardless of whether and how the cursor moves within it. Currently, only single sound modules with no loop mode are time-locked, and there’s no way to switch a module from being time-locked to being non-time-locked without changing its properties or rebuilding it entirely, but both of those limits are going to be removed as time goes on.

We’ll certainly consider that, but many details of how we’ll support wav markers in Studio are still up in the air.

Incidentally, there’s a number of ways you could achieve the effect of your example in Studio. The simplest would be to use a time-locked sound and place a loop region around the section you want to loop, with a condition that allows you to exit it when you want to move on. If you don’t want to use time-locked sounds, then you’ll need to place the looping portion of your sound into its own module, set that module to loop, and use a sustain point. Either way, you should get the behavior you’re looking for.

Thank you!

Sometimes loops are prone to clicks and sensitive to zero cross or wave phase, and the loop points need to be sample accurate. How does Studio handle this? I may not be able to zoom close enough to manually place the loop region accurately enough (the visual indicator could help with this, or maybe a “create loop region from sample loop points” command). Does Studio apply ramping to the loops so that non zero cross / discontinuity is not an issue?

We’ve got a few improvements in the works that might help in the situation you describe. For example, we’re planning to improve zooming. Alt + mousewheel is more accurate than dragging the edge of the birdseye view reticule, but even that has limits; We want you able to position items with millisecond accuracy, and currently you just can’t zoom in far enough. Unfortunately, this improvement is waiting on some changes to how we handle timeline position, so it’s still a ways in the future - But we do want to implement it as soon as we can.

We’re also planning to expand the existing snapping behavior so that you can snap dragged markers to the positions of other items, instead of just to significant ruler positions. We’ll also make snapping customizable, so you’ll be able to select exactly what constitutes an appropriate snapping location, or even suppress snapping entirely if you’re doing fiddly work. Again, this is waiting on some other changes, but it’s high on our list.

We don’t apply ramping to logic track transitions by default, as there are some situations where it is undesirable. We do plan to make some improvements to how AHDSR ramping works, however, that should help with this issue. (Currently the AHDSR modulator’s release behavior doesn’t work well with time-locked sounds.)

Finally, we’re planning some improvements to transition timelines that will make it possible to define custom, non-instantaneous transition behavior, including custom crossfades… But we haven’t ironed all the bugs out, yet, so those features aren’t in the publicly released versions.

Tl;dr: There’s no easy solution available yet, but we have several in the works.

EDIT: Whoops, it appears we do have some ramping automatically applied to transitions, but popping does still occur in some situations. We’re working on improving it.

Awesome! I was already excited about the new possibilities Studio offers, and all this is getting me even more excited. :slight_smile:

A question: Now that Seek Speed (that damps/smooths the change of a parameter over time) is no longer there, what is it going to be replaced with?

Seek speed. We just haven’t gotten around to implementing it, yet.

We’ve run into a problem of sounds remaining idle, with the timeline progressing forever, even though no sounds are playing, and no sounds are present in the parameters (ie it should be oneshot). If the sound gets repeated, these idle sounds accumulate over time.

Well, after a bit of experimentation, it turns out that if there are any effects (flanger, chorus, any legacy FX, etc) in any tracks, it causes the sound to run forever until stopped by command.

If I contain the audio with the effect into a sub-event, the parent event’s length is then determined by the length of the sub-event sound’s trigger region, disregarding the sample length.

If the effects running forever issue is a permanent part of the effects’ nature and there isn’t any good way to fix it, then maybe a Stop Event cue you could place on the timeline would be useful. Just so you don’t need to create a sub-event every time you want to use effects in oneshot sounds.

The Studio API waits for all effects in an event to go idle before stopping the event, in order to avoid cutting off effects with a tail (such as Delay and Reverb) too early. However, it looks like a number of our effects don’t correctly go idle - sorry about that! We will get this fixed as soon as we can.

This bug has now been fixed for the next release.

UI suggestion for the backlog: automatically assign type specific colors to the trigger regions when added, so that it’s easier to tell Snapshots, References and Event Sounds, Multi Sounds and Scatterer Sounds from each other.

Also: Reference can be told from that small arrow icon in the corner of the trigger region. So why not also indicate Snapshots with a star icon (the same star you see in the Mixer snapshot list).

Scatterer Sounds could also have their own icon.

We will definitely implement these suggestions! Believe it or not, all of these are already in our backlog in almost exactly the forms you describe. I suspect you might be psychic.