2011-10-05 56 views
1

我的目标是代码,记录人的声音,并改变它(有效果)的项目。 e.g:一个人会记录它的声音在话筒(一会儿说),比计划使得它像婴儿一样的声音。XNA | C#:记录和更改语音

这将有效和快速的运行(同时记录变更操作必须跑,太)

什么是做到这一点的最佳方式是什么?

感谢

+0

你瞄准什么平台? PC? WP7? – r2d2rigo

+0

对于PC,实际上它并不重要,XNA具有 – icaptan

回答

2

如果你正在寻找任XNA或DirectX为你做这个,我敢肯定,你会倒霉(我没有DirectSound的很多经验;也许有人可以纠正我)。这听起来像你想要做的是实时数字信号处理,这意味着你要么会需要编写自己的代码来处理原始波形,或者找别人谁是已经写好的代码为您服务。

如果你没有经验写这样的事情,它可能是最好使用别人的信号处理库,因为这样的事情能迅速变得复杂。既然你正在为个人电脑开发,那么你很幸运。你可以使用任何你喜欢使用P/Invoke的库。您可以尝试使用建议的一些解决方案herehere

+0

upvoted我,谢谢你的答案。实时数字信号处理是我需要的,我已经找到了一个使用PInvoke的库。我想我会解决这个问题:) – icaptan

0

MSDN有关于从XNA音频命名空间的一些信息,并在4版中引入的录音:

记住,录制的数据以PCM格式返回。

+0

无用链接功能......录制已完成,但使用此Audio命名空间我想要的东西是不可能的。 – icaptan

+0

为什么? Microphone.Default.GetData允许您检索原始录制数据,并且可以随心所欲地执行任何操作。 – r2d2rigo

+0

不是我想要的。检查音频类的成员。我只能更改Pan和Pitch值。声音具有更多属性。 XNA构建于Directx之上,但并不包含Directx的所有功能。 – icaptan