문제

웹 서버에서 PCM 데이터를 다운로드하는 프로그램이 있으며 나중에 표준 PCM 플레이어를 통해 플레이하는 데 사용됩니다. 사용자가 PCM 데이터의 피치를 플레이하는 동안 PCM 데이터의 피치를 변경할 수 있도록하고 싶습니다.

누구 든지이 작업을 수행하는 방법을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

C#에 대한 디지털 신호 처리 라이브러리는 모르겠지만 .NET에서 피치 이동을위한 완전한 소스 샘플 인 것 같습니다. :
http://sites.google.com/site/mikescoderama/pitch-shifting

다른 팁

가장 간단한 솔루션은 녹음 된 것보다 더 높은 샘플링 속도로 사운드를 재생하는 것입니다. 44kHz에서 22kHz 파일을 재생하면 피치가 두 배가됩니다. 사운드에서 일부 샘플을 버리거나 소리를 리 샘플링하거나 Sinc 보간과 같은 좋은 알고리즘이 사용되는 경우 좋은 품질)를 통해 동일하게 달성 할 수 있습니다.

그러나 다른 샘플링 속도로 재생하여 피치를 변경하면 피치가 바뀌는 것뿐만 아니라 사운드의 길이도 바꿀 것입니다. 지속 시간과 피치를 독립적으로 바꿀 수는 있지만 쉽지는 않으며 좋은 품질을 달성하기 위해 상당한 양의 싱글 처리를 포함합니다. 일반적으로 빠른 푸리에 변환을 사용하여 주파수 영역에서 수행됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top