在一个程序要以正常播放一个音频文件(.wav或.mp3文件)的速度的50%-150%的速度来播放该音频文件,该如何实现呢?比如说,一段英语新闻,如果按正常速度播放,你可能听不懂,但如果以正常播放速度的50%的速度来播放,你可能就听懂了,就好象复读机慢速播放功能一样,请各位大侠不吝赐教..........

解决方案 »

  1.   

    播放wave文件的时候,只要设置:
    nSamplesPerSec
    成正常的1/2就可以半速播放了.
      

  2.   

    录音时有个采样率,放音时也要知道采样率才能正确还原。
    把采样率改一下就能改变声音的播放速度,但是这样的声音失真很厉害。
    就像以前的磁带放音机快放一样,放快了声音就尖、高,没电了声音就慢、低。
    现在的复读机都采用变速不变调技术。
    用语音识别技术中的基音提取,取出基音,
    然后重复基音(声音变长),或去掉重复的基音(声音变短),
    通过这种方法改变语速。
    好像,mp3压缩也包括提取基音进行压缩的(听说,没有研究,不过觉得这样压缩有道理)。
    如果是这样,找个mp3代码,把提取基音部分拿来用用,呵。
    以前找这点方向性的东西就用了很多很多时间,后来没有深入了(遗憾),希望对你有所帮助。