- Demo
- 音を鳴らすには、Usageを参照ください
- webpageを開くだけでMIDI楽器を鳴らせます
- バックグラウンドでスロットリングされない
- ソースコードをテンプレートとして利用しやすい、小規模、シンプル、easyな構成
- Windows + loopMIDI + ブラウザ
- 物理
Midi Device
を鳴らせる場合は、loopMIDIなしでもOK - 他の環境でも、
Midi Device
さえあれば利用可能な想定です - Chromeで動作確認しています
- 物理
- loopMIDIのinstallと、port設定
- portは一つ
+
ボタンで登録すれば十分です。 - うまくいかない場合はOS再起動もお試しください。
- portは一つ
MIDI楽器
の接続- Shared Piano など、
Web MIDI
を受信できるアプリを開いておきます
- Shared Piano など、
- 演奏
- あとは当アプリを開くだけで演奏されます
clone
のちソースを開いてLive Server
を立ち上げる等で、すぐ改造できます
Web MIDI
の先頭portにNote On
を送信します- Shared Piano を開いておけばすぐ音が出て確認できます
- (Shared Pianoは
Web MIDI
を受信できます)
- (Shared Pianoは
- Shared Piano を開いておけばすぐ音が出て確認できます
- Web Audio / Web MIDI にまつわる時間管理の話(3) - メトロノームからMBT時刻の取得まで のコードを参考にしました。toyosim氏に感謝します。
- ときどきスロットリングされます。そのときは表にしばらく表示していると解決するようです。再現性不明。Chromeの仕様変更かもしれません。
- テンプレートとしてのソースコード利用を楽にすることを優先しています。
- 逆を言えば、
Midi Device
からの入力を受け付けるアプリ(MIDI IN
のあるアプリ)なら、なんでも鳴らせます- 代表は Shared Piano
- 以下は今後の課題です
- ドロップダウンリストで選択(Shared Pianoの
Midi Device
設定のように) - 自動設定
- 例えば当アプリを
seq_out
という識別子で識別として、それを含むportをデフォルトで設定する
- 例えば当アプリを
- ドロップダウンリストで選択(Shared Pianoの
MIDI OUT
する- webpageを開くだけで演奏開始する
- 連続的に
Note On
を送信する - シンプルで利用しやすいソースコードにする
- 演奏規模は最低限にする、例えばド、ミ、ソのランダムフレーズ
- 鳴らなくなったら、できるだけ鳴るように行動することを優先します
Web MIDI
未対応ブラウザや、Midi Device
を検出しなかった場合に、Web Audio
で代替の音を鳴らす方法の検討と実装と提供Web MIDI
未対応ブラウザの調査と対応- webpageを開くだけで
Note On
送信開始してよいものか?ユーザー操作を待つことを必須にするか?お作法は?などの調査と考察 - スロットリング問題の調査と解決
Note On
以外のMIDIメッセージ
の送信サンプル和音
を鳴らす、ch.1だけでなくch.2~ch.16で鳴らす、複数MIDI portを利用して32ch.演奏
する、その他豊富なDemo Songs
、別のフレーズにする、フレーズを洗練する、その他- 鳴らす楽曲データをtextarea等から
edit
可能にする スタンダードMIDIファイル
を鳴らすMML
を鳴らすコード進行
を鳴らす(chord2mmlで生成 )- その他、各種音楽ファイルを鳴らす