如何实现语音转换器?

11 windows directx

我想写一个改变麦克风输入语音的应用程序,让它像机器人或一些有趣的男人的声音.它必须支持发送改变的语音到所有应用程序,如IM软件或游戏客户端.我应该选择哪种技术?Windows WaveForm Api?的DirectX?音频驱动?

非常感谢你!

Nol*_*rin 7

有一篇MSDN Coding4Fun文章解释了如何在C#(.NET)中创建一个通过Skype运行的语音转换器.完整的源代码也作为CodePlex上的项目托管.此外,使用音频做其他事情应该相当容易(而不是通过Skype流式传输),因为该项目基于NAudio框架,其中包含良好的抽象级别.无论如何,这是一个相当完整(和稳定)的例子 - 在我看来绝对值得一试.

如果你想/需要使用C++或其他语言进行开发,那么这个项目至少应该给你一些关于如何去做的想法.不过,如果你可以使用.NET,那么我认为你很幸运.


bil*_*mcc 1

现在这是一个好主意,尤其是对于移动应用程序而言。

我可能会通过使用 .wav 文件作为输入来开始离线,以使效果按照我想要的方式工作。为此,您可以使用任何高级语言,但您可能需要能够很好地映射到 C/C++ 的语言。

就生产版本而言,我会使用本机并使用 C 或 C++ 来完成此操作。您想要快速进行实时音频处理,而我喜欢避免依赖于 .net 等分发方式。(并不是说我反对 .net,它对于公司内部的服务器和分发非常有用,但我不太热衷于将它作为收缩包装软件的依赖项。)

Windows DirectShow 将是一个诱人的选择 - 如果您将语音变形器实现为直接显示过滤器,您还可以使用多媒体制作一些有趣的效果。