Step 9:Processing配合麦克风的实时声音可视化
来源:互联网 发布:java 1603 编辑:程序博客网 时间:2024/05/21 17:40
欢迎来到声音的世界。
Processing如何实现声音可视化呢?
- 必要条件:音频文件数字化;
- 实现方式:逐点取出音频频率;
- 呈现方式:基本形状,DIY……创意才是灵魂。
本教程主要介绍如何获取麦克风的立体声输入,并对其进行简单的可视化操作。
初识Minim
Minim是一个使用JavaSound API、一丢丢Tritonus和Javazoom中的MP3SPI共同搭建的音频库。所有底层的工作都无须你操作,其尽可能简单地将音频整合到你的草图中,同时也为高级用户提供了合理的灵活性。
以下是Minim部分features:
- AudioPlayer:WAV、AIFF、AU、SND和MP3文件的单声道和立体声道播放。
- AudioMetaData:存有文件元数据的对象,如ID3标签。
- AudioRecorder:录制单声道和立体声音频,缓冲或存入磁盘。
- AudioInput:监控单声道和立体声输入,如,本文涉及到的麦克风。
- AudioOutput:合成单声道和立体声。
- FFT:对音频数据进行傅立叶变换后生成频谱。
- BeatDetect:用于进行拍频检测的类。
获取麦克风输入编码套路
① 导入音频库——Minim;
import ddf.minim.*;
② 声明Minim和AudioInput对象;
Minim minim;AudioInput in;
③ Minim和AudioInput对象的实例化(创建)
minim = new Minim(this); in = minim.getLineIn();
④ 最后,各种函数调用……
声之形
声学工程师马克·菲舍尔痴迷于海洋之声,他将美妙的海豚声转化为可见的视觉图像(原文链接):
伪虎鲸的叫声
座头鲸的叫声
自己动手实现声音可视化的小程序,去捕捉更多生命的细节。具体代码下载:
/* * The shape of voice * by Hewes. * 2017.10.28 *///第一步,导入音频库:Minimimport ddf.minim.*;//第二步,声明Minim、AudioInput对象Minim minim;AudioInput in; //AudioInput:单声道和立体声输入监控void setup() { size(800, 600, P2D); background(0); stroke(255); //第三步,Minim、AudioInput对象的实例化 minim = new Minim(this); in = minim.getLineIn();}//第四步,各种函数调用void draw() { //saveFrame("声之形.png"); //保存最后一帧图片 /** * 获取音频缓冲区的大小, * 接着按圆周平分, * 最后,对相邻缓冲区样本值进行连线操作。 */ float a = 0; float angle = (2*PI) /100; int step = in.bufferSize() / 100; for (int i=0; i < in.bufferSize()-step; i+=step) { //mix.get(i)邻返回的值在-1和1之间,放大且平移 float x1 = width/2 + cos(a) * (1000 * in.mix.get(i) + 100); float y1 = height/2 + sin(a) * (1000 * in.mix.get(i) + 100); float x2 = width/2 + cos(a + angle) * (1000 * in.mix.get(i+step) + 100); float y2 = height/2 + sin(a + angle) * (1000 * in.mix.get(i+step) + 100); stroke(random(255), 100,100); line(x1, y1, x2, y2); a += angle; }}
大致效果如下:
试试斑原海豚声:
阅读全文
0 0
- Step 9:Processing配合麦克风的实时声音可视化
- 声音的时域、频域(FFT)波形实时可视化绘制
- 声音的时域、频域(FFT)波形实时可视化绘制
- 麦克风没声音怎么办,解决麦克风没声音的方法
- 麦克风没有声音的设置
- Unity将麦克风获取的音频实时的处理成可视化的音波
- 电脑麦克风扩音,麦克风声音小,麦克风没声音的解决方法
- Unity实时获取麦克风音频,处理成可视化
- 如何实时对ios中麦克风的数据进行解析,获取声音频率等相关的属性?
- 解决麦克风声音小的方法
- 联想E420麦克风没有声音的方案
- 实时获取麦克风输入音量的代码
- 获取麦克风声音数据
- 通过网络发送和播放麦克风的声音
- Android直接播放麦克风采集到的声音
- iOS 设备 检测声音输出设备及耳机麦克风的处理
- Android直接播放麦克风采集到的声音
- Android直接播放麦克风采集到的声音
- 不做“沉默的帮凶”:腾讯联合公安部发起反电信网络诈骗宣传月
- 预告:技术迎来突破,商用无人机还有哪些可能性? | 硬创公开课
- Python中partial函数的工作原理
- Ribbon基础入门和特性讲解
- Spring Boot学习之旅:(九)拦截器
- Step 9:Processing配合麦克风的实时声音可视化
- 只属于你的180寸私人影院
- 汽车厂商布局分时租赁,是砒霜还是蜜糖?
- 小米终于造车了 | 唯物周刊
- java实现读取json文件
- Java+MySQL:插入一条数据并删除上一条
- [剑指offer]算法4 重建二叉树
- Spark安装搭建与使用
- Js中new操作符做了什么?