Granular Synthesis

Hi,

I’m trying to set up an event with a module that does Granular Synthesis and the only way that I can think of doing it is via a Scatterer module. It was mentioned that I could do it via a multi-sound module, but I can’t figure out how. Anyways, here are my settings for the Scatterer module:

  • “Interval Between Sounds” set as low as possible (i.e. 10.0ms and 10.0ms). This would have been 1ms and 1ms in Designer.
  • “Polyphony” set to 1. I assume this is analogous to “Maximum Polyphony” in Designer? I would have set this to 2 in Designer.
  • “Min & Max Scatter Distance” set to 0.00 and 0.00. I don’t want this particular sound to be distance attenuated.
  • “Total Sounds” set to infinity. I assume this is analogous to “Play Count” in Designer?

With these settings, I get a large gap between spawns (about 200ms). What I’m trying to do is stitch together two segments of a looping ambiance (A & B) so that they always play A, B, A, B, A, B, etc… Just to clarify, I’m using Sequential playback.

Thanks,
Sean

Given your description of the effect you’re trying to create, I’m not entirely clear on why you can’t use a multi sound module set to sequential playback mode. What can’t it do that you need?

After experimenting with the ‘Multi Sound Module’ example, I think I may now understand how to go about doing this with a multi sound module, but I’m not sure I’m on the right path and I can’t get the segments to trigger seamlessly. If I set things up such that the Timeline cursor progresses beyond the end of the multi module before the segment ends, the cursor will snap back to 0 when the segment ends and trigger the next segment. However, this is not seamless (there’s a 200ms gap between segments).

I’m also not sure if this is how the event will behave in game. I didn’t expect the event to re-trigger once the module length was shorter than that the duration of the sound segments. I thought this was a bug the first time it happened.

As a side note, if this is indeed how things will behave in game, then I assume that if I want something to act like a one-shot (and not auto re-trigger), I should make the module length longer than the longest sound in the multi module?

Am I on the right path? Any idea what I’m missing?

Thanks,
Sean

I’m still not sure what your setup is like, but from the sounds of it, there are a few things I could mention that could help.

The first is the audition loop button. Up near the top of the event editor, next to the timeline clock, is a button with a pair of arrows on it. That’s the loop playback audition mode button, and if it’s highlighted, your event will automatically restart as soon as Studio detects that no more sounds will be forthcoming. This only affects auditioning.In-game, your event will typically fall silent after that point.

Second is the multi-sound module’s loop button, which you can see in the Deck whenever a multi sound module’s trigger region is selected. It has the same two-arrow icon as the loop playback audition mode button (This is confusing, because there’s actually two of them - you want the left one). This is not an audition setting - If you set an multi sound module to loop, it will continually select and play sounds from its playlist so long as it is overlapped by the parameter or timeline cursor, and this represents how it will behave inside your game.

By the sounds of it, I think your event currently consists of a single multi sound module with your two segments in its playlist, and that you’re relying on the audition loop mode to continually retrigger the event. This will not work in-game, for the reasons I’ve already mentioned. What you want to do is ensure that the multi sound module is set to loop mode, and then place a loop region or sustain point on the timeline to prevent the timeline cursor from leaving the multi sound module. (Alternatively, you could just put a looping multi sound module on a parameter at the parameter cursor’s default position.)

Thanks, Joseph. Your explanation cleared up what I was missing. Everything seems to be working fine now.

As you had suspected, I didn’t have the multi sound playlist set to loop mode. I had more or less equated this loop button with the one to the right and thought it would just loop the wav file that got triggered, as opposed to advancing/looping through the entire list of wav files. I assume this sort of confusion will eventually get cleared up as tool tips are implemented and the manual is expanded. I should mention that the current wording in the manual may be misleading. Under the section entitled “Module Looping Behaviour” (page 73), it says:

“The Looping setting will instruct Studio to apply looping playback to the Module. When triggered Studio will randomly select one of the sounds from the Multi Module Playlist and loop that sound continuously until the Event is stopped.”

Based on my understanding, this should read more like “… Studio will randomly select one of the sounds from the Multi Module Playlist, play that sound to completion, then randomly select another sound to play from the Multi Module Playlist, and repeat this process until the Event is stopped.”

Thanks again,
Sean

Thanks for pointing that out. Due to time constraints, the current version of the manual was released after only minimal proofreading; We’ll correct errors, add missing sections and improve the layout in future releases.

A related question: Is it possible to steal channels within a Scatterer Sound?

In FMOD Designer, if the re-spawned sound’s polyphony was topped within a Sound Definition, it would not spawn new sounds before the previous ones had finished playing. Sometimes I felt it would be useful to be able to limit the polyphony, but keep stealing the oldest playback within the Sound Definition. Can FMOD Studio do something like this?