最近看到了游戏会说话的汤姆猫,感觉很有吸引力,特别是对声音处理方面很感兴趣,但是完全搞不懂这是怎么做到的,比如我想做一个可以改变声音的变声器 先把声音录入,再转换出去,这是怎么做到的呢???求大神解答

解决方案 »

  1.   

        我做过一个变声器,但变音的效果不太好,而且变音的过程中需要占用大量的手机资源与时间,总之,想在手机上做出完美的变声是很困难的,有兴趣的话可以自己去研究一下。
        我的变音器大体思路如下,首先录入声音,一般要对音频编辑的话,需要将音频文件保存为PCM格式,而Android没有提供这种格式的录音API,所以需要自己写一个,有些困难。
        然后就是对声音的处理,有两种途径:
        1.我们录到的声音其实是时域信号,一般的信号处理技术都需要将时域转成频域,然后利用就像楼上所说的频谱迁移技术来对信号处理,然后再将频域信号转换回时域,再播放,声音变化就完成了,可以通过此法实现变声不变速。在这过程中需要用到快速傅立叶变换,卷积变换和逆傅立叶变换等。此法对声音处理效果应当较好....但个人觉得实现起来很困难,而且手机的资源可能没办法支持这么大量的计算.
        2.直接在时域上处理声音,需要用到卷积的一些推导公式.比上面的方法快是快了点了,但变出来的声音很难听,就跟那个汤姆猫似的.
    就这么多了,不知道有没有帮助
      

  2.   

    Android 中有 Audio方面的组件,包括录音也有,可以去看一下API,,
      

  3.   

    我最近发觉android上的会说话的tom猫是用flash做的