minimとは
minimはProcessing1.0以降のバージョンで標準のサウンドライブラリ.
短いコードでオーディオのコントロールができる!
今回作ったもの
画面中の風船をユーザの声で膨らませるもの.
“声を出し続けないと風船がしぼんじゃうよ!”(草)
“膨らませすぎると割れちゃうよ!”(草)
子供向けに何か作れないかなと思って作ったはいいけど唾がキーボードに散るのが嫌なので不採用.
画像は"いらすとや"から
動作
- マイクから音を拾う
- 音量が一定以上で膨らませる
- 音量が一定以下でしぼませる
- 風船が一定以上の大きさになると破裂する
- Shiftキーでリセット
環境
- MacBookPro 2016
- macOS Sierra
- Processing 3.3
- minim 2.2.2
GitHub
コード
import ddf.minim.*; Minim minim; AudioInput in; float volumeIn; float volumeTemp; float size; PImage balloon; PImage explosion; void setup() { //fullScreen(); size(500,500); minim = new Minim(this); in = minim.getLineIn(Minim.MONO, 512); fill(200,0,0); balloon = loadImage("husen.png"); explosion = loadImage("husen2.png"); size = 50; } void draw() { background(0); volumeIn = map(in.left.level(), 0, 0.5, 0, 10); if (size < height*0.95) { if (volumeIn>5){ size = size + 10; }else { if (size > 20) { size = size - 0.5; } } image(balloon, width/2-size/2+random(-5, 5), height/2-size/2+random(-5, 5), size, size); }else { image(explosion, width/2-size/2+random(-5, 5), height/2-size/2+random(-5, 5), size, size); } } void stop(){ in.close(); minim.stop(); super.stop(); } void keyPressed() { if (key == CODED) { if (keyCode == SHIFT) { size = 50; } } }