<commit_before>>>主なコマンド

cdefgab　音符高さ：ドレミファソラシ
　　　　大文字は半音上げ
r 　　　休符
数字　　音符,休符の長さ。（省略で１拍。）
a2.5　　a2.5で音符aを２拍半。

~　　　　タイ。
　　　　a0.5 ~bcでa1.5b1c1と同じ
　　　　a0.5 ~2bcでa2.5b1c1と同じ
/abc/　　連符。abcを一拍に入れ三連符にする
/2:abc/　abcを二拍に均等に入れ三連符にする
/*120:abcd/　abcdを120tickに均等に入れ連符にする
+　　　　オクターブ上げる
-　　　　オクターブ下げる
>　　　　テンポ下げる
>　　　　テンポ上げる
(tempo:120) テンポを数値で設定
v60　　　ベロシティを60に設定（0~127）
(p:piano)　このトラックの音色をピアノに設定
(x:64)　　音符高さをmidiノート番号６４に指定
(pan:>40)　パンポットを右に40で設定
(pan:<40)　パンポットを左に40で設定


>>その他のコマンド

[abc]4　　abcを4回繰り返す
|||　　　トラックの区切り
///　　　ページの区切り。
　　　　　a|||b|||c////d|||e|||f =>トラック１ad,トラック２be,トラック３cf
(g:80)　　音長に対する実際の長さの割合。ゲート８０に設定。
X:=abc　　マクロ'X'を設定。曲中のXはabcに置き換えられる。
　　　　　長いマクロ名は使用時に$X,${X}などと指定する。
macro X:=abc
　　　　　上に同じ。
(ch:2)　　midiチャンネルを２に設定
(cc:1,2)　midiコントロールチェンジ
a*120　　音符aの長さを120tickにする
#　　　　コメント
&(00 00)　midiデータを１６進数で直接書き込む
(loadf:file.mid,2) 外部midiファイルfile.midのトラック2を読み込む。編集はしない。このトラックはほかのデータを含まない。
;　　　　改行と同じ
空白　　　読み飛ばす
_snare!　drum kitからsnareという文字を探して選択し鳴らす。


>>その他

変換の順序
　ページ、トラックの分割、連結 >> コメント取り除き >> マクロ設定、置換 >> 繰り返し処理 >> 音データ変換<commit_msg>midi: syntax jp+<commit_after>>>主なコマンド

cdefgab　音符高さ：ドレミファソラシ
　　　　大文字は半音上げ
r 　　　休符
数字　　音符,休符の長さ。（省略で１拍。）
a2.5　　音符aを２拍半。

~　　　　タイ。
　　　　a0.5 ~bcでa1.5b1c1と同じ
　　　　a0.5 ~2bcでa2.5b1c1と同じ
/abc/　　連符。abcを一拍に入れ三連符にする
/2:abc/　abcを二拍に均等に入れ三連符にする
/*120:abcd/　abcdを120tickに均等に入れ連符にする。（誤差は調整される）
+　　　　オクターブ上げる
-　　　　オクターブ下げる
>　　　　テンポ下げる
>　　　　テンポ上げる
(tempo:120) テンポを数値で設定
v60　　　ベロシティを60に設定（0~127）
(p:piano)　このトラックの音色をピアノに設定
(x:64)　　音符高さをmidiノート番号６４に指定
(pan:>40)　パンポットを右に40で設定
(pan:<40)　パンポットを左に40で設定


>>その他のコマンド

[abc]4　　abcを4回繰り返す
|||　　　トラックの区切り
///　　　ページの区切り。
　　　　　「いちぺーじ|||b|||c////にぺーじ|||e|||f」
　　　　　は 
　　　　　「(トラック１)いちぺーじ;にぺーじ|||(トラック２)be|||(トラック３)cf」
　　　　　と変換される。
(g:80)　　音長に対する実際の長さの割合。ゲート８０に設定。
X:=abc　　マクロ'X'を設定。曲中のXはabcに置き換えられる。
　　　　　長いマクロ名は使用時に$X,${X}などと指定する。
macro X:=abc
　　　　　上に同じ。
(ch:2)　　midiチャンネルを２に設定
(cc:1,2)　midiコントロールチェンジ
a*120　　音符a,長さ120tick
#　　　　コメント行
&(00 00)　midiデータを１６進数で直接書き込む
(loadf:file.mid,2) 外部midiファイルfile.midのトラック2を読み込む。編集はしない。このトラックはほかのデータを含まない。
;　　　　改行と同じ
空白　　　読み飛ばす
_snare!　drum kitからsnareという文字を探して選択し鳴らす。


>>その他

変換の順序
　ページ、トラックの分割、連結 >> コメント取り除き >> マクロ設定、置換 >> 繰り返し処理 >> 音データ変換
midiチャンネルの指定がなければ自動で順番に割り当てられます。１６トラック以上にならない場合は考える必要はないでしょう。
同じチャンネルを使っているトラックが複数ある場合、音色切り替えが影響されます。
ドラム音はその音のみドラムチャンネルが使われます。
チャンネル指定などは内部データを使うのでドラムチャンネル１０指定は(ch:9)となります。変更するかも。
tickを使う場合はずれは生じません。小数を使う場合現状では丸め誤差が調整されません。
分解能により４８０＊０．３３＝１５８．４ということでこの場合一回につき0.4tick、１００回繰返すと４０tick(12分の一拍分)のずれとなります。
a0.333b0.333c0.333
こうすると繰り上がって正確に160,160,160tickの三連符になります。しかしまあ気持ち悪い。
現状では以下のようにすれば誤差は調整されます。
　/abc/　３連符
　/ababaca/ 7連符
　/2:aaaaccccbbbbdddde/ 二拍の中に１７連符
  　この場合誤差の合計が８tickになりますが７音分について1tickずつ引きます。midiデータとして正確にしたいなら分解能を連符の倍数にする以外ない。
連符内は相対的な長さなので以下はおなじ。
 /abc/
 /a2b2c2/
{'fraction_non_alphanumeric': 0.1292466765140325, 'fraction_numerical': 0.07607090103397342, 'mean_word_length': 5.19908466819222, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 38, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1753721', 'n_tokens_mistral': 2536, 'n_tokens_neox': 2442, 'n_words': 176}