使用Java/带通滤波器作为解决方案录制音频时的背景噪音?

使用Java/带通滤波器作为解决方案录制音频时的背景噪音?,java,audio,noise,Java,Audio,Noise,所以,在过去的几天里,我一直在使用谷歌语音API来执行简单的语音识别任务。我得到一个上传脚本-工作完美-上传一个.wav文件,并收到所说的话回来。我也有一个很好的麦克风。问题是: 从系统设置或Audacity收听我的麦克风输入时,背景中没有噪音。但一旦我用Java录制,我的样本就变得不准确,谷歌服务器无法解析。我已经尝试过平滑音频,结果很成功,但是当像“t”或“K”这样的辅音缺失时,服务器无法处理声音 所以,现在我想做一个带通滤波器,滤除我想要的频谱(从100Hz到600Hz的语音频谱)。问题是

所以,在过去的几天里,我一直在使用谷歌语音API来执行简单的语音识别任务。我得到一个上传脚本-工作完美-上传一个.wav文件,并收到所说的话回来。我也有一个很好的麦克风。问题是:

从系统设置或Audacity收听我的麦克风输入时,背景中没有噪音。但一旦我用Java录制,我的样本就变得不准确,谷歌服务器无法解析。我已经尝试过平滑音频,结果很成功,但是当像“t”或“K”这样的辅音缺失时,服务器无法处理声音

所以,现在我想做一个带通滤波器,滤除我想要的频谱(从100Hz到600Hz的语音频谱)。问题是,我不知道从哪里开始。我想将过滤器添加到以下方法中:

静态灵敏度=50;
静态int sens=7;
静态字节平滑值=0;
静态整型平滑=2;
公共静态字节[]删除(字节[]b,TargetDataLine行){
byte[]returnThis=新字节[b.length];
for(int i=0;i}
在您的问题中,您提到您的音频是16位,1个通道,即每帧2字节,而不是一个。在代码片段中,您将其视为每帧1字节。这种错误可能会对音频质量产生重大影响。对不起,这是一个错误:我这样打开我的线路,用8位:在你的问题中,你提到你的音频是16位,1个通道,即每帧2字节,而不是1个。在代码片段中,您将其视为每帧1字节。这种错误会对音频质量产生重大影响。对不起,这是一个错误:我这样打开线路,用8位: