読者です 読者をやめる 読者になる 読者になる

プロジェクトは破綻する。

仕事のこととか、salesforceのこととか、書評とか書いてます

【57日目】Web Audio APIを簡略化したJSライブラリ「Tone.js」って何?






twitterでこんなネタが流れてきて、思わず二度見してしまった。

webで音を出せる仕組みがあるの!?

すごく気になってしまったので、ちょっと調べてみた。

 

「Tone.js」を調べる前に、ツイートには「Web Audio APIを簡略化した」とあり、そもそもこれがわからない。

まずは「Web Audio API」を調べてみた。

HTML5の<audio>要素が登場する前、Webの静寂を破るにはFlash等のプラグインが必要でした。 <audio>タグにより、Webで音を出すのにプラグインは必要なくなりましたが、洗練されたゲームや対話型のアプリケーションを実装するには、まだまだ制約が多いのが現状です。

Web Audio APIは音声を処理・合成するためのWebアプリケーション向けのハイレベルなJavaScript APIです。 このAPIの目指すところは、今日のゲームのオーディオエンジンが備えている機能や、DAWに見られるようなミキシング、編集、フィルタリング等の機能を実現することです。

へえ、HTML5になってから音を出せるようになったのか。

で、そのままだと制約があるので、いろんなことができる「Web Audio API」が出てきた、という解釈でいいのかな。

 

で、「Tone.js」は「Web Audio API」をさらに使いやすくしたものだということか。

今回は、Web Audio APIの実装で面倒な処理をすべて簡略化し、誰でも音楽プログラミングを楽しむことが可能なJavaScriptライブラリのご紹介です。

わずか数行のコードでゼロから「音」を作り出し、メロディを奏でたりエフェクトをかけたりシーケンスを組み立てたり…など、本格的なWebアプリも作れるポテンシャルを秘めていますよ!

 

コーディング方法は上記ブログで紹介されているので省略。

基本的な音楽の知識があれば、実装は簡単そう。

自分で作った曲をwebで奏でることもできそうだ。

 

紹介されているサンプルをいくつか見てみた。

https://tonejs.github.io/demos

 

その中でも、いろんな設定で奏でられるこのサンプルが良かった。

これだけでも十分曲になってるね。

あと、midiファイルをjson形式に変換して奏でることが可能とか、すごすぎ。

学生の頃、ネットに転がってたいろんなmidiファイル掻き集めてた頃が懐かしい。

 

webで何でもできるようになっていくな。

おもしろい。