我正在尝试创建一个使用Qt (c++)的程序,它可以使用QAudioinput和QIODevice从我的麦克风录制音频。我做了一个研究,我想出了一个位于这个上的例子。这个例子做了我想要的。
现在,我试图创建一个录音的声音波形。我想提取音频振幅,并将它们保存在QList上。为此,我使用以下代码:
//Check the number of samples in input buffer
qint64 len = m_audioInput->bytesReady();
//Limit sample size
if(len > 4096)
len = 4096;
//Read
所以我正在用processing编写一个音频程序,我遇到了一个小障碍,当我告诉minim从音频输出中删除音频信号(正弦波)时,它会以一个小的爆裂声结束,我知道这是程序删除声音时,它的振幅不是,扬声器认为它应该尝试从任何声音的振幅跳到0。
当音频信号的振幅为0时,而不是每当信号被调用时,我该如何删除音频信号?
播放函数由主程序每3帧调用一次。out是复调的。谢谢
public void play(int column){
for (int i = 0; i < notes[column].length; i++){
if (column == 0){ //special
我正在尝试写一个简单的小东西,当用户通过与电话交谈“中断”音频文件时,它会阻止音频文件播放。我正在使用获取麦克风的maxAmplitude。我已经为800设置了一个阈值,并希望不断地(每隔50ms)测试麦克风振幅的返回。
由于某些原因,当我得到“中断”显示和当音频停止时,它是命中或未命中。我希望中断显示整个时间的振幅都在800以上。
handler = new Handler();
final Runnable r = new Runnable() {
@Override
public void run() {
mic_a
我知道这里有一些类似的问题,但大多数问题都是关于产生波形图像,这不是我想要的。
我的目标是为音频文件生成波形可视化,类似于SoundCloud,而不是图像。我想要一个数组中音频剪辑的每秒(或半秒)的最大振幅数据。然后,我可以使用这些数据创建一个基于CSS的可视化。
理想情况下,我希望得到一个数组,该数组的每秒钟的所有振幅值都是整个音频文件最大振幅的百分比。下面是一个例子:
[
0.0, # Relative max amplitude of first second of audio clip (0%)
0.04, # Relative max amplitude of s