Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于声音效果的环形调制器_Java_Android_C++_Audio_Native - Fatal编程技术网

Java 用于声音效果的环形调制器

Java 用于声音效果的环形调制器,java,android,c++,audio,native,Java,Android,C++,Audio,Native,嘿,我需要为我的语音转换器应用程序更改音频文件。我需要机器人或外星人之类的效果。因此,我必须实现一个环形调制器 你知道如何实施吗?或者你有不同的更简单的建议吗? 我能改变音高,节奏和回声的文件 感谢您的帮助C++有一个标准功能:std::internal_product。只需将输入信号和正弦信号馈送给它。原则上,环形调制器只需将输入信号乘以载波,例如低频正弦波: f - input signal g - carrier h - output h[i] = f[i] * g[i], for al

嘿,我需要为我的语音转换器应用程序更改音频文件。我需要机器人或外星人之类的效果。因此,我必须实现一个环形调制器

你知道如何实施吗?或者你有不同的更简单的建议吗? 我能改变音高,节奏和回声的文件


感谢您的帮助

C++有一个标准功能:
std::internal_product
。只需将输入信号和正弦信号馈送给它。

原则上,环形调制器只需将输入信号乘以载波,例如低频正弦波:

f - input signal
g - carrier
h - output

h[i] = f[i] * g[i], for all i
<> > MsAlter建议,<代码> h <代码>只是<>代码> f>代码>和<代码> g < />代码的内积,使用C++函数可能比计算自己更快。 然而,我们经常听到的环形调制器是模拟环形调制器,它们比数字环形调制器引入更多的失真。如果你想在数字域中模拟一个模拟环形调制器,你必须做比这里描述的更多的工作。然而,这里有一个很好的参考,包括用javascript编写的示例代码和一篇很好的论文:

如果你想要邪恶的dalek音效,那就是最好的选择。我不知道简单的数字方法与语音“机器人”相比有什么不同,但我怀疑如果你不是特别想模仿dalek的话,它们都是好的


当然,还有很多其他的方法来“机器人化”语音,但环形调制器是相当经典的。另一个“经典”的是,但正确实现要复杂得多。

我可以迭代我的wav的所有值,然后简单地将它们与g[I]相乘吗?g[i]的值必须从-1到1?如何实现正弦函数?关于创建正弦波还有很多其他问题。也许不是最好的,但是第一次成功: