从 FMOD Designer 过渡到 FMOD Studio 时设置音高值
Setting pitch value when transitioning from FMOD Designer to FMOD Studio
我正在重构遗留代码以使用 FMOD Studio EventInstance
对象而不是 FMOD Designer (FMOD Ex) Event
对象。最常见的情况是将音高设置为 0.0(即正常音高),然后可以在新实现中将其设置为 1.0。
在 FMOD Designer API 中调用 Event::setPitch() 设置事件的整体音高。间距的默认值为 0.0(= 正常间距)。音高值也可以为负数。
FMOD Studio API 调用 EventInstance::setPitch() 设置事件实例的音高乘数。默认值为 1.0(= 正常音高),设置值 0 表示完全没有声音。
- 我应该如何解释新代码中正常音高之外的旧音高值?
- 如果旧实现中
Event
的间距例如 -8.0,我应该在重构代码中将什么作为 EventInstance
的值?
- 我什至可以在 FMOD Studio 中实现相同的功能吗?
编辑:我忘了在原来的问题中提到,在遗留代码中,事件的音调在 FMOD_EVENT_PITCHUNITS_SEMITONES 中进行了描述。
在 FMOD QA 站点中有一个公式 pitch = 2 ^ ( semitone / 12.0f)
似乎可以进行我需要的转换。至少最终结果听起来差不多。
当然,我很乐意听取 FMOD 专家的意见,这是否真的正确。
我正在重构遗留代码以使用 FMOD Studio EventInstance
对象而不是 FMOD Designer (FMOD Ex) Event
对象。最常见的情况是将音高设置为 0.0(即正常音高),然后可以在新实现中将其设置为 1.0。
在 FMOD Designer API 中调用 Event::setPitch() 设置事件的整体音高。间距的默认值为 0.0(= 正常间距)。音高值也可以为负数。
FMOD Studio API 调用 EventInstance::setPitch() 设置事件实例的音高乘数。默认值为 1.0(= 正常音高),设置值 0 表示完全没有声音。
- 我应该如何解释新代码中正常音高之外的旧音高值?
- 如果旧实现中
Event
的间距例如 -8.0,我应该在重构代码中将什么作为EventInstance
的值? - 我什至可以在 FMOD Studio 中实现相同的功能吗?
编辑:我忘了在原来的问题中提到,在遗留代码中,事件的音调在 FMOD_EVENT_PITCHUNITS_SEMITONES 中进行了描述。
在 FMOD QA 站点中有一个公式 pitch = 2 ^ ( semitone / 12.0f)
似乎可以进行我需要的转换。至少最终结果听起来差不多。
当然,我很乐意听取 FMOD 专家的意见,这是否真的正确。