MIDI(SMF)ファイルを読み込みキーボード入力を行うアプリケーション。
ここでのキーボードとはMIDI入力機器のキーボードではなくパソコンのキーボードのこと。
主な機能
- MIDI(SMF)ファイルをキーボード入力として再生
- MIDI入力機器のキーボード入力をパソコンのキーボードに変換する
- 音階に対するキー設定
Key sequencerの全ての配布物はCC0の下で利用可能。
Windows10で動作を確認。
使用APIから判断するとWindows Vista以降で動作すると思われる。(未確認)
CPUもメモリもごくわずかしか使用しないため、Windows Vista以降が動いているハードウェアであれば問題ない。
MIDI(SMF)ファイルを読み込むとメモリに全て乗せるので超巨大なMIDI(SMF)ファイルを読み込むときは注意が必要。
GitHubのReleasesよりダウンロード可能。
(Microsoft Visual Studio Community 2019でビルドしたものでUnicode文字セット版)
次のどちらかをダウンロードする。(vX.Y.Zの部分は実際のファイルではバージョン番号となる)
- key_sequencer-vX.Y.Z-x86.zip
- 32bit版 (どちらが良いかよく解らなければこちらを使う)
- key_sequencer-vX.Y.Z-x64.zip
- 64bit版
zipファイルにはそれぞれ実行ファイルが2つ含まれる。
- key_sequencer.exe
- 通常版
- key_sequencer_full_note.exe
- 全ノート対応版
- 通常版で音階が足りない場合はこちら
実行ファイルを任意のフォルダに配置する。
アプリケーションを起動すると実行ファイルと同じフォルダに、実行ファイルの拡張子を.iniに変えた設定ファイルが作成される。
実行ファイルと設定ファイル(.ini)を削除する。
- その他のファイルの書き込みは行っていない。
- レジストリへの書き込みは行っていない。
MIDI(SMF)ファイルを読み込み、キー自動入力とテスト再生で使用できる状態にする。
- 実行ファイル(exe)に対してMIDI(SMF)ファイルをドラッグ&ドロップして起動する
- 実行中のウィンドウにMIDI(SMF)ファイルをドラッグ&ドロップする
読み込みが成功するとウィンドウ上にファイル名が表示される。
ウィンドウ上の「キー設定」ボタンを押すとキー設定用ウィンドウが開かれる。 各ノートに対するキーと、アプリケーションが使用するホットキーに対して以下の手順でキーを割り当てる。
- 変更したい対象の変更ボタンを押す
- 割り当てたいキーをキーボードで入力
- 確定ボタンを押下
- 既に同一のキー設定が他で使われていた場合、元々設定されていた方のキー設定をクリアする
- キーボードで入力せず確定ボタンを押すとキー設定をクリアする
- 確定を押さずキャンセルを押すとキー設定を変更せず戻る
ノート表記のラジオボタンで、アプリケーション内の音階の表記を国際式とヤマハ式で切り替え可能。
読み込んだMIDI(SMF)ファイルの内容に従い、キー設定で設定したキーを入力する。
- キー設定の「Hotkey: 再生/停止」で設定したキーを押すと再生を開始
- 再度同じキーを押すと再生を停止
- キー設定の「Hotkey: 全停止」で設定したキーを押すことでも停止可能
読み込んだMIDI(SMF)ファイルを音声で再生する。
- ウィンドウの「MIDIファイルテスト」ボタンを押すと再生を開始
- ウィンドウの「停止」ボタンを押すと再生を停止
- キー設定の「Hotkey: 全停止」で設定したキーを押すことでも停止可能
MIDI入力機器から入力を受け取り、キー設定で設定したキーを入力する。
- キー設定の「Hotkey: MIDI入力」で設定したキーを押すと入力受け取りを開始
- 再度同じキーを押すと入力受け取りを終了
- キー設定の「Hotkey: 全停止」で設定したキーを押すことでも停止可能
MIDI入力機器は現在一つだけ対応している。(複数接続されている場合はPCが最初の1つと認識しているものを使用する)
- 通常版では音階はC3 ~ C6のみを対象とする(他の音階は全て無視)
- 全ノート対応版はMIDI(SMF)が扱う全ての音階を対象とする
- フォーマット0、フォーマット1のみ対応(フォーマット2は非対応)
- チャンネル0のみを対象とする(他のチャンネルは全て無視)
キー入力を受け取るアプリケーションがより確実に修飾キーを拾えるよう修飾キーを含めたキー設定がされているノートのONでは以下の動作としている。
- 修飾キーダウンはノートONの少し前のタイミングで行う
- 修飾キーアップはノートONの少し後のタイミングで行う
- 同一修飾キーを使用するノートONが短時間に連続する場合1回の修飾キーダウンとアップにまとめる
修飾キーはキーダウンに対して有効な物であり、キーアップには影響を及ぼさないという考えから、キーアップを待たずに修飾キーアップする。
また、異なる修飾キーを設定したノートONが時間的に近くに存在すると意図した動作にならない可能性が高いため、
そのようになるSMFデータやキー設定は避けること。
もし使用した場合は修飾キーそれぞれに対して以下の動作となる。
- 修飾キーを伴うノートONに対して、その1つ前のノートONが修飾キーを伴わず、修飾キーダウンより後に存在する場合、修飾キーダウンが両者のノートONの中間に移動する
- 修飾キーを伴うノートONに対して、その1つ後のノートONが修飾キーを伴わず、修飾キーアップより前に存在する場合、修飾キーアップが両者のノートONの中間に移動する
使うことを推奨はしないが、これらの修飾キー制御のタイミングは設定ファイルにより変更可能。
.iniファイルセクション | .iniファイルキー | 説明 |
---|---|---|
Optional | ModifierKeyDelayMilliseconds | 設定した時間(ミリ秒)だけノートONから前後して修飾キーのダウンとアップを行う |
Optional | ModifierKeyDownJoinMilliseconds | 連続する2つのノートON間がこの時間内の場合、両方でONになっている修飾キーのダウンとアップをまとめる |
GitHubで公開
GitHubにはバージョン2.0.0から移行した。
以前の公開場所( https://ku6.jp/key_sequencer/ )はアクセスすると上記のGitHubにリダイレクトする。
アプリケーションを自身でビルドしたり改変したりする場合はこちらを参照。