亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

EL Tape Music Visualiser

组件和用品

Arduino UNO
× 1
Arduino EL Shield
× 1
EL 胶带 - 绿色 1m
× 1
EL 胶带 - 红色 1m
× 1
EL 胶带 - 蓝色 1m
× 1

关于这个项目

EL 屏蔽和连接器

SeeedStudio 带有 EL 屏蔽的 EL 胶带与 Arduino UNO 一起使用。磁带连接到 4 个通道中的 3 个的屏蔽。


完成后,只需上传代码并开始播放音乐!


该代码使用了 Processing 以及 Processing Arduino 库。你需要让这两者都工作才能使用它。


在此处获取 Arduino 库。

在 https://processing.org/

获取处理


安装完成后,将 arduino 库移动到处理草图文件夹的库文件夹中,然后在处理编辑器中打开代码。


换行:

song =minim.loadFile("/home/paul/Music/dope.mp3", 2048);

在 BeatWrite 的第 38 行写入本地 MP3 文件并点击播放!

代码

  • BeatWrite
  • BeatListener
BeatWriteJava
用于处理 2 的 BeatWrite 草图
/** * 该草图演示了如何在 FREQ_ENERGY 模式下使用 BeatDetect 对象。
* 您可以使用 isKickisSnare , isHat, isRange, * 和 isOnset(int) 跟踪您要跟踪的任何类型的节拍,他们将报告 * true或 false 基于分析的状态。要“勾选”分析,您必须使用连续的音频缓冲区调用 detect *。您可以在 draw 中执行此操作,但如果执行此操作,您可能会错过一些 * 音频缓冲区。该草图实现了一个名为 BeatListener * 的 AudioListener,以便它可以在系统处理的每个音频缓冲区上调用 detect,而无需重复缓冲区 * 或缺一个。 *

* 此草图播放整首歌曲,因此加载可能会有点慢。 */import processing.serial.*;import ddf.minim.*;import ddf.minim.analysis.*;import cc.arduino.*;Minim minim;AudioPlayer song;BeatDetect beat;BeatListener bl;Arduino arduino;int ledPin =1; // LED 连接到 EL 通道 1int ledPin2 =2; // LED 连接到 EL 通道 2int ledPin3 =3; // LED 连接到 EL 通道 3float kickSize, snareSize, hatSize;void setup() { size(512, 200, P3D); minim =新的 Minim(this); arduino =新的 Arduino(这个,“/dev/ttyACM1”,57600);歌曲 =minim.loadFile("/home/paul/Music/dope.mp3", 2048);歌曲播放(); // FREQ_ENERGY 模式的节拍检测对象 // 期望缓冲歌曲缓冲区大小的长度 // 并以歌曲的采样率捕获样本 beat =new BeatDetect(song.bufferSize(), song.sampleRate()); // 将灵敏度设置为 300 毫秒 // 检测到心跳后,算法将等待 300 毫秒 // 在允许报告另一个心跳之前。如果它给出太多误报,您可以使用它来抑制 // 算法。默认值是 10, // 基本上没有阻尼。 // 如果你尝试将灵敏度设置为负值, // 会报错,改为设置为 10。 beat.setSensitivity(100); kickSize =snareSize =hatSize =16; // 创建一个新的节拍监听器,这样我们就不会错过任何用于分析的缓冲区 bl =new BeatListener(beat, song); textFont(createFont("Helvetica", 16));文本对齐(中心); arduino.pinMode(ledPin+3, Arduino.OUTPUT); arduino.pinMode(ledPin2+3, Arduino.OUTPUT); arduino.pinMode(ledPin3+3, Arduino.OUTPUT); }void draw() { 背景(0);填充(255); if(beat.isKick()) { arduino.digitalWrite(ledPin+3, Arduino.HIGH); // 将 LED 设置为 kickSize =32; } if(beat.isSnare()) { arduino.digitalWrite(ledPin2+3, Arduino.HIGH); // 将 LED 设置为 snareSize =32; } if(beat.isHat()) { arduino.digitalWrite(ledPin3+3, Arduino.HIGH); // 将 LED 设置为 hatSize =32; arduino.digitalWrite(ledPin+3, Arduino.LOW); // 关闭 LED arduino.digitalWrite(ledPin2+3, Arduino.LOW); // 关闭 LED arduino.digitalWrite(ledPin3+3, Arduino.LOW); // 设置 LED 关闭 textSize(kickSize);文本(“踢”,宽度/ 4,高度/ 2);文本大小(圈套大小);文本(“圈套”,宽度/ 2,高度/ 2);文本大小(帽子大小);文本(“帽子”,3*宽/4,高/2); kickSize =约束(kickSize * 0.95, 16, 32);圈套尺寸 =约束(圈套尺寸 * 0.95, 16, 32); hatSize =约束(hatSize * 0.95, 16, 32); }void stop() { // 当你完成 Minim 音频类时总是关闭它们 song.close(); // 在退出 minim.stop() 之前总是停止 Minim; // 这将关闭草图 super.stop();}

BeatListenerJava
class BeatListener 实现 AudioListener{ private BeatDetect beat;私人音频播放器源; BeatListener(BeatDetect beat, AudioPlayer source) { this.source =source; this.source.addListener(this); this.beat =节拍; }无效样本(浮动[]样本){beat.detect(source.mix); } void samples(float[] sampsL, float[] sampsR) { beat.detect(source.mix); }}

制造工艺

  1. 什么是音乐线弹簧?
  2. 老年人用户体验设计指南
  3. 为什么是数字化的?
  4. 胶带
  5. 点唱机
  6. 乐谱
  7. 条码扫描仪
  8. 玻璃纸胶带
  9. C++ 注释
  10. DIY LUMAZOID Arduino 音乐可视化器
  11. 二维码与二维码
  12. CNC G代码介绍