2013-08-15 2 views
0

이상하게 들립니다. 하지만, 안드로이드 폰에 기록 된 바이트 데이터를 스핑크스 4로 분석하고 싶습니다. 그리고, 좋은 결과가 없습니다. 이것이 내 구성 문제에서 비롯 될 것이라는 것을 알고 있습니다. Sphinx4에 대한 경험이 있다면 &과 같은 경험을 갖고 싶습니다.Android 폰에 녹음 된 음성 데이터에 Sphinx4를 적용하십시오.

내 환경을 설명 싶습니다

  1. 전화 (안드로이드, Nexsus 하나)

    • 샘플링 속도 = 8000
    • AudioFormat을 = AudioFormat.ENCODING_PCM_16BIT
    • channelConfig = AudioFormat을. CHANNEL_IN_MONO
  2. streamDataSource를 사용하여3210
  3. Sphinx4

    • sampleRate = 16000
    • bigEndianData = 거짓

은 그래서, 음성 데이터 (바이트 []) 다음에 의해이를 분석 recorde 스핑크스 4. 다음은 휴대 전화로 녹음 한 음성 예입니다 (1 2 3).

-29:-1:84:0:-77:0:-88:0:-88:0:-99:0:-105:0:-82:0:-88:0:-99:0:101:0:89:0:118:0:95:0:44:0:22:0:28:0:39:0:56:0:50:0:28:0:22:0:-6:-1:-17:-1:-6:-1:-34:-1:-34:-1:-85:-1:-85:-1:-79:-1:115:-1:126:-1:-113:-1:-85:-1:-102:-1:104:-1:115:-1:121:-1:-102:-1:-113:-1:-96:-1:-57:-1:-96:-1:109:-1:104:-1:-79:-1:16:0:101:0:-105:0:-122:0:-122:0:-99:0:67:0:101:0:78:0:-6:-1:11:0:-6:-1:39:0:50:0:56:0:22:0:0:0:101:0:123:0:33:0:118:0:56:0:-40:-1:84:0:-85:-1:87:-1:76:-1:-54:-2:31:-1:31:-1:70:-1:0:0:-17:-1:-68:-1:56:0:50:0:-102:-1:-12:-1:-113:-1:-124:-1:-6:-1:11:0:106:0:101:0:50:0:-124:-1:104:-1:-102:-1:126:-1:81:-1:76:-1:-34:-1:-6:-1:44:0:-105:0:-110:0:78:0:67:0:-68:-1:-45:-1:33:0:-74:-1:-57:-1:-57:-1:33:0:28:0:39:0:-45:-1:5:0:25:1:123:0:-62:-1:-110:0:118:0:73:0:-93:0:73:0:16:0:-40:-1:-119:-1:-68:-1:101:0:61:0:-12:-1:-88:0:70:1:-48:0:-65:0:25:1:56:0:-34:-1:0:0:28:0:106:0:-127:0:-77:0:123:0:-68:-1:-29:-1:61:0:-12:-1:5:0:22:0:-79:-1:-96:-1:-102:-1:31:-1:70:-1:-96:-1:-79:-1:-107:-1:-96:-1:-51:-1:-107:-1:121:-1:-96:-1:-96:-1:104:-1:109:-1:81:-1:-79:-1:33:0:28:0:22:0:39:0:44:0:73:0:67:0:118:0:95:0:-17:-1:-17:-1:-113:-1:-57:-1:-107:-1:31:-1:98:-1:-124:-1:-29:-1:-57:-1:-79:-1:-45:-1:-62:-1:-12:-1:-85:-1:-34:-1:33:0:-51:-1:-102:-1:109:-1:-85:-1:109:-1:25:-1:115:-1:92:-1:109:-1:87:-1:25:-1:121:-1:-85:-1:92:-1:-85:-1:0:0:-6:-1:-29:-1:-119:-1:-62:-1:22:0:95:0:84:0:33:0:-122:0:-93:0:-99:0:-122:0:11:0:-40:-1:-51:-1:-79:-1:-12:-1:-23:-1:-45:-1:-34:-1:-12:-1:-34:-1:-23:-1:22:0:16:0:56:0:67:0:-34:-1:-102:-1:-113:-1:-107:-1:121:-1:-102:-1:11:0:39:0:28:0:11:0:89:0:95:0:123:0:-105:0:28:0:16:0:-45:-1:-85:-1:-6:-1:44:0 

각 바이트 데이터는 ":"로 구분됩니다.

답변

0

안드로이드에서 8000으로 녹음하는 경우, sphinx4 샘플 속도도 8000Hz 여야합니다. 또한 sphinx4 배포 또는 기타 8kHz의 모델에서 8kHz의 모델을 사용할 필요가 당신은

제대로 구성 8kHz의 입력의 예를 들어

Using Sphinxtrain models in sphinx4

sphinx4/test/performance/wsj_8khz/config.xml를 참조 설명서에 따라 (등등 상위 주파수) 필터 뱅크 매개 변수를 설정 하다며 필요

또는 적절한 AudioRecorder 매개 변수를 설정하여 Android에서 16000 Hz로 녹음하십시오. 이는 디코딩의 정확성을 향상시킵니다.

+0

나는 본다. 나는 당신의 제안을 시도 할 것이다. 매번 감사합니다. – user2533493

+0

죄송합니다. 질문이 하나 더 있습니다. 실제로, 나는 "test/performance/wsj_8khz/config.xml"을 얻을 수있는 sphinx4-1.0beta6-src를 다운로드했다. 그러나 그들은 그 패키지에 포함되지 않은 일부 모델을 사용하고 있습니다. 나는 그것을 어디에서 얻을 수 있냐? ?? 나는 그것을 발견 할 수 없다. 예를 들어 "사전"구성에서는 "/ WSJ_8gau_13dCep_8kHz_31mel_200Hz_3500Hz/dict/fillerdict"가 사용됩니다. 그러나 그 패키지에서 필자는 "models/acoustic/wsj_8kHz /"를 찾을 수 있지만 "fillerdict"라는 파일이나 디렉토리는 찾을 수 없습니다. – user2533493

+0

설정 파일이 소스에 있습니다. Fillerdict는 이제 noiseict라고합니다. 사전 구성의 경로는 파일 시스템의 경로가 아닌 jar 내부의 경로입니다. 필요한 경우 파일 시스템의 경로를 사용할 수 있습니다. –