음성으로 모든 단어를 자동으로 녹음하고 추출 할 수있는 소프트웨어를 개발 중입니다. 나는 그것을 해결하기 위해 portaudio 라이브러리를 사용했다. 그러나 소리 감지에 매달 렸습니다. 나는 무음의 값을 0으로 설정 했으므로 0 인 샘플이 있으면 소리의 시작점이나 종료점이어야합니다. 그러나 내가 그것을 실행했을 때, 프로그램은 많은 단어를 만들었습니다. Portaudio에서 읽은 값은 원시 데이터이므로 처리 할 수 없기 때문에 생각합니다. 내가 맞습니까? 어떻게 해결할 수 있습니까? 그런데 C++로 코딩하고 있습니다 : D원시 사운드 파일의 사운드를 어떻게 찾을 수 있습니까?
답변
PCM 스트림에서 신호의 존재를 감지하기 위해이를 감지 할 수 있습니다. dprogramz이 말했듯이 사운드 카드의 노이즈 플로어는 완벽하지 않으므로 마이크가 연결되지 않은 상태에서도 약간의 노이즈 신호가 녹음됩니다.
해결책은 VOX 또는 VAD 알고리즘을 사용하여 음성의 존재를 감지하는 것입니다. VOX는 까다 롭습니다. 대부분의 소비자 급 전자 제품에서 노이즈 플로어는 신호에 비해 인간의 귀에 "침묵"할만큼 충분히 낮기 때문입니다. 이것은 노이즈 플로어와 신호 간의 진폭 차이가 미미할 수 있음을 의미합니다. 사운드 카드에 AGC가 켜져 있으면 노이즈 플로어가 움직일 수 있기 때문에 사운드 카드에 AGC가 켜져 있으면이 작업이 훨씬 어려워 질 수 있습니다. VOX는 소비자 용 장비에서 성공적으로 구현 될 수 있습니다. 임계 값을 설정하는 데 더 많은 노력이 필요합니다. 최적으로 수행되면 임계 값은 스트림이 활성화되어있는 동안 주기적으로 계산됩니다.
이 작업을 수행하는 경우 VAD 알고리즘을 구현할 것입니다. 귀하의 목소리가 귀하의 목소리를 탐지하는 것이므로, 귀하가 사용하는 장비에 상관없이 신뢰할 수있는 결과를 제공해야합니다.
RAW 값이기 때문에 생각하지 않습니다. RAW 사운드 파일은 빈도 및 볼륨 정보 비트 스트림입니다.
그러나 값은 거의 0이됩니다. 마이크가 소량의 전기적 잡음을 발생시키는 것을 고려해야합니다. 마이크의 "유휴 (idle)"dB를 알아 내십시오 (마이크에 말하지 않을 때 레벨 테스트). 그런 다음 시작/끝을 감지하기 위해 무음 임계 값 (특정 샘플 수에 대해 특정 dB 레벨 이하)을 설정해야합니다. 0 값을 감지하려고하면 거의 불가능할 것입니다.
- 1. 원시 폴더의 사운드를 sdcard에 저장하지 않고 벨소리로 설정할 수 있습니까?
- 2. AVAudioPlayer를 사용하여 사운드를 어떻게 풀 수 있습니까?
- 3. 주어진 파일의 경로는 어떻게 찾을 수 있습니까?
- 4. wav 파일의 바이트를 어떻게 찾을 수 있습니까?
- 5. 사운드 카드에서 재생 한 사운드를 녹음 할 수 있습니까?
- 6. 콘텐츠 (이미지/사운드를) 찾을 수 없습니다
- 7. 어떻게 업로드 된 미디어 파일의 원시 URL을 가져올 수 있습니까?
- 8. jar 파일의 사운드 문제
- 9. 사운드 버튼이 사운드를 재생하지 않습니다.
- 10. 저수준 사운드 프로그래밍 이론 자습서는 어디서 찾을 수 있습니까?
- 11. 특정 사운드 카드에서 사운드를 재생하는 방법
- 12. AudioToolbox 사운드를 어떻게 멈출 수 있습니까?
- 13. 어떻게 사운드를 프리로드 할 수 있습니까?
- 14. 어떻게 시스템 사운드를 반복 할 수 있습니까?
- 15. 어떻게 사운드를 무효화 할 수 있습니까?
- 16. 사운드 파일의 반복 검색
- 17. jQuery : 어떻게 사운드를 프리로드합니까?
- 18. 어떻게 시스템의 특수 사운드를 재생할 수 있습니까? 예 : 드래그 앤 드롭 사운드
- 19. ActionScript3에서 사운드를 빠르게 감기 및 빨리 되돌릴 수 있습니까?
- 20. "."을 어떻게 찾을 수 있습니까?
- 21. Ruby에서 메서드를 호출 한 파일의 이름을 어떻게 찾을 수 있습니까?
- 22. 배치 파일은 배치 파일의 위치를 어떻게 찾을 수 있습니까?
- 23. html 파일의 상위 디렉토리 이름은 어떻게 찾을 수 있습니까?
- 24. VLCJ에서 미디어 파일의 총 재생 시간은 어떻게 찾을 수 있습니까?
- 25. CC 파일의 빌드 - dest 위치를 어떻게 찾을 수 있습니까?
- 26. jquery의 도움으로 업로드하기 전에 파일의 크기를 어떻게 찾을 수 있습니까?
- 27. Perl의 다른 파일에서 한 파일의 문자열을 어떻게 찾을 수 있습니까?
- 28. 힙 파일의 로컬 변수를 어떻게 찾을 수 있습니까?
- 29. 실행 파일의 모든 종속성을 어떻게 찾을 수 있습니까?
- 30. 파일의 완전한 경로 이름은 어떻게 찾을 수 있습니까?
녹음을 위해 무 지향성 마이크로를 사용 했으므로 침묵의 값이 0이라고 생각합니다 (Audacity에서 다시 녹음하여 그것을 열어 보았습니다) – user2530847