Установка значения высоты тона при переходе из FMOD Designer в FMOD Studio - PullRequest
0 голосов
/ 29 января 2020

Я рефакторинг старого кода для использования объектов FMOD Studio EventInstance вместо FMOD Designer (FMOD Ex) Event объекта. Наиболее распространенным случаем является установка высоты тона 0.0 (т. Е. Нормальная высота тона), которую затем можно установить равной 1.0 в новой реализации.

В API дизайнера FMOD вызов Event :: setPitch ( ) устанавливает общую высоту события. Значение по умолчанию для высоты звука равно 0,0 (= нормальная высота звука). Значение высоты звука также может быть отрицательным.

Вызов API FMOD Studio EventInstance :: setPitch () устанавливает множитель высоты тона для экземпляра события. Значение по умолчанию - 1,0 (= нормальная высота звука), а установка значения 0 означает отсутствие звука вообще.

  • Как мне интерпретировать старые значения высоты звука вне нормальной высоты звука в новом коде?
  • Что я должен указать в качестве значения EventInstance в рефакторированном коде, если шаг для Event в старой реализации, например, равен -8.0?
  • Могу ли я достичь той же функциональности в FMOD Studio?

РЕДАКТИРОВАТЬ: я забыл упомянуть в первоначальном вопросе, что в устаревшем коде шаг для событий описан в FMOD_EVENT_PITCHUNITS_SEMITONES.

1 Ответ

0 голосов
/ 05 февраля 2020

На сайте FMOD QA есть формула pitch = 2 ^ ( semitone / 12.0f), которая, кажется, выполняет конвертацию, которая мне нужна. По крайней мере, конечный результат звучит более или менее одинаково.

Конечно, я бы с удовольствием услышал от эксперта FMOD, действительно ли это правильно или нет.

...