Skip to content

Korilakkuma/Web-Music-Documentation

Repository files navigation

Web Music Documentation

Node.js CI License: MIT

Web Music Documentation は, Web ブラウザでシンセサイザーや DAW などの音楽アプリケーションを制作したいという Web ディベロッパーのための有益なドキュメントとなることを目指して制作しています.

ドキュメント制作に関して

Web はアプリケーションプラットフォームにもなっていますが, この Web サイトはあくまでドキュメントであるということを重視して, Web 標準技術のみで制作することを原則とします.

Web 標準技術は以下の 3 つです.

  • HTML 5.x 以上
  • CSS 3.x 以上
  • JavaScript (ES2015 以上)

したがって, HTML テンプレートや, TypeScript, React などサードパーティ製のライブラリやフレームワークは使いません. その代償として, どうしても DRY の原則に従えないなどの問題もありますが, サードパーティ製のプロダクトに依存せずに, Web 標準技術のみで制作することを原則とすることで, Web フロントエンドの技術的パラダイムに影響されずに, 半恒久的にメンテナンス可能なドキュメントを目指します.

また, 現状では, GitHub Pages (静的ホスティングサービス) にデプロイしていますが, GitHub Pages が利用不可能になったとしても, 代替の静的ホスティングサービスで同様にデプロイすることができるように, 特定の (クローズドな) サーバー環境やサーバーサイドプログラムに依存しないことを原則とします.

ただし, 例外的に, 以下の 2 つのケースはサードパーティ製のライブラリを使うことにしています.

  • シンタックスハイライト
  • 数式

制作開始時点では, シンタックスハイライトは Prism.js, 数式は MathJax を利用しています.

ドキュメント制作環境に関して

ローカルサーバーのために, server.js を置いていますが, 例えば, Python の http.server でローカルサーバーを起動してもドキュメント制作可能にしています. つまり, どんな方法でもローカルサーバーを起動できれば, ドキュメント制作可能にしています. Docker などを利用しても構いませんが, 原始的な手法で制作可能にすることを原則とします (また, この運用によってドキュメント制作方針と同様に, サードパーティ製のパッケージへの依存度を下げます).

そのほか, Web アクセシビリティに準拠するため, HTML と CSS には Linter を使っています.

また, 現時点では不要と考えていますが, コントリビューターが増えた場合を考慮して, フォーマッターを使っています.

ドキュメント制作環境に必要なパッケージは, ドキュメント制作に使うものより多少緩くしていますが, 選定基準として, それがなくてもドキュメントの制作・運用を続けることができることを原則とします (例えば, Linter やフォーマッターはなくても制作は可能).

生成 AI によるドキュメント作成に関して

現段階では, 生成 AI によって作成したドキュメントは公開していません (概念図的なイラストは除く). また, コントリビューターも, 生成 AI によって記述されたドキュメントはコントリビュートしないでください.

理由は以下です

  • このドキュメントは, ドキュメントを生成することが目的ではない
  • Web Audio API や音響学, オーディオ信号処理を理解して, ドキュメント化できることをコントリビュートの条件とする

ただし, 制作したドキュメントの内容に関して, 検証のために生成 AI を利用することは問題ありません. また, 説明を補助するための概念的なイラストに関しては, 生成 AI の利用を許可します.

ドキュメントでの音源に関して

ワンショットオーディオ

音楽素材/魔王魂で公開されているフリー楽器音を利用させていただいております.

楽曲データ

シューベルト 交響曲 第8番 ロ短調 D759 「未完成」 第1楽章 (X JAPAN の「ART OF LIFE」のモチーフになっています) を CMSL クラシック名曲サウンドライブラリー【ライセンスフリー素材音源 700曲】 からダウンロードして利用させていただいております (クロスオリジン制限回避のため, 同一オリジンで公開する必要があるので).

About

Web Music Documentation for Web Audio API, Web MIDI API ... etc

Topics

Resources

License

Stars

Watchers

Forks

Contributors