HTML5 で作られたドラムマシン

公開:2011-08-21 08:10
更新:2020-02-15 04:36
カテゴリ:html5,javascript

HTML5のaudio周りの機能を使ったドラムマシンを集めてみた。audioタグの機能からすると一番作りやすい楽器ではある。各ブラウザで動かしてみて、どうなるかもチェックしてみた。audio周りの実装は各ブラウザでまちまちなようなので動きかかなり異なるようだが、どうか。

HTML5のAudioオブジェクトとJavaScriptで作った簡易ドラムマシン

これはオーソドックスなドラムマシン。音色はTR-909っぽい音。

各ブラウザで再生した結果

ブラウザ結果
Firefox 6.0リズムのもたつきなどは特になし。Release Gateも動作。しかしスネア音の後に小さくハイハット音が。。
Chrome 13Release Gateの動きがおかしく、ならない音が発生。
IE9鳴らない音がある。
Opera11.5テンポがおかしい。
Safari5.1鳴らない音あり。

HTML5 AudioとJavaScriptで作った簡易ドラムマシン (jsfx バージョン)

jsfxを使って、各音色がエディットできるようになっているバージョン。音色はチップチューンのような音。このjsfxというのがなかなかすごいライブラリである。音色データを元にオーディオデータをdata-uriを使って作成し再生している。

各ブラウザで再生した結果

ブラウザ結果
Firefox 6.0リズムのもたつきなどは特になし。Release Gateも動作。
Chrome 13鳴らない音がある。
IE9動作しない。
Opera11.5テンポがおかしい。
Safari5.1鳴らない音あり。

BeatKeep

ドラムマシンとして機能が豊富。選べるドラムの音色がすごく多い。ボリュームもトラック単位ではなく、ノート単位で設定できる。自分で作ったリズムパターンを保存できるが、Facebookアカウントが必要。

各ブラウザで鳴らしてみた結果

ブラウザ結果
Firefox 6.0画面が崩れ、音が鳴らない。
Chrome 13リズムがもたつく。
IE9問題なく再生。
Opera11.5音が鳴らない。
Safari5.1テンポがおかしい。

HTML5 Drum Kit

オーソドックスなドラムマシン。音色はTR808っぽい。

各ブラウザで鳴らしてみた結果

ブラウザ結果
Firefox 6.0リズムが少しもたつく。
Chrome 13発音タイミングがずれる。
IE9比較的問題なく再生。
Opera11.5発音タイミングがずれる。
Safari5.1リズムが少しもたつく。

Patternsketch

オーソドックスなドラムマシン。Drum Kitは9種類から選択できる。シーケンスのWaveデータへのエキスポートやパターンの保存が可能。

各ブラウザで鳴らしてみた結果

ブラウザ結果
Firefox 6.0リズムが少しもたつく。
Chrome 13リズムが少しもたつく。
IE9ページがちゃんと表示されない。
Opera11.5発音タイミングがずれる。
Safari5.1発音タイミングがずれる。

まとめ

やはりブラウザによってかなり挙動が異なりますな。。canvasなんかは比較的互換性が高いのに。。audioは冷遇されてますな。。

またリズムやテンポがブラウザやPCの状態によってかなり揺れる。私のPCはWindows7 Ultimateであるがそのせいもあるかも。残念ながら安定したリズムキープができないので実用的ではないな。。このあたりはHTML5で音楽アプリを作っていく上での課題ですな。。