diff --git a/docs/docs.css b/docs/docs.css index 692deec..81507a9 100644 --- a/docs/docs.css +++ b/docs/docs.css @@ -30,7 +30,8 @@ main { } h1, -h2 { +h2, +h3 { padding: 0; margin: var(--base-margin) 0; } diff --git a/docs/index.html b/docs/index.html index 77cdc54..9dff7e4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -56,6 +56,47 @@

Web Music

です (例えば, Web Music の API は Node.js で使うことはできません. また, Web ブラウザでも Web Workers が生成したスレッドでは, UI スレッドと実行コンテキストが異なるので使うことができません). +
+

Web Audio API

+

+ Web Music のなかで, もっともコアな API が Web Audio API です. 言い換えると, Web + をプラットフォームとした音楽アプリケーションを制作するほとんどの場合で必要になる API ということです. なぜなら, HTMLAudioElement + はオーディオファイルを再生するための API で, 高度なオーディオ処理をすることはできず (厳密には, + jsfx + のようにハッキーな実装をすることでエフェクトをかけるぐらいは可能ですが, 仕様のユースケースとして想定されている使い方ではありません), + リアルタイム性やインタラクティブ性も考慮された API ではないからです (厳密には, 考慮された経緯もあって, + Audio コンストラクタが定義されています). また, Web Music として, Web MIDI API や WebRTC を使う場合, 実際のオーディオ処理は Web Audio API + が実行することになります. +

+
+

ブラウザ Audio API の歴史

+

+ 古くは, IE (Internet Explorer) が独自に, bgsound というタグを実装しており, ブラウザでオーディオをファイルを再生することが可能でした + (現在の HTMLAudioElement に相当するタグと言えます). その後, Java アプレットや ActionScript (Flash) によって, 現在の Web Audio API + で実現できているような高度なオーディオ処理が可能となりました. +

+

+ しかし, これらは特定のベンダーに依存し, また, ブラウザの拡張機能 (プラグイン) という位置づけでした. Web 2.0 (もっと言えば, Ajax) を機にブラウザでも, + ネイティブアプリケーションに近いアプリケーションが実装されてくるようになると, これまで拡張機能 (オーディオ処理だけでなく, + ストレージやローカルファイルへのアクセス, ソケットなど) に頼っていたような機能をブラウザ標準で (クライアントサイド JavaScript API で) + 実現できる流れが 2010 年ごろから活発になりました (このころ, HTML5 という位置づけで仕様策定され, モダンブラウザで実装されるようになりました). + そういった流れのなかで, Web Audio API も仕様策定されて現在に至っています (草案 (Working Draft) が 2011 年 12 月 15 日 に公開. 2021 年 6 月 17 日に勧告 (W3C recommendation + で現在の最新バージョン). +

+
+ +