Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用录音机消除音频样本记录中的噪音_Android_Audio_Audio Recording - Fatal编程技术网

Android 使用录音机消除音频样本记录中的噪音

Android 使用录音机消除音频样本记录中的噪音,android,audio,audio-recording,Android,Audio,Audio Recording,我正在制作TalkingTomcat类应用程序。我用android录音机录制声音,用libsonic通过改变音高播放声音。但在播放声音时,它会发出很大的噪音。 即使我用音轨播放声音样本,它也会发出噪音。 我使用44100采样率,单声道和16位 如果有人能帮助我,请帮助我。或者给我另一种方法来实现这一点。你玩过吗?“噪声抑制(NS)是一种音频预处理,可从捕获的信号中去除背景噪声”您可以在预处理阶段进行噪声去除。这里我过滤了语音和音乐的声音范围。我发现这是非常有效的,在我的测试,而不是噪音抑制器。用

我正在制作TalkingTomcat类应用程序。我用android录音机录制声音,用libsonic通过改变音高播放声音。但在播放声音时,它会发出很大的噪音。 即使我用音轨播放声音样本,它也会发出噪音。 我使用44100采样率,单声道和16位


如果有人能帮助我,请帮助我。或者给我另一种方法来实现这一点。

你玩过吗?“噪声抑制(NS)是一种音频预处理,可从捕获的信号中去除背景噪声”

您可以在预处理阶段进行噪声去除。这里我过滤了语音和音乐的声音范围。我发现这是非常有效的,在我的测试,而不是噪音抑制器。用途和实用方法

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);
}
recorder.read(数据,0,数据.长度);
如果(可听到(数据)){
//TODO进一步处理可以转到这里
}
公共静态布尔值为可读(短[]数据){
双rms=getRootMeanSquared(数据);
返回值(rms>198&&5600>rms);
}
公共静态双getRootMeanSquared(短[]数据){
双ms=0;
对于(int i=0;i
API 16中的噪声抑制器在API 16以下的API中不支持,我正在API 8中工作。增加编码比特率是否有从现有音频中去除噪声的示例代码。非常感谢,这是我很久以前想到的。酷!!在这个范围内,我们仍然会遇到一些静电,我们还能做些什么来清理它吗?