I am attempting to design a looping heartbeat that will change speed gradually based on a parameter. A previous sound designer had implemented a heartbeat, but the implementation has a couple of problems that I want to improve upon:
For each loop, there is only a single “lub” sound. It should make 2 successive sounds to produce a “lub dub” like a real heartbeat (and thereby emulate the atrioventricular valves and semilunar valves, as Wikipedia has informed me).
The current implementation has numerous loop regions of different length that are selected by the speed parameter. This causes the heartbeat to increase in speed step-wise, not gradually.
I’d like to make the heartbeat increase in speed gradually, and I’d also like to make the amount of time between the “lub” and the “dub” speed up proportionally with the overall heart rate.
I have separate samples for the “lub” and “dub”. I am just struggling to conceive of a graceful way to implement this in FMOD. I have setup an event with the two sounds in a loop region, and at this static speed it sounds good. Adjusting the master pitch gets the speed change I want, but I don’t want to change the pitch of the samples. It seems like there must be a way to just make them trigger faster or slower based on the speed parameter. I keep thinking tempo automation has to be the way, but I can’t conceive of a way to do that either.
I’m thinking I’m going to have to script the behavior I want in the game engine, but I thought I should field the question here to see if anyone had a good suggestion for how to gracefully implement this effect.
Do you have a good implementation idea for me?
[Using FMOD Studio with Unity]