Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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
C++ Qt对音频的回声效应_C++_Qt_Audio - Fatal编程技术网

C++ Qt对音频的回声效应

C++ Qt对音频的回声效应,c++,qt,audio,C++,Qt,Audio,我正在用QtC++开发一个音频处理实用程序。当我使用qt代码通过麦克风讲话时,我可以听到扬声器的音频。我需要将回声效果应用于此音频输出。在我的代码中,我使用16位字节数组接收音频。 如何将回声效果应用于此声音样本。我认为产生回声的最简单方法是播放声音两次,几乎同时播放,两次播放之间稍有延迟。您还可以使第二个实例的体积比第一个实例小一点 你可以通过将采样流和它自身混合一个偏移量,然后播放结果,或者可能通过创建两个QAudioOutput设备并在这两个设备中播放声音来实现这一点。不过,我还没有尝试过

我正在用QtC++开发一个音频处理实用程序。当我使用qt代码通过麦克风讲话时,我可以听到扬声器的音频。我需要将回声效果应用于此音频输出。在我的代码中,我使用16位字节数组接收音频。
如何将回声效果应用于此声音样本。

我认为产生回声的最简单方法是播放声音两次,几乎同时播放,两次播放之间稍有延迟。您还可以使第二个实例的体积比第一个实例小一点


你可以通过将采样流和它自身混合一个偏移量,然后播放结果,或者可能通过创建两个QAudioOutput设备并在这两个设备中播放声音来实现这一点。不过,我还没有尝试过后者,所以我不确定它是否可以工作

三次接近投票,但只有一次向下投票?o、 假设m_输入是一个QByteArray,它保存整数样本。使用一个固定大小的样本值FIFO队列作为延迟线。对于m_输入中的每个样本,将该样本添加到FIFO队列的末尾,使回声比原始声音更安静。然后,如果队列长度已达到其最大大小M,则从队列头部弹出一个值,并将其添加到M_输入中的示例中。根据您希望回声的长度选择M。。。较大的值模拟较长的回波