如何使用处理来反向音频波



是否有一种方法可以分析应用程序记录的音频并逆转其波?例如,在模拟音频中,声音浪潮就像是sinwave 0,1,-1。我想扭转这一点,以便1为-1,-1为1。如何使用处理软件?

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;
      } 
    }  
  }
}

相关内容

  • 没有找到相关文章

最新更新