2013-09-07 3 views
3

Java에서 음성 활동 감지 알고리즘을 구현하여 녹음 시작 및/또는 중지시기를 알 수 있어야합니다. byte [], target-data-line 또는 오디오 파일을 입력으로 사용할 수있는 알고리즘을 찾고 있습니다. 또한 솔루션은 외부 종속성을 사용하지 않는 것이 좋습니다.Java에서 음성 활동 감지를 구현하는 방법은 무엇입니까?

+0

음성 활동 감지는 침묵 감지와 매우 다릅니다. 배경 잡음을 감지하는 것이 바람직하지 않습니다. – Skylion

+0

질문에 '침묵 감지'라는 말을하는 동안 표시된 방법은 설정 한도 위/아래의 소리를 감지합니다. BG 소음이 '낮음'을 벗어나면 소리가 들리지 않습니다. 그것이 낮 으면, 내가 설명한 기술은 적절한 제한을 가지고 그것을 탐지 할 것입니다. 피치 시프 팅에 대한 질문을 던졌습니다. 사운드 레벨을 감지하는 것이 피치 시프 팅보다 훨씬 쉽습니다. 이것을 분류 할 수 없다면, 그것을 성취 할 수있는 눈덩이의 기회를 얻었을 것입니다. –

+0

이미 해당 코드를 구현했습니다. 나는 피치 쉬프팅이나 다른 코드에 대한 정보를 원한다. – Skylion

답변

2

영감의 원천으로 TarsosDSP을 살펴보십시오. 오디오 검색을 처리하는 데 가장 좋은 오픈 소스 Java 라이브러리입니다. 그것은 순수 자바로 작성된 간략하게 제공합니다 :

SoundDetection
PitchDetection
PercussionDetection
오디오 시간
IIR-필터

도 확인 A의 공식 papermanual을 쉬프트
피치 스트레칭 주제에 대해 더 잘 이해하십시오.

+0

실제로 TarosDSP를 지침으로 사용하여이 방법을 직접 구현했지만 결코 답변을 업데이트하지는 못했지만이 문제를 파헤 치기 위해 받아 들여지는 답변을 받아야합니다. – Skylion