有没有一种方法可以分析应用程序录制的音频并反转其波形?例如,在Analog Audio中,声波就像一个正弦波,或者是0,1,-1。我想反转一下,这样1就是-1,-1就是1。如何使用处理软件来实现这一点?
发布于 2014-01-21 03:17:36
Nikos是正确的,您正在寻找的操作称为反转,而不是反转。这只需将每个样本乘以-1即可实现。
最好的方法是使用Minim,processing的音频库。您可以扩展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;
}
}
}
}https://stackoverflow.com/questions/21241097
复制相似问题