我正在编写一个应用程序,其行为类似于现有的语音识别,但会将声音数据发送到专有的 Web 服务以执行语音识别部分。我正在使用标准的 MediaRecord(它是 AMR-NB 编码的),它似乎非常适合语音识别。唯一提供的数据是通过getMaxAmplitude()方法提供的 Amplitude。
我正在尝试检测此人何时开始说话,以便当此人停止说话约 2 秒钟时,我可以继续将声音数据发送到 Web 服务。现在我正在使用一个幅度阈值,如果它超过一个值(即 1500),那么我假设这个人正在说话。我担心的是幅度级别可能因设备(即 Nexus One v Droid)而异,因此我正在寻找一种更标准的方法,可以从幅度值中得出。
PS我查看了graphing-amplitude,但它没有提供仅使用幅度的方法。