fmod中音频变速的问题

在有些需求下,动作要加速,然后音频也要跟着加速,或者反之,动作减速,音频也减速。

需求很奇葩……
参考的几个网址:
https://qa.fmod.com/t/changing-speed-of-audio-without-altering-pitch/13903
https://qa.fmod.com/t/adding-a-dsp/12211
http://blackchy.com/2018/12/10/2018-12-10-Fmod-Voice-Change/

下面是尝试了fmod中两个播放声音的方法,分别进行加速处理。

1、如果你使用的是Event进行播放声音的话
那么在D:\OGL2\fmodProject2.00.01\Assets\Plugins\FMOD\src\Runtime\wrapper\fmod_studio.cs
中,你会看到:

    public struct EventInstance
    {
   
   
        public RESULT setPitch(float pitch)
        {
   
   
            return FMOD_Studio_EventInstance_SetPitch(this.handle, pitch);
        }

这个单词Pitch是音高的意思。
我在测试的时候,使用如下代码:

public StudioEventEmitter m_emitter;
public void Update()
{
   
   
	if (Input.GetKeyDown(KeyCode.A))
	{
   
   
		m_emitter.Play();
	}
	if (Input.GetKeyDown(KeyCode.K))
	{
   
   
		m_emitter.EventInstance.setPitch(2f);
	}
}

在A键按下的时候播放,在K键按下的时候,设置音高2为2.0f。
其效果是,速度变快了。如何证明速度变快了呢?可以在update中一直检测是否播放完毕,发现设置setPitch(2f)之后,其时间的确缩短了一半。

但是,但是,音频策划发现,音高升高了,经过查找,发现这种方法的确会影响音高的问题,在网址:
https://qa.fmod.com/t/changing-speed-of-audio-without-altering-pitch/13903

在这里插入图片描述
上面说的意思是,可以加一个dsp进行缓解下。
但是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值