2

再会!我只想问我是否需要在我的代码和条件内输入什么值才能检测到用户的常规语音,这样在我检测到语音后,我会自动录制它并在何时停止录制它是无声的/录音机没有检测到声音,这是我的代码,我通过检测用户何时向麦克风吹气来得到它。

- (void)levelTimerCallback:(NSTimer *)timer {
    [recorder updateMeters];

    const double ALPHA = 0.05;
    double peakPowerForChannel = pow(10, (0.05 * [recorder peakPowerForChannel:0]));
    lowPassResults = ALPHA * peakPowerForChannel + (1.0 - ALPHA) * lowPassResults;  

    [recorder record];
    if (lowPassResults < 0.95)
        {NSLog(@"Recording");
             [recorder record];}

}

我是目标 c 的新手,任何帮助都会对我非常有帮助......在此先感谢。

4

1 回答 1

1

没有可用于检测正常语音音量的设置级别。撇开背景噪音等问题不谈,作为计算机中的数字的音频级别和空气中的声音级别之间没有标准的转换。

想一想:输入电平是多少?它是什么类型的麦克?用户有多远?你不知道任何这些事情,所以没有办法知道答案。

您可能想要考虑寻找音量的相对变化,而不是绝对水平(尽管这也是不确定的)或完全不同的用户体验。

于 2012-08-02T22:25:09.530 回答