ブラウザで音楽を簡単にプログラミングできるTone.js
こんにちは!なるーらぼです。
ここのところ天気が良くて出かけたくなる陽気ですね!でも朝は寒い…
さて、まだ試せてないですが面白そうなのでご紹介します。
Tone.jsというフレームワークで、JavaScriptでつくられたものです。
これはブラウザで動作する音声制御のAPIである「Web Audio」をより簡単に利用することができるようにしたもので、サンプルを見ていただければわかるのですが短いコードで音を鳴らすことができます。
Web Audioを素のまま利用できる方はそれでもいいと思うのですが、そういう面倒ごとはフレームワークに任せて、思い切り音楽を楽しみたい!という方には少し面倒ごとが減ってよいかもしれません。
概要
ざっと見たところ、音声ファイルを扱うことができるだけでなく、シンセサイザー(いわゆる減算方式のもの)をモノフォニック(1音のみ発音)、ポリフォニックでつくることができるようです。
それらも「そのまま」な名前がついているオブジェクトを生成して利用するだけでつくることができるようです。
マニアックというか、個人的に惹かれたのがFMシンセも準備されているということです。
FMシンセというのは正弦波を別の正弦波で変調して音色をつくる方式のもので、有名なYAMAHA DX7なんかがそういったものです。
ただ、1音をつくるために2つのモノシンセを利用しているらしく、準備されているFMシンセは単音しか出すことができません。
FMでポリフォニックシンセが必要な方は自分でつくる必要があります。
導入方法
HTML内へはCDNが用意されていて、ミニファイされたものとされていないものの両方があるようです。
ミニファイされたものが以下です。
http://cdn.tonejs.org/latest/Tone.min.js
bowerをご利用のかたはbowerからインストールすることができますし、Node.jsをご利用のかたはnpmからもインストールすることができます。
ぜひ「音楽をプログラミングしよう」の延長線でやってみてください。