0
0

Hello all and thanks for your help in advance.

I’m a total newbie working through the tutorial. Overall I find it helpful but I admit I’m finding it lacking in clarity (which is my way of not taking responsibility for my own thick head haha). Also, sorry for the super long post. I’m just trying to be as clear as possible when explaining my confusion.

Here’s the issue I’m dealing with. I’m trying to understand the section from Chapter 5 on ‘creating a cycle’, which starts on page 122.

I follow the directions perfectly, but the results I am getting are certainly not what I would expect. I should also note that I did find and download the additional example files that were originally missing (start, sustain, & stop).

What I am hearing…when I audition this sequence, the first file begins to play (‘Start’), but less than 2 seconds after it begins the second sound starts (‘Sustain’). The first sound does continue to finish playing, so essentially I’m hearing both sounds (‘Start’ & ‘Sustain’) until ‘Start’ finishes. ‘Sustain’ does loop as expected. When I hit ‘keyoff’ to force Fmod into finishing the ‘Sustain’ loop and triggering the ‘Stop’ segment,it does so…but there is a very noticeable gap between the two. I should also mention that I did NOT create crossfades between the three files as was suggested by the tutorial as I wanted to see if fmod could seamlessly stream from ‘start’ into ‘sustain’ into ‘stop’ (when I put these end to end in a wave editor they all combined into a perfect stream, as I expected they would).

Side note: A very minor issue I found in the tutorial and didn’t understand…when it gets to the part about ‘Adding a Velocity Based Parameter’ on page 123, step #24 states ‘Set the following properties for the (distance) parameter:’

What is the ‘distance’ parameter?

Anyhow, I was messing around with other things trying to get a better result. I realized that the ‘velocity’ parameter, which was set to 1.000 as per the tutorial instructions, was making the playback occur so fast that the ‘sustain’ was occurring before the ‘start’ had completed. I changed this to a smaller arbitrary value, such as .2. This did in fact allow the ‘start’ to finish playing, but of course it did not stream smoothly into the ‘sustain’ portion.

I can’t really imagine we are supposed to play a guessing game as far as how to set this ‘velocity’ value. I guess I don’t really understand this set of parameters. Yes, I did read the reference section on parameter properties, but it still wasn’t exactly clear nor did it give any tangible examples of usage.

Another ambiguous issue (at least to me). The section called ‘Adding A Sustain Point’ (page 124) specifies the sustain point should be dragged to exactly 2.5. Why this particular value? Is this related to the length of the recorded sounds? I tried nudging it around a bit, but interestingly I didn’t notice much difference so long as that sustain point was located anywhere within the ‘sustain’ wave file.

So how does one do something as straightforward as playing ‘start’, streaming (seamlessly) into ‘sustain’, and then streaming that seamlessly into ‘stop’?

In this example, once I click on ‘keyoff’ I do want the ‘sustain’ section to finish playing through to its end before streaming into ‘stop’.

How is this done?

And then a variation of this…

I’m sure there would be times when I would want to essentially override the completion of the ‘sustain’ portion, meaning as soon as something triggers the event to stop playing ‘sustain’ and go right into ‘stop’ (for example, if the ‘sustain’ was a long loop). I guess this would be a good time to cross fade from the ‘sustain’ into the ‘stop’, and I believe the tutorial was suggesting this method in their example. But still, playing a ‘start’ sound and streaming that perfectly into a ‘sustain’ portion should be pretty basic. What am I missing?

I am also aware of not falling into the newbie trap of thinking the horizontal axis is a typical time line. But the example files used in conjunction with the specific numbers the tutorial gives just doesn’t seem to work. Has anyone else run into this problem?

Again, sorry for the length here. Didn’t know quite how to put it so that you might really understand what I’m getting at.

Cheers,

Robert

  • You must to post comments
0
0

"What is the ‘distance’ parameter?"

It’s just a paramater that’s named "distance." FMOD has some magical params, where if you give it that name, FMOD will update the parameter automatically (in this case passing in the distance to the listener). It’s sort of like how in Nethack naming a sword Sting makes it Sting :) There are some special params for orientation and angle relative to listener, but I forget their proper names. It’s a super powerful feature that I didn’t even know existed until I’d been using FMOD for like 1.5 years. Doh!

"I can’t really imagine we are supposed to play a guessing game as far as how to set this ‘velocity’ value. I guess I don’t really understand this set of parameters."

I think you sort of do have to play a guessing game. You basically want the parameter to get to the sustain point around the time the start sound is ending. Essentially, you’re using the velocity to say "it should take x seconds to get from the start to the sustain point". So, if the start sound is 1 second and the sustain is at 2.5, you’ll want a velocity of around 2.5 or so, with tweaks as to what you think sounds best.

"Why this particular value?"

Conceptually, I think they just mean "in the middle of the the sustain sound". Any number would do, provided it was in the param range covered by the sustain sound. In this case though, you have a start and an end, so putting it equidistant from both (in the middle of the sustain) seems the most logical. The behavior would be largely the same though if you put it anywhere in that param range.

"I do want the ‘sustain’ section to finish playing through to its end before streaming into ‘stop’."

I think that’s the difference between Loop and Cutoff vs Loop and Play to End.

The one bit I’m not sure about is the gapless transition w/ out a crossfade. I belive the sample uses crossfades to ensure that it sounds right even if it isn’t sample accurate. I dunno if FMOD is guaranteed to be sample accurate in that situation, but I’m sure someone from Firelight can speak to that.

  • You must to post comments
0
0

Thanks for shedding some light here. Any and all other feedback still much appreciated as I move forward.

I suppose I took it for granted and expected that sounds could play and stream on a sample accurate level. Isn’t there some way for FMOD to determine when one sound completes playing, thereby triggering the next sound in a sequence without having to do a lot of fudging?

  • You must to post comments
0
0

Hi..

I don’t mean to be un-pc on the forums, but in all honesty I did find the documentation/tutorials occasionally frustrating. For the most part I was ok with it, but there were one or two moments when it referred to terms incorrectly (which I was only able to work out from context). I may be wrong, but it seems to me the doc was put together by programmers and not sound engineers. I was further frustrated to discover that the tutorial videos (which the wiki promised "within a few weeks" quite some time ago by the looks of it). I am not going to name names, but having played around a little with competing authoring engines, as a sound engineer I find the difference between at least one of them and fmod designer like chalk and cheese in terms of documentation, tutorials, and general understanding of where audio professionals are coming from. I sincerely hope future versions of fmod introduce things like "sliders" (ergo: Audio professionals have been using virtual "knobs" and "sliders" for over a decade. It is painfully frustrating and pointless to manually enter Freq, Q and Gain values on an effect). As indicated, at least one competing middleware authoring app that I know of has recognised this and is as a result vastly more appealing to audio professionals.

Anyway, I’m not dissing fmod, and am basically going to have to work with it, and I will give it full credit in its simplicity and flexibility (and price). I was just speaking freely, I guess. Sorry for the gripes, and thanks for the software. I suppose one thing I could do to help is make up my own videos eventually to put on the wiki. :)

  • You must to post comments
0
0

[quote="Flying Poo":3udedwjw]Hello all and thanks for your help in advance.

Here’s the issue I’m dealing with. I’m trying to understand the section from Chapter 5 on ‘creating a cycle’, which starts on page 122.

I follow the directions perfectly, but the results I am getting are certainly not what I would expect. I should also note that I did find and download the additional example files that were originally missing (start, sustain, & stop).
[/quote:3udedwjw]

First of all, thanks for the feedback!

Most of the problems you are experiencing come from the the parameter’s velocity parameter. When used, the velocity causes the parameter to behave like a more traditional timeline. For example, if you want the parameter to behave like a timelime:

  • set the parameter minimum to 0.
  • set the parameter maximum to the time length of your waveforms
  • set the parameter’s velocity to 1.

You then set the length of each sound instance box to the size of the waveform.

I DON’T think this is best practise..and can lead to problems. Such as in this case, as the length of the ‘additional’ start.wav file is not consistent with the waveform length considered in the user manual.

The tutorials are currently being reworked as I type.

The new cycle sound tutorial will use the new ‘keyoff on silence’ feature and layering to produce smoother transitions between section.

[quote:3udedwjw]
Side note: A very minor issue I found in the tutorial and didn’t understand…when it gets to the part about ‘Adding a Velocity Based Parameter’ on page 123, step #24 states ‘Set the following properties for the (distance) parameter:’
[/quote:3udedwjw]

I will rewrite this section to be clearer. The ‘cycle’ tutorial will be getting a big make over. I’ll try to make it available with the next build.

cheers,
Templar

  • You must to post comments
0
0

Thanks for the additional clarification.

I have to agree that the manual and tutorials could use some additions and editing. The more ‘real world’ examples you can sprinkle throughout, the better! Otherwise new users may not even tap into some of the great features you have implemented, only because they haven’t been thoroughly explained.

I also found the tutorial on the car engine a bit frustrating. While everything worked fine, I felt the end part regarding auditioning the results was a bit simplified. It didn’t explain the relationships between the individual sliders, and how they would relate to information being relayed by the game engine.

I was able to hear the engine changes as I moved the sliders around, but wasn’t sure exactly what I was doing. And as was previously mentioned in this thread, I realize now that there are certain ‘special paramters’ that are ‘hardwired’ (and ‘hard named’ – meaning can’t be changed). Because these are specialty cases with their own set of rules, their specifics must be spelled out for a new user to grasp.

Perhaps try to adopt the standpoint of most who would be reading the manual (new users with sound design backgrounds), and assume that anything and everything should not only be defined, but given an example of usage.

Just me $.02

Thanks!

  • You must to post comments
Showing 5 results
Your Answer

Please first to submit.