0
有没有办法分析应用程序记录的音频并将其波形逆转?例如在模拟音频中,声波就像一个0,1,-1的正弦波。我想反过来,以便1将-1和-1是1.如何使用处理软件来做到这一点?如何使用处理反转音频波形
有没有办法分析应用程序记录的音频并将其波形逆转?例如在模拟音频中,声波就像一个0,1,-1的正弦波。我想反过来,以便1将-1和-1是1.如何使用处理软件来做到这一点?如何使用处理反转音频波形
尼科斯是正确的,你正在寻找的操作被称为反转而不是反向。这简单地通过将每个样本乘以-1来实现。
这样做的最好方法是使用Minim处理的音频库。您可以扩展UGen类以创建新的效果处理器,以翻转通过它的每个样本。我在下面的例子中加入了正弦波。你可以改变它来成为其他音频源,然后按你喜欢的方式绘制它。
import ddf.minim.*;
import ddf.minim.ugens.*;
Minim minim;
AudioOutput out;
void setup()
{
size(300, 200, P2D);
minim = new Minim(this);
out = minim.getLineOut();
Oscil osc;
Invert inv;
Constant cutoff;
// initialize the oscillator
// (a sawtooth wave has energy across the spectrum)
osc = new Oscil(500, 0.2, Waves.SINE);
inv = new Invert();
osc.patch(inv).patch(out);
}
void draw()
{
background(0);
}
public class Invert extends UGen{
public UGenInput audio;
Invert()
{
audio = new UGenInput(InputType.AUDIO);
}
@Override
protected void uGenerate (float[] channels)
{
if (audio.isPatched())
{
for (int i = 0; i < channels.length; i++){
// this is where we multiple each sample by -1
channels[i] = audio.getLastValues()[i] * -1;
}
}
}
}
如果您正在尝试寻找一些声学效果,这将不会改变文件的声音 - 反转信号将听起来与人耳完全一样。 – kevinsa5
你所描述的是反转,而不是反转(反转波将意味着反向播放)。大多数软件都具有波反转功能。例如,在Audacity中,您只需在“效果”菜单中选择“反转”即可。有人说,这个问题是关于SO的话题,因为看起来你不是在谈论以编程方式做这件事,而是通过最终用户软件。 –