- Demo
- 音を鳴らすには、Usageを参照ください
- 開発者用のシンプルなテンプレート
- webpageを開くだけでソフトシンセを鳴らせます
- Tone.jsにより、リッチな音色を簡単に実装できます
- ソースコードをテンプレートとして利用しやすい、小規模、シンプル、easyな構成
- 音を鳴らすには:
- Windows + loopMIDI + ブラウザ
- 物理
MIDIキーボードやシーケンサがあれば、loopMIDIなしでもOK - Chromeで動作確認しています
- 物理
- Windows + loopMIDI + ブラウザ
- 開発するには:
Node.js
- 音を鳴らすには:
- loopMIDIのinstallと、port設定
- portは一つ
+ボタンで登録すれば十分です。 - うまくいかない場合はOS再起動もお試しください。
- portは一つ
MIDIシーケンサの接続- Easy Web MIDI Sequencer など、
Web MIDIを送信できるアプリを開いておきます
- Easy Web MIDI Sequencer など、
- 演奏
- あとは当アプリを開いて
playボタンをクリックすれば演奏されます
- あとは当アプリを開いて
- loopMIDIのinstallと、port設定
- 開発するには:
Node.jsをinstallしてください- 当アプリのinstallは
npm -i - 開発は
npm run dev
Web MIDIのすべてのportからNote Onを受信します
- テンプレートとしてのソースコード利用を楽にすることを優先しています。
- ですので、最低限のシンプルなシンセのソースコードを用意しています。
- 逆を言えば、
MIDI OUTできるwebpageがあれば、なんでもOK、当アプリを鳴らせます物理MIDI鍵盤や、DAWのMIDI OUTなどもOK
- 以下は今後の課題です
- ドロップダウンリストで選択(Shared Pianoの
Midi Device設定のように) - 自動サジェスト
- Shared Pianoを踏襲する。なので、自動設定まではしない。
- かわりに、サジェストにとどめる。
- 例えば当アプリを
synth_inという識別子で識別として、それを含むportをわかりやすくドロップダウンリストの上位に表示する。 - ドロップダウンリストのメニューとしては、
- 先頭とデフォルトはShared Pianoを踏襲して
All inputsとする - 次に
Auto : ~、例えばAuto : seq_out ___ synth_in - その次に、今あるportを列挙
- 末尾はShared Piano同様
None- MIDI IN以外に入力のない当アプリの場合は鳴らす手段がなくなる。Shared Piano踏襲を優先する。
- 先頭とデフォルトはShared Pianoを踏襲して
- Shared Pianoを踏襲する。なので、自動設定まではしない。
- ドロップダウンリストで選択(Shared Pianoの
MIDI INからNote Onを受信する- シーケンサ演奏開始し、webpageを開き、
playボタンを押すだけで、音が鳴る - シンプルで利用しやすいソースコードにする
- 例えばシンプルな
Sine Wave
- 例えばシンプルな
- 鳴らなくなったら、できるだけ鳴るように行動することを優先します
- 鳴らすための調査をしやすくするためにも、シンプルで小規模なソースコードにします
Web MIDI未対応ブラウザや、Midi Deviceを検出しなかった場合に、代替の入力を得る方法の検討と実装と提供Web MIDI未対応ブラウザの調査と対応Note OnNote Off以外のMIDIメッセージの受信サンプル- 今後、
Control Change 74(カットオフ周波数)は対応予定- 用途は、
Easy Web MIDI KnobからのCC74受信のサンプル用
- 用途は、
- 今後、
和音を鳴らす、ch.1だけでなくch.2~ch.16を識別して別の音色を鳴らす、複数MIDI portを利用して32ch.演奏する、その他豊富なプリセット音色、別の音色にする、音色を洗練する、その他- 音色データをtextarea等から
edit可能にする スタンダードMIDIファイルやMMLほか各種音色データを音色ライブラリとして利用可能に