누구나 byte[]
사운드에서 흰색 노이즈를 제거하는 알고리즘을 표시 할 수 있습니까? 나는 안드로이드에 대한 개인 오디오 녹음 애플 리케이션을 위해 일하고 녹음을 위해 안드로이드 API를 사용합니다. 아래는 녹음을 파일에 쓰는 방법입니다 (wav 형식).java - 바이트 배열 wav 파일에서 노이즈 제거
private AudioRecord.OnRecordPositionUpdateListener updateListener = new AudioRecord.OnRecordPositionUpdateListener()
{
public void onPeriodicNotification(AudioRecord recorder)
{
aRecorder.read(buffer, 0, buffer.length);
try
{
fWriter.write(buffer); // Write buffer to file
payloadSize += buffer.length;
if (bSamples == 16)
{
for (int i=0; i<buffer.length/2; i++)
{ // 16bit sample size
short curSample = getShort(buffer[i*2], buffer[i*2+1]);
if (curSample > cAmplitude)
{ // Check amplitude
cAmplitude = curSample;
}
}
}
else
{ // 8bit sample size
for (int i=0; i<buffer.length; i++)
{
if (buffer[i] > cAmplitude)
{ // Check amplitude
cAmplitude = buffer[i];
}
}
}
}
catch (IOException e)
{
Log.e(AudioRecorder2.class.getName(), "Error occured in updateListener, recording is aborted");
}
}
public void onMarkerReached(AudioRecord recorder)
{}
};
녹화를 재생하는 동안 들릴 수있는 흰색 노이즈를 제거하기 위해 버퍼에 일부 변형을 적용하고 싶습니다. 누군가 알고리즘/링크를 일부 저역 통과 필터 (또는 도움이 될만한 다른 것)를 알고 있다면 도움을 받으십시오.
감사합니다.
, 당신의 사전 처리 단계에서 다음에 할 것이다. 예를 들어 특정 주파수 대역 만 차지한다는 것을 알고 있으면 고주파 노이즈를 제거하는 저역 통과 필터를 사용할 수 있습니다. 그러나 일반적인 해결책은 없습니다. –
나는 또한 같은 소리를 내고있다. 해결책을 찾았습니까? – Manoj
아니요, 나는이 프로젝트를 남겼습니다. 당신이 그것을 찾으면, 여기에 답장을 보내십시오. 그러면 당신의 대답을 받아 들일 것입니다. –