我有一个从Web服务器,它使用后通过一个标准的PCM播放器播放下载PCM数据的程序。我希望能够以允许用户改变PCM数据的间距,而其被播放。

有谁知道如何做到这一点?

有帮助吗?

解决方案

我不知道C#的任何数字信号处理库,但这似乎是在.NET .:结果,移位音调一个完整的源样本 http://sites.google.com/site/mikescoderama/pitch-shifting

其他提示

的最简单的解决方案是在比它被记录更高的采样率来播放声音 - 播放22千赫文件在44千赫将间距增加一倍。您可以通过声音(质量差)刚刚丢掉一些样品或重新取样的声音(品质好,如果一个好的算法像正弦内插时)实现相同的。

但有一个依赖 - 通过播放不同的采样率不仅会改变音高改变音高,但声音的长度了。这是可以改变的持续时间和独立球场,但这并不容易,涉及singnal处理相当数量以达到良好的品质。它是在频域中使用快速傅立叶变换,通常进行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top