【发布时间】:2015-12-08 12:49:47
【问题描述】:
当有人说话时,我正在使用 pocketsphinx 来识别 android 应用程序中的单词。我想实现功能以返回pocketsphinx记录的声音的最大幅度。如果我说任何单词,我需要得到一个声音级别作为回报(无论是从解码器识别还是不识别单词)。 我做了什么:我查看了pocketsphinx的代码-->源文件中当前注释的SpeechRecognizer:
/* while (!interrupted()
&& ((timeoutSamples == NO_TIMEOUT) || (remainingSamples > 0))) {
int nread = recorder.read(buffer, 0, buffer.length);
if (-1 == nread) {
throw new RuntimeException("error reading audio buffer");
} else if (nread > 0) {
decoder.processRaw(buffer, nread, false, false);
int max = 0;
for (int i = 0; i < nread; i++) {
max = Math.max(max, Math.abs(buffer[i]));
}....
我似乎是从缓冲区计算这个最大值我如何从完整的记录中计算出来。有人可以给我提示吗?
【问题讨论】:
标签: cmusphinx pocketsphinx pocketsphinx-android