2011-03-06 6 views
1

AMR 오디오 데이터를 어떻게 업 샘플링 할 수 있습니까? amr 파일은 6 바이트 헤더 - "! #AMR".getBytes()로 구성되며 그 뒤에는 1 바이트의 헤더와 31 바이트의 오디오가있는 각각 32 바이트의 프레임이 있습니다. 나는 그것을 어떻게 업 샘플링 할 예정인가? 선형 보간에 대해서는 읽었지만 여기에 적용하는 방법을 모르겠습니다. 다른 프레임간에 또는 프레임 또는 다른 바이트 사이에 삽입해야합니까? 도움이 될 것입니다 :)AMR - 업 샘플링 방법

답변

1

AMR 데이터를 원시 PCM 버퍼로 변환하고 PCM 버퍼에서 다시 샘플링 한 다음 선택적으로 AMR로 다시 변환해야합니다.

+0

amr을 직접 업 샘플링 할 수 없습니까? 그 나쁜. pcm 데이터를 업 샘플링하는 방법과 pcm 데이터의 구조에 관한 자료를 줄 수 있습니까? 감사. –

+0

@gosho : PCM 데이터는 선형 샘플 값의 연속적인 로우 버퍼입니다. 표준 업 샘플링 알고리즘을이 데이터에 적용하면 더 큰 출력 버퍼를 사용하여 AMR 데이터로 다시 변환 할 수 있습니다. 나는 궁금해하고있다 : 당신은 정말로 * upsample *을 의미합니까? 업 샘플링은 원본 샘플 데이터를 보존하면서 샘플 속도를 높이는 것을 의미합니다. 실제로이 작업이 원하는 작업입니까? AMR 데이터의 맥락에서별로 의미가없는 것처럼 보입니다. –

+0

@ Paul R 여기 내 물건이 있습니다. 모바일 장치 용으로 VoIP 응용 프로그램을 만들고 AMR 오디오를 캡처 한 다음 데이터 그램으로 랩핑하고 다른 장치로 보내어 재생합니다. 내 문제는 오디오 플레이어가 오디오를 실제로 재생하기 전에 채워야하는 내부 버퍼 (사용자가 제어 할 수없는)가 있다는 것입니다. 이로 인해 2 초 지연이 발생하고 나머지 코드 (네트워킹 및 기타 사항)가 충분히 빠릅니다. 그래서 내 생각은 (수신 장치에서) 업 샘플링하여 플레이어의 버퍼에 대한 더 많은 데이터를 생성하는 것입니다. 업 샘플링은 여기서 좋은 방법입니다. –