Skip to content

ku6-jp/key_sequencer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Key sequencer

MIDI(SMF)ファイルを読み込みキーボード入力を行うアプリケーション。
ここでのキーボードとはMIDI入力機器のキーボードではなくパソコンのキーボードのこと。

主な機能

  • MIDI(SMF)ファイルをキーボード入力として再生
  • MIDI入力機器のキーボード入力をパソコンのキーボードに変換する
  • 音階に対するキー設定

ライセンス

Key sequencerの全ての配布物はCC0の下で利用可能。

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)ファイルを読み込む

MIDI(SMF)ファイルを読み込み、キー自動入力とテスト再生で使用できる状態にする。

  • 実行ファイル(exe)に対してMIDI(SMF)ファイルをドラッグ&ドロップして起動する
  • 実行中のウィンドウにMIDI(SMF)ファイルをドラッグ&ドロップする

読み込みが成功するとウィンドウ上にファイル名が表示される。

キー設定

ウィンドウ上の「キー設定」ボタンを押すとキー設定用ウィンドウが開かれる。 各ノートに対するキーと、アプリケーションが使用するホットキーに対して以下の手順でキーを割り当てる。

  1. 変更したい対象の変更ボタンを押す
  2. 割り当てたいキーをキーボードで入力
  3. 確定ボタンを押下
    • 既に同一のキー設定が他で使われていた場合、元々設定されていた方のキー設定をクリアする
    • キーボードで入力せず確定ボタンを押すとキー設定をクリアする
    • 確定を押さずキャンセルを押すとキー設定を変更せず戻る

ノート表記のラジオボタンで、アプリケーション内の音階の表記を国際式とヤマハ式で切り替え可能。

キー自動入力

読み込んだMIDI(SMF)ファイルの内容に従い、キー設定で設定したキーを入力する。

  • キー設定の「Hotkey: 再生/停止」で設定したキーを押すと再生を開始
    • 再度同じキーを押すと再生を停止
    • キー設定の「Hotkey: 全停止」で設定したキーを押すことでも停止可能

テスト再生

読み込んだMIDI(SMF)ファイルを音声で再生する。

  • ウィンドウの「MIDIファイルテスト」ボタンを押すと再生を開始
    • ウィンドウの「停止」ボタンを押すと再生を停止
    • キー設定の「Hotkey: 全停止」で設定したキーを押すことでも停止可能

MIDI入力

MIDI入力機器から入力を受け取り、キー設定で設定したキーを入力する。

  • キー設定の「Hotkey: MIDI入力」で設定したキーを押すと入力受け取りを開始
    • 再度同じキーを押すと入力受け取りを終了
    • キー設定の「Hotkey: 全停止」で設定したキーを押すことでも停止可能

MIDI入力機器は現在一つだけ対応している。(複数接続されている場合はPCが最初の1つと認識しているものを使用する)

仕様

音階

  • 通常版では音階はC3 ~ C6のみを対象とする(他の音階は全て無視)
  • 全ノート対応版はMIDI(SMF)が扱う全ての音階を対象とする

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にリダイレクトする。

開発情報

アプリケーションを自身でビルドしたり改変したりする場合はこちらを参照。