# Randomly Pitch in Discrete Semi-tones

**URL:** <https://qa.fmod.com/t/randomly-pitch-in-discrete-semi-tones/15892>\
**Category:** FMOD Studio\
**Created:** [June 17, 2020, 2:52am UTC](https://qa.fmod.com/t/randomly-pitch-in-discrete-semi-tones/15892 "2020-06-17T02:52:53Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![kleptine](https://avatars.discourse-cdn.com/v4/letter/k/ccd318/32.png) [@kleptine](https://qa.fmod.com/u/kleptine)\
**Post date:** [June 17, 2020, 2:52am UTC](https://qa.fmod.com/t/randomly-pitch-in-discrete-semi-tones/15892/1 "2020-06-17T02:52:53Z")

</div>

I would like to have an event randomly pitched, but select from a small set of discrete semitones (say, just the octaves), rather than the full continuous range of pitch change.

All of our sound design in this project is tonal, so making one-off variations for every single event is a big authoring pain, and we’d really love some way to do this in Fmod Studio, or implement this on the code side. We’re in Unity, for what it’s worth.

---

<div class="post-metadata">

**Author:** ![FoxyMusic](https://avatars.discourse-cdn.com/v4/letter/f/a4c791/32.png) [@FoxyMusic](https://qa.fmod.com/u/FoxyMusic)\
**Post date:** [June 17, 2020, 6:08am UTC](https://qa.fmod.com/t/randomly-pitch-in-discrete-semi-tones/15892/2 "2020-06-17T06:08:59Z")

</div>

So maybe you can draw pitch modulation with parameter and then randomize parameter value for each instance? Never tried that but it was the first thought, looks like it could do the job.

---

<div class="post-metadata">

**Author:** ![richard\_simms](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/richard_simms/32/261_2.png) [@richard\_simms](https://qa.fmod.com/u/richard_simms)\
**Post date:** [June 23, 2020, 2:20am UTC](https://qa.fmod.com/t/randomly-pitch-in-discrete-semi-tones/15892/3 "2020-06-23T02:20:36Z")

</div>

You could have the event you wish to pitch shift as an event instrument placed on a discrete parameter of a parent event. You can then automate the pitch of the event instrument on the parameter sheet to the semitones needed.

---

<div class="post-metadata">

**Author:** ![Skaven252](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/skaven252/32/63_2.png) [@Skaven252](https://qa.fmod.com/u/Skaven252)\
**Post date:** [July 23, 2020, 9:26am UTC](https://qa.fmod.com/t/randomly-pitch-in-discrete-semi-tones/15892/4 "2020-07-23T09:26:11Z")

</div>

… by using a “staircase” like automation envelope.

Speaking of which… it would be pretty handy if the FMOD Studio envelopes had a “hold” (or “constant” or “square”) envelope point type. It would be much easier to build stepped automation like this that way.

---

<div class="post-metadata">

**Author:** ![richard\_simms](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/richard_simms/32/261_2.png) [@richard\_simms](https://qa.fmod.com/u/richard_simms)\
**Post date:** [July 29, 2020, 12:48am UTC](https://qa.fmod.com/t/randomly-pitch-in-discrete-semi-tones/15892/5 "2020-07-29T00:48:09Z")

</div>

I will put this idea to our dev team, but I believe that the discrete parameter sheet automatically has the “stepped” automation curves.

---

<div class="post-metadata">

**Author:** ![Skaven252](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/skaven252/32/63_2.png) [@Skaven252](https://qa.fmod.com/u/Skaven252)\
**Post date:** [July 29, 2020, 5:28am UTC](https://qa.fmod.com/t/randomly-pitch-in-discrete-semi-tones/15892/6 "2020-07-29T05:28:34Z")

</div>

Ah, discrete parameters. I forgot about the features in Studio 2.0, since I’m still stuck with Studio 1 in the project I’m working with. ^\_^’
