【问题标题】:FMODex pitch shifting problems with DSPDSP 的 FMODEx 音高偏移问题
【发布时间】:2012-04-08 16:17:55
【问题描述】:

我在使用 fmod 调整 pich 时遇到问题。我可以用 channel::setfrequency 做到这一点,但我需要在更大的 sfx 上使用它,因此需要 DSP 的准确性 [没有节奏变化]。但是我似乎无法应用过滤器。

FMOD::DSP* dsp;
result = m_soundSystem->createDSPByType(FMOD_DSP_TYPE_PITCHSHIFT, &dsp);      
dsp->setParameter(0, 2.0f);
result = m_soundChannels[i]->addDSP(dsp, 0);

那里什么都没有发生。这段代码在我的自定义播放函数中,并在我播放声音之前执行(我加载时暂停为真,然后进行更改)。 这两个函数都不会向结果变量抛出任何错误。那怎么了? :S

【问题讨论】:

    标签: shift fmod pitch


    【解决方案1】:

    试试这个:

    FMOD::DSP* dsp;
    result = m_soundSystem->createDSPByType(FMOD_DSP_TYPE_PITCHSHIFT, &dsp);
    result = m_soundChannels[i]->addDSP(dsp, 0);
    dsp->setParameter(FMOD_DSP_PITCHSHIFT_PITCH, 2.0f);
    

    【讨论】:

      【解决方案2】:

      你提到上面的代码是在你播放声音之前执行的。您必须在 System::playSound 之后调用 Channel::addDSP,否则 FMOD::Channel 将无效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多