2012-10-05 3 views
1

내 안드로이드 응용 프로그램의 블루투스 헤드셋에서 오디오 샘플을 읽습니다. 블루투스 SCO는 오디오 IN에 8KHz 샘플링 주파수로 작동합니다. 하지만 블루투스 헤드셋에서 16KHz 오디오 샘플이 필요하므로 업 샘플링을 사용해야합니다.Android에서 PCM 오디오 샘플 업 샘플링

Android에서 업 샘플링과 관련하여 다른 웹 사이트에서 검색했지만 사용하지 않았습니다. 만약 누군가가 upsampling에 대한 미리 정의 된 자바 라이브러리에 대해 알고 내 질문에 대한 답변을 기쁘게 생각합니다.

+0

관련 : http://stackoverflow.com/questions/3260424/resample-upsample-sound-frames-from-8khz-to-48khz-java-android –

+0

IDK이 IDK를 Android에서 사용할 수 있지만 javasound를 사용하면 당신은 이것을하고, 여기에 좋은 샘플들이 있습니다 : http://www.jsresources.org/examples/AudioConverter.html –

답변

-1

가장 쉬운 방법은 각 값을 복사하고 빈도를 두 배로하는 것입니다. 이렇게해도 음질이 향상되지는 않지만 음질은 나아지지 않습니다. 이는 이미지를 더 높은 해상도로 업 스케일링하는 것과 유사합니다. 필터링을하지 않으면, 비 부분적인 금액으로 상향 조정하는 한 더 좋지는 않지만 좋지 않을 것입니다.

이 이미지의 차이점을 알 수 있습니까?

enter image description here

이?

두 번째 이미지는 실제로 두 배의 해상도이지만, 같은 보인다.

소수가 아닌 숫자로 사운드 (또는 이미지)의 크기를 조절하면 스케일링 아티팩트가 발생하지 않습니다. 당신이 원한다면

그러나, 다양한 힌트는 최대 샘플링 사운드을 부드럽게 :

https://ccrma.stanford.edu/~jos/resample/

http://paulbourke.net/miscellaneous/interpolation/

http://leute.server.de/wilde/resample.html#Upsampling

+0

나는이 데이터를 음성 인식에 사용하기 때문에 가장 좋은 업 샘플링이 필요합니다. 당신이 말한대로 나는 인식이 떨어집니다. –

+0

@ YugandharBabu, 그것은 원래의 8kHz 사운드와 정확히 같거나 나쁠 것입니다. –

+0

http://paulbourke.net/miscellaneous/interpolation/ <--- 보간 할 다양한 수학 –

1

는 16 kHz에서를 요청하면 업 샘플링이 자동으로 수행한다 테스트하고있는 장치에 오디오 HAL/오디오 파일러가 이상하게 구현되어 있지 않은 한.

입력 장치에서 지원하지 않는 샘플 속도를 요청하면 오디오 HAL에서 오디오 플링커까지 오류 코드를 반환하고 사용할 샘플 속도를 제안한다는 점이 무엇입니까? 오디오 플레 잉어는 지원되는 샘플 속도로 입력 스트림을 열고 응용 프로그램이 요청한 속도로 오디오 데이터를 가져올 수 있도록 내부적으로 리샘플링을 시도합니다.

요청한 샘플 속도가 지원되는 샘플 속도의 두 배보다 크지 않으면 작동하지 않아야하므로 8 -> 16 kHz 업 샘플링이 작동해야합니다. 이 업 샘플링의 품질이 충분히 좋은지 여부는 스스로 판단해야 할 것입니다.

+0

심지어 8KHz의 속도로 샘플을 얻고 있는데 AudioRecord 인스턴스 생성에서 16K 이상의 샘플링 주파수를 사용하고 있습니다. –

관련 문제