http://www.lumisoft.ee/lswww/download/downloads/Examples
上面是这个开源的下载地址比如
A录了一段二进制的声音数据
B录了一段二进制的声音数据
现在给C的时候要求A和B进行合成
-----------------
PS:需求是这样子的,现在是多人通过WCF进行聊天
第个人说话由Wave得到并传到服务器,然后服务器分发到所有客户端
但现在是没有合并的,也就是有多少人说话,客户端就得接受多个人的声音,这样得到的声音很混乱
所以想不管多少人说话,提交到服务器,服务器合成一个声音源传给客户端谢谢

解决方案 »

  1.   

    合成声音要做FFT变换,不知道你这个算法库封装了没有,没有的话还是很复杂的。找找别的库。
      

  2.   

    你的下载链接里都是些单一功能的例子,复杂的声音处理还是要靠专门的类库来做,比如 NAudio,Media.Net等。NAudio有合成声音的方法,可以参考它的例子做下。我分析你的问题在于服务器回调是排队顺序执行(而不是并行回调),这样有多个人同时说话时,他们的连续声音就会被切割成一小片一小片传送到其它人的客户端,造成声音效果失真。还有个问题是,合成后会包含说话者本身的声音,当它回送到说话者本人再播放时,就会引起严重的回声(会再次被录音传送到服务器形成正反馈)。所以我觉得更有效的解决方法是压缩传输数据和把声音推送回调改成客户端主动到服务器下载,然后在客户端进行合成(利用系统本身合成功能,不需要编程)
      

  3.   

    好,明天我学习一下: NAudio,Media.Net
    谢谢