メニュー 閉じる

012. p5.jsでマイク入力からの音を拾って周波数解析してみる

PCのマイクから拾った音をひとまず周波数別に描画してみました。

http://www.velvet-number.com/p5_test/test008/

var mic;
var fft;

function setup () {

	pixelDensity (displayDensity ());
	createCanvas (800, 800);
	background (255);
	colorMode (RGB, 255, 255, 255, 100);

	mic = new p5.AudioIn ();
	mic.start ();

	fft = new p5.FFT ();
	fft.setInput (mic);

}

function draw () {

	background (255);

	fill (255);
	stroke (0);
	strokeWeight (1);

	var spectrum = fft.analyze ();

	for (var i = 0; i < spectrum.length; i += 2) {
		var x = map (i, 0, spectrum.length, 0, width);
		var y = -height + map (spectrum[i], 0, 255, height, 0);
		rect (x, height, width / spectrum.length, y / 10);
		ellipse (width / 2, height / 2, map (spectrum[i], 0, 255, 0, width), map (spectrum[i], 0, 255, 0, height))
	}

}

 

 

Posted in p5.js , processing