在Processing中使用minim库查找麦克风输入量

时间:2014-05-26 05:11:40

标签: processing minim

我正在尝试从麦克风中调节音量以调整盒子的大小(响亮=更大)。但我有以下问题: a)getGain似乎不断给我-64 b)getVolume似乎无法使用

我编辑了一个处理示例以响应麦克风而不是提供的音频文件,但无法弄清楚如何获取音量

这就是我所拥有的

import ddf.minim.analysis.*;
import ddf.minim.*;

Minim       minim;
AudioInput  accessMic;
FFT         fft;
float boxSize;

void setup () {
  size(512, 200, P3D);
  minim = new Minim(this);
  accessMic = minim.getLineIn();
  rectMode(CENTER);

}

void draw() {
  background(255);
  boxSize = accessMic.getGain();
  stroke(255);
  println(boxSize);
  fill(0);
  rect(width/2,height/2,boxSize,boxSize);
}

您可以给予我任何帮助将不胜感激 感谢

2 个答案:

答案 0 :(得分:1)

我在最小的情况下与.getGain();有类似的问题 我使用left.level();01之间返回float,从而得到类似的东西。显然,只考虑其中一个立体声输入,你可以完全从.right.level();获得另一个频道的结果。

所以你的代码看起来有点像 boxSize = accessMic.left.level() * 100;
你会得到一个大小在0到100之间弹跳的盒子!

希望有所帮助!

答案 1 :(得分:0)

您是否考虑过使用the sound library in Processing

Here is an example

简而言之,您必须使用与in.left()in.right()完全相同的AudioBuffer。这应该会给你与Amplitude()函数相同的结果。