2014-01-10 7 views

답변

1

리샘플링은 PortAudio의 기능이 아닙니다. PortAudio가 랩핑하는 네이티브 오디오 I/O API와 같이 PA 스트림은 일정한 샘플 속도로 실행됩니다. 샘플의 피치 (재생 속도)를 변경하려면 샘플 속도 변환을 수행해야합니다. 비 단위 율로 증가하는 위상 인덱스를 사용하여 원래 신호를 보간하여이를 수행 할 수 있습니다.

요구 사항에 따라 리샘플링/보간 또는 피치 시간 수정을 조사 할 수 있습니다.

일반적으로 사용되는 낮은 품질에서 중간 품질의 고성능 polynomial interpolation algorithms for audio은 선형 보간 및 cubic hermite interpolation입니다. 더 높은 품질의 보간은 windowed sinc interpolation의 변형으로 수행 될 수 있습니다. sinc 보간에 사용할 수있는 라이브러리는 Secret Rabbit Code입니다.

피치/시간 변환 (예 : 피치 쉬프트 또는 타임 스트레칭)의 경우 모노 신호용 오픈 소스 버전이있는 DIRAC 라이브러리를 사용하는 것이 좋습니다. 예를 들어 다른 상용 라이브러리가 있습니다. z-plane 연구에서.