我正在制作像应用程序一样的 TalkingTomcat。我正在使用 android 录音机录制声音并使用 libsonic 我通过改变音高来播放声音。但是在播放声音时它会发出很大的噪音。
即使我正在使用音轨播放声音样本,它也会发出噪音。
我使用的是 44100 采样率和 MONO 和 16 位。
如果有人可以帮助我,请帮助我。或者给我另一种方法来实现这一目标。
最佳答案
您可以在预处理阶段进行噪声去除。在这里,我过滤了语音和音乐的可听范围。我发现这在我的测试中非常有效,而不是 NoiseSuppressor。用法和实用方法,
recorder.read(data, 0, data.length);
if(isAudible(data)) {
// TODO further processing can go here
}
public static boolean isAudible(short[] data) {
double rms = getRootMeanSquared(data);
return (rms > 198 && 5600 > rms);
}
public static double getRootMeanSquared(short[] data) {
double ms = 0;
for (int i = 0; i < data.length; i++) {
ms += data[i] * data[i];
}
ms /= data.length;
return Math.sqrt(ms);
}
关于android - 使用录音机从音频样本记录中去除噪音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15971035/