iooops 发表于 2016-1-31 23:12:21

Processing实时可视化声音

本帖最后由 iooops 于 2016-1-31 23:17 编辑

这个小项目用到了processing的minim库。

代码如下:
其中setup()里主要是音频输入,一般默认情况下都是内置麦克风,当然如果想要用音频播放的输出来做这里的输入的话也是可以的,用soundflower就行~这里不做深入。
draw()主要是可视化方面的,这里主要是用到时域上的变化。= = 还是比较基础的。
import ddf.minim.*;

Minim minim;
AudioInput in;

void setup() {
size(800, 600, P2D);

minim = new Minim(this);

in = minim.getLineIn();
}

void draw() {
background(0);
stroke(255);

strokeWeight(2);
float a = 0;
float angle = (2*PI) / 200;
int step = in.bufferSize() / 200;
for(int i=0; i < in.bufferSize() - step; i+=step) {
    float x = 400 + cos(a) * (1000 * in.mix.get(i) + 150);
    float y = 300 + sin(a) * (1000 * in.mix.get(i) + 150);
    float x2 = 400 + cos(a + angle) * (1000 * in.mix.get(i+step) + 150);
    float y2 = 300 + sin(a + angle) * (1000 * in.mix.get(i+step) + 150);
    line(x,y,x2,y2);
    a += angle;
}
}


出来的效果是这样子滴~~~
http://player.youku.com/player.php/sid/XMTQ2MjI2MjMxNg==/v.swf


赶紧下载个processing玩玩吧~~
iOS系统上也可以用processing哦~
还可以装载在树莓派上玩哦~

yoyo要变身 发表于 2017-4-11 15:21:55

你好,我想问一下如果用softlower应该怎么做呢

lcb163 发表于 2019-1-15 11:27:50

在Processing的Python Mode下改写成功:
add_library('minim')
minim=Minim(this)
lin=minim.getLineIn()
def setup():
    size(800,600,P2D)
def draw():
    background(0)
    stroke(255,255,0)
    strokeWeight(2)
    a=0.0
    angle=(2*PI)/200.0
    bfsize=lin.bufferSize()
    step=bfsize/200
    for i in range(0,bfsize-step,step):
      x = 400.0 + cos(a) * (1000 * lin.mix.get(i) + 150)
      y = 300.0 + sin(a) * (1000 * lin.mix.get(i) + 150)
      x2 = 400.0 + cos(a + angle) * (1000 * lin.mix.get(i+step) + 150)
      y2 = 300.0 + sin(a + angle) * (1000 * lin.mix.get(i+step) + 150)
      line(x,y,x2,y2)
      a += angle


waihin 发表于 2018-10-31 22:14:55

楼主你好 macos环境下运行会出现错误: This is NOT allowed. Please call TIS/TSM in main thread!!!=== Minim Error ===
=== Minim.getLineIn: attempt failed, could not secure an AudioInput.
推测是不允许读取麦克风的原因
但是我用minim库内置的一个录音效果则可以访问麦克风
请问楼主知道原因吗。。好多其他的源代码复制下来只要涉及到麦克风实时的好像都不能够通过验证这个如何解决呢

iooops 发表于 2016-1-31 23:22:27

沙发!

iooops 发表于 2016-1-31 23:22:36

板凳~

iooops 发表于 2016-1-31 23:22:45

地板!

buumum 发表于 2017-3-17 11:10:26

超喜欢这个效果 求楼主解释一下为什么我复制到processing上就出不来

iooops 发表于 2017-3-18 18:00:48

buumum 发表于 2017-3-17 11:10
超喜欢这个效果 求楼主解释一下为什么我复制到processing上就出不来

你下载安装minim库了吗

buumum 发表于 2017-3-19 01:12:53

iooops 发表于 2017-3-18 18:00
你下载安装minim库了吗

只要下载安装minim库再复制就可以了吗?

楼主回复了我万分激动:victory:

buumum 发表于 2017-3-19 01:49:44

iooops 发表于 2017-3-18 18:00
你下载安装minim库了吗

下载了不知道如何安装 求指点呀:'(

iooops 发表于 2017-3-20 09:50:06

buumum 发表于 2017-3-19 01:49
下载了不知道如何安装 求指点呀

= = 额

iooops 发表于 2017-3-20 09:51:39

Sketch - import library - add library 然后里面找minim再安装就可以了

iooops 发表于 2017-4-11 22:45:34

yoyo要变身 发表于 2017-4-11 15:21
你好,我想问一下如果用softlower应该怎么做呢

你指的是soundflower吧?

softlower是啥 = =

yoyo要变身 发表于 2017-4-13 14:43:32

iooops 发表于 2017-4-11 22:45
你指的是soundflower吧?

softlower是啥 = =

sorry ,是的。。原谅我。。这个问题我昨天自己解决啦,谢谢~~
还有一个问题,在接收声音图像变化的时候,有没有可能变成字体,然后没有声音的时候又回到最原始的状态

iooops 发表于 2017-4-26 09:39:56

yoyo要变身 发表于 2017-4-13 14:43
sorry ,是的。。原谅我。。这个问题我昨天自己解决啦,谢谢~~
还有一个问题,在接收声音图像变化的时候, ...

可以啊 = = 你写个代码实现一下就好啦~

可以参考examples

肌肉火柴人 发表于 2017-9-20 09:45:14

看不到效果诶

肖学阳的微信 发表于 2019-11-18 19:25:58

想请问minim库在哪里下载啊/(ㄒoㄒ)/~~

oR5XjBlN 发表于 2019-12-16 21:38:38

怎么把MP3音频插进去

吴瑜 发表于 2020-5-7 09:39:40

yoyo要变身 发表于 2017-4-13 14:43
sorry ,是的。。原谅我。。这个问题我昨天自己解决啦,谢谢~~
还有一个问题,在接收声音图像变化的时候, ...

可以请教下怎么用sound flower来识别音频输出呀

kk21 发表于 2020-6-7 20:14:57

waihin 发表于 2018-10-31 22:14
楼主你好 macos环境下运行会出现错误: This is NOT allowed. Please call TIS/TSM in main thread!!!=== M ...

我也遇到这个问题 请问解决了吗TT
页: [1] 2
查看完整版本: Processing实时可视化声音