题
我有一个从Web服务器,它使用后通过一个标准的PCM播放器播放下载PCM数据的程序。我希望能够以允许用户改变PCM数据的间距,而其被播放。
有谁知道如何做到这一点?
解决方案
我不知道C#的任何数字信号处理库,但这似乎是在.NET .:结果,移位音调一个完整的源样本 http://sites.google.com/site/mikescoderama/pitch-shifting
其他提示
的最简单的解决方案是在比它被记录更高的采样率来播放声音 - 播放22千赫文件在44千赫将间距增加一倍。您可以通过声音(质量差)刚刚丢掉一些样品或重新取样的声音(品质好,如果一个好的算法像正弦内插时)实现相同的。
但有一个依赖 - 通过播放不同的采样率不仅会改变音高改变音高,但声音的长度了。这是可以改变的持续时间和独立球场,但这并不容易,涉及singnal处理相当数量以达到良好的品质。它是在频域中使用快速傅立叶变换,通常进行。
不隶属于 StackOverflow