Android 录音read方法,android – 检测人声从音频文件输入
我试图实现自动语音录音功能,类似于会说话的汤姆应用程序。我使用下面的代码从音频录音机读取输入并分析缓冲区:float totalAbsValue = 0.0f;short sample = 0;numberOfReadBytes = audioRecorder.read( audioBuffer, 0, bufferSizeInBytes);// Analyze Sound.for( int i=
我试图实现自动语音录音功能,类似于会说话的汤姆应用程序。我使用下面的代码从音频录音机读取输入并分析缓冲区:
float totalAbsValue = 0.0f;
short sample = 0;
numberOfReadBytes = audioRecorder.read( audioBuffer, 0, bufferSizeInBytes);
// Analyze Sound.
for( int i=0; i
{
sample = (short)( (audioBuffer[i]) | audioBuffer[i + 1] << 8 );
totalAbsValue += Math.abs( sample ) / (numberOfReadBytes/2);
}
// Analyze temp buffer.
tempFloatBuffer[tempIndex%3] = totalAbsValue;
float temp = 0.0f;
for( int i=0; i<3; ++i )
temp += tempFloatBuffer[i];
现在我能够检测来自音频录音机的语音输入,我可以分析音频缓冲区。
缓冲器被转换为浮动值,并且如果它增加一定量,则假设在背景中有一些声音并且开始记录。但问题是,该应用程序开始记录所有背景噪音,包括风扇/ AC风管的声音。
任何人都可以帮助我分析缓冲区以检测人类语音?或者是否有任何其他方法从音频录音机输入检测人类语音?
提前致谢,
更多推荐
所有评论(0)