0

16000 hz PCM 16 비트 웨이브 파일을 8000 hz로 다운 샘플링해야합니다. 나는 많은 지식 (거의 없다)을 오디오 프로세싱에 사용하지 않고, 나는 모든 프로그래머가 이해할 수있는 비트, 바이트, 쉬프트 등을 이해한다.웨이브 파일을 다운 샘플링

Windows Phone 응용 프로그램입니다.

무엇을 제안합니까? 또한 지금까지 XNA 프레임 워크의 SampleRate Microphone 클래스는 사용자 정의가 불가능하여 16000 Hz 데이터 만 제공합니다. Windows Phone에서 8,000 Hz 원시 오디오 데이터를 가져 오는 방법이 있습니까? 그게 훨씬 쉬운 해결책이 될거야 :)

감사합니다.

답변

0

좋은 해결책을 찾지 못하고 자신의 변환을 진행해야하는 경우 다음과 같은 도움이 될 수 있습니다. 그냥 microphone.BufferReady 이벤트에서 반환 된 데이터로부터 매 초마다 값을 드롭 할 필요는 8kHz 대신 16kHz의의 얻으려면 다음 http://damianblog.com/2011/02/07/storing-wp7-recorded-audio-as-wav-format-streams/

:

는 아래와 같이 XNA 프레임 워크 마이크 + WAV를 사용하는 가정합니다. 또는 보간법을 사용하는 것이 좋습니다 (두 값의 평균을 저장하는 대신 두 번째 값을 모두 저장하는 대신 평균값을 저장합니다)

(int i = 0; iarr.length/2; i ++) res [i] = [2 * i]는 + 도착 [2 * I + 1]))도

[앨리어싱] 발생할 때마다 다른 값을 삭제 WriteWavHeader 기능

+0

에 sampleRate (8000)을 보정 값을 설정하는 것을 잊지 않는 (http://en.wikipedia.org/wiki/Aliasing). 먼저 로우 패스 필터를 적용해야합니다. – Phonon