39294浏览
查看: 39294|回复: 25

[高级教程] Processing实时可视化声音

[复制链接]
本帖最后由 iooops 于 2016-1-31 23:17 编辑

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

代码如下:
其中setup()里主要是音频输入,一般默认情况下都是内置麦克风,当然如果想要用音频播放的输出来做这里的输入的话也是可以的,用soundflower就行~这里不做深入。
draw()主要是可视化方面的,这里主要是用到时域上的变化。= = 还是比较基础的。
  1. import ddf.minim.*;
  2. Minim minim;
  3. AudioInput in;
  4. void setup() {
  5.   size(800, 600, P2D);
  6.   
  7.   minim = new Minim(this);
  8.   
  9.   in = minim.getLineIn();
  10. }
  11. void draw() {
  12.   background(0);
  13.   stroke(255);
  14.   strokeWeight(2);
  15.   float a = 0;
  16.   float angle = (2*PI) / 200;
  17.   int step = in.bufferSize() / 200;
  18.   for(int i=0; i < in.bufferSize() - step; i+=step) {
  19.     float x = 400 + cos(a) * (1000 * in.mix.get(i) + 150);
  20.     float y = 300 + sin(a) * (1000 * in.mix.get(i) + 150);
  21.     float x2 = 400 + cos(a + angle) * (1000 * in.mix.get(i+step) + 150);
  22.     float y2 = 300 + sin(a + angle) * (1000 * in.mix.get(i+step) + 150);
  23.     line(x,y,x2,y2);
  24.     a += angle;
  25.   }
  26. }
复制代码

出来的效果是这样子滴~~~



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

yoyo要变身  学徒

发表于 2017-4-11 15:21:55

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

使用道具 举报

lcb163  见习技师

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

在Processing的Python Mode下改写成功:
  1. add_library('minim')
  2. minim=Minim(this)
  3. lin=minim.getLineIn()
  4. def setup():
  5.     size(800,600,P2D)
  6. def draw():
  7.     background(0)
  8.     stroke(255,255,0)
  9.     strokeWeight(2)
  10.     a=0.0
  11.     angle=(2*PI)/200.0
  12.     bfsize=lin.bufferSize()
  13.     step=bfsize/200
  14.     for i in range(0,bfsize-step,step):
  15.         x = 400.0 + cos(a) * (1000 * lin.mix.get(i) + 150)
  16.         y = 300.0 + sin(a) * (1000 * lin.mix.get(i) + 150)
  17.         x2 = 400.0 + cos(a + angle) * (1000 * lin.mix.get(i+step) + 150)
  18.         y2 = 300.0 + sin(a + angle) * (1000 * lin.mix.get(i+step) + 150)
  19.         line(x,y,x2,y2)
  20.         a += angle
复制代码

Processing实时可视化声音图1

回复

使用道具 举报

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
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail