2012-03-04 8 views
0

오디오 파일에서 정확한 바이너리 구현을 추출하고 싶습니다 (대담하게 녹음되었을 수 있음). 나는 음성과 소리 즉 기본 음성 인식 소프트웨어를 인식하기 위해 이러한 표현을 추출하기를 원합니다.오디오 파일의 이진 표현 추출

오디오 파일은 .mp3 또는 .wav 일 수도 있습니다. 제발 도와주세요

EDIT- 오디오의 파형을 그래프가 아닌 바이너리 표현으로 변환하여 음성을 텍스트로 변환 할 수 있습니다.

+1

"오디오 파일에서 정확한 바이너리 구현을 추출"한다는 것은 무엇을 의미합니까? 파일 형식 세부 사항을 의미하는 경우 WAV 파일에 대해 다음 내용을 살펴볼 수 있습니다. https://ccrma.stanford.edu/courses/422/projects/WaveFormat/ – cyco130

+1

모든 파일은 기본적으로 이진 파일입니다. 샘플링 속도와 같이 오디오 파형을 다시 재생하는 데 필요한 메타 데이터와 함께 오디오 파형을 배열 (실수 또는 이진 단어)로 추출하는 경우 대답을 편집해야합니다. – ninjagecko

+1

WAV 파일의 형식을 읽습니다. MP3 파일은 더 복잡하고 아마 바로 그 사람들을 속일 필요가 없습니다. WAV 파일을 사용하면 "이빨을 자르 게"할 수 있습니다. –

답변

1

기본 WAV 파일은 헤더 (약 60 바이트 길이)와 실제 데이터로 구성됩니다.

데이터는 정수 세트로 구성됩니다. 각 "샘플"에 대해 하나의 정수 세트가 생성되며, 초당 8000 회 또는 초당 44000 회 또는 다른 샘플 속도 일 수 있습니다.

하나의 정수 집합 (단일 표본을 나타냄)은 각 채널마다 하나의 정수로 구성되며, 이론적으로는 숫자 일 수 있지만 일반적으로 1 (모노) 또는 2 (스테레오)입니다. 각각의 개별 정수는 1, 2, 3 또는 4 바이트 길이 일 수 있습니다.

개별 정수는 해당 특정 순간의 해당 채널의 사운드 레벨을 나타냅니다. 표현되는 사운드가 사인파라면 정수 값은 V * sin(K * t)이고 V은 볼륨이고 K은 상수이며 t은 현재 시간입니다. 정수는 서명되고, 특정 순간에는 "사운드 레벨"이 음수 또는 양수가 될 수 있습니다 (일반적으로 음의 절반 정도가 음의 값입니다). 샘플 속도, 채널 수 및 개별 채널 값의 크기는 모두 헤더의 필드에 인코딩됩니다 (다른 여러 정보와 함께).

일반적으로 신호의 주파수를 추출하려면 이진 사운드 데이터에 Fast Fourier Transform (FFT)을 적용하여 "시간 도메인"에서 "주파수 도메인"으로 변환하십시오. 이는 일반적으로 샘플 속도 및 기타 요소에 따라 초당 약 50 회에서 약 50 회 사이에 수행됩니다. (몇 가지 오픈 소스 FFT 라이브러리를 사용할 수 있습니다.) 그러나 음성 인식은 다른 많은 알고리즘도 사용합니다.

+0

안녕하세요, 고맙습니다. 기본적으로, 나는 기본적인 음성 인식 소프트웨어를 디자인하고 싶다. 그것에 대해 어떻게 도와 줄 수 있습니까? 당신의 설명 후에도 나는 잃어 버렸습니다. 나는 소프트웨어를 desing하기 위해 숨겨진 마코프 모델을 사용하고 싶습니다. – SKC

+0

@SKC - 음성 인식 소프트웨어를 디자인하고 싶다면 많은 연구를해야합니다. 저는 일주일에 10 시간에서 20 시간 정도 파트 타임으로 일하는 것을 추측하고 있습니다. 제로에서 출발하여 일하는 것을 얻는 데 1 년이 걸릴 것입니다. –

+0

확인. 하지만 저는 아주 기본적인 것을 찾고 있습니다. 아마도 미디어 플레이어를 제어합니다. 미니 프로젝트로 재생 일시 중지 등을 할 수 있습니다. – SKC