Audio 如何使用音频处理反转音频波
有没有办法分析应用程序记录的音频并反转其波形?例如,在模拟音频中,声波类似于0,1,-1的正弦波。我想把它颠倒过来,使1为-1,-1为1。如何使用处理软件实现这一点?Nikos认为您正在寻找的操作称为反转而不是反转是正确的。这只需将每个样本乘以-1即可实现 最好的方法是使用Minim,processing的音频库。您可以扩展UGen类,以制作一个新的效果处理器,该处理器可以翻转通过它的每个样本。下面我举了一个正弦波的例子。你可以把它改成其他的音频源,然后你想怎么画就怎么画Audio 如何使用音频处理反转音频波,audio,reverse,processing,analog-digital-converter,Audio,Reverse,Processing,Analog Digital Converter,有没有办法分析应用程序记录的音频并反转其波形?例如,在模拟音频中,声波类似于0,1,-1的正弦波。我想把它颠倒过来,使1为-1,-1为1。如何使用处理软件实现这一点?Nikos认为您正在寻找的操作称为反转而不是反转是正确的。这只需将每个样本乘以-1即可实现 最好的方法是使用Minim,processing的音频库。您可以扩展UGen类,以制作一个新的效果处理器,该处理器可以翻转通过它的每个样本。下面我举了一个正弦波的例子。你可以把它改成其他的音频源,然后你想怎么画就怎么画 import ddf.
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;
}
}
}
}
导入ddf.minim.*;
进口ddf.minim.ugens.*;
极小极小;
音频输出;
无效设置()
{
尺寸(300、200、P2D);
最小值=新的最小值(本);
out=minim.getLineOut();
Oscil osc;
反向投资;
恒定截止;
//初始化振荡器
//(锯齿波在整个频谱中具有能量)
osc=新的OSCI(500,0.2,波形正弦);
inv=新的反转();
osc.patch(输入)、patch(输出);
}
作废提款()
{
背景(0);
}
公共类反转扩展UGen{
公共音频;
倒置
{
音频=新输入(InputType.audio);
}
@凌驾
受保护的无效生成(浮动[]通道)
{
if(audio.isPatched())
{
对于(int i=0;i
如果您试图获得某种声学效果,这根本不会改变文件的声音方式——反转信号对人耳的声音将完全相同。您所描述的是反转,而不是反转(反转波形意味着反向播放)。大多数软件都具有波形反转功能。例如,在Audacity中,您只需在“效果”菜单中选择“反转”。说到这里,这个问题已经脱离主题了,因为您似乎不是在谈论如何通过编程实现这一点,而是通过最终用户软件实现这一点。