2011-09-06 10 views
3

wav 파일을 입력으로 사용하여 음성 2 텍스트 변환을위한 프로토 타입을 만들고 있습니다. 현재 Microsoft SAPi, Sphinx 등과 같은 여러 ASR을 실험 중입니다. 전달되는 오디오 wav 파일은 다음과 같습니다. 배경으로부터의 여러 왜곡들/잡음들. 나는 소리를 완전히 제거하기 위해 대담함을 사용 해보 았으며 인식은 조금 나아졌습니다. 노이즈 제거 부분은 현재 Ui를 통해 제공하고 있습니다. 내 배경 자바, 나는 자바를 사용하여 동일한 노이즈 제거 부분을 구현 싶었어. Audacity 소스 코드를 다운로드했으며 더 나은 접근 방법에 대해 궁금합니다. 1) 이미 존재하는 C++ 메소드에 대한 jni 호출을 시도해보십시오. 2) 푸리에 변환을 사용하여 자체 노이즈 게이트 메카니즘을 구현하십시오. 그러나 후자의 접근 방식에서는 휠을 발명하는 것이 더 낫습니다. 자바에서 구현 된 표준 api/알고리즘은 wav 파일 입력을 받아 들여 고/저역 통과 필터를 구현하거나 다른 방법론을 사용하여 노이즈 제거를 수행합니다.
겉으로보기에는 DSP 알고리즘이 포함 된 "Java with digital audio"라는 책을 검색하려고했지만 사용할 수 없었습니다. 취할 접근법이나 사용 가능한 apis에 대한 도움은 정말 도움이 될 것입니다.wav 파일의 노이즈 억제

+1

안녕하세요. 현재 비슷한 문제가 있습니다. 우리는 단지 하나의 마이크를 사용하여 녹음 된 WAV로부터 잡음을 줄이기를 원합니다. 당신이 발견 한 것을 우리와 함께 나눌 수 있습니까? – Buju

답변

7

당신이 시도 할 수 :

  1. 노이즈 게이트를 사용 : http://en.wikipedia.org/wiki/Noise_gate

  2. 음성 위치 사용 - 당신이 스테레오로 녹음하면> 일반적으로 음성, 좌우 채널에 동일됩니다 . 일반적으로 노이즈는 한 채널에서 다른 채널보다 강합니다.

  3. 읽기 노이즈 제거에 대해 뭔가 : http://www.developer.com/java/other/article.php/3599661/Adaptive-Noise-Cancellation-using-Java.htm

  4. 사용 로우 패스 필터 : How to implement low pass filter using java

  5. 녹음 상태, 위치 스피커 뒤에 하나 개의 마이크를 처리하고,에서이 신호를 제거 할 수 있습니다 음성 - 마이크.

+0

좋아 .. .. 확인하고 다시 게시 .. 빠른 응답 주셔서 감사합니다. –