首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用processing来反转音频波形

如何使用processing来反转音频波形
EN

Stack Overflow用户
提问于 2014-01-21 02:05:07
回答 1查看 1.8K关注 0票数 0

有没有一种方法可以分析应用程序录制的音频并反转其波形?例如,在Analog Audio中,声波就像一个正弦波,或者是0,1,-1。我想反转一下,这样1就是-1,-1就是1。如何使用处理软件来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2014-01-21 03:17:36

Nikos是正确的,您正在寻找的操作称为反转,而不是反转。这只需将每个样本乘以-1即可实现。

最好的方法是使用Minim,processing的音频库。您可以扩展UGen类,以创建一个新的效果处理器,该处理器翻转通过它的每个样本。我已经在下面添加了一个使用正弦波的示例。您可以将其更改为其他音频源,并随心所欲地绘制它。

代码语言:javascript
复制
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;
      } 
    }  
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21241097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档