我正在尝试从麦克风中调节音量以调整盒子的大小(响亮=更大)。但我有以下问题: 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);
}
您可以给予我任何帮助将不胜感激 感谢
答案 0 :(得分:1)
我在最小的情况下与.getGain();
有类似的问题
我使用left.level();
在0
和1
之间返回float,从而得到类似的东西。显然,只考虑其中一个立体声输入,你可以完全从.right.level();
获得另一个频道的结果。
所以你的代码看起来有点像
boxSize = accessMic.left.level() * 100;
你会得到一个大小在0到100之间弹跳的盒子!
答案 1 :(得分:0)
您是否考虑过使用the sound library in Processing?
简而言之,您必须使用与in.left()
和in.right()
完全相同的AudioBuffer
。这应该会给你与Amplitude()
函数相同的结果。