プチコロイドと勝手に名乗ってるだけです。
プチコロイドは各自で好きなように改良してくれて結構です。
■PetitcoLOID Language(PLL)α3の記法
・文字列出力機能
発音文字列の後に[]で囲った文字列を定義すると、[]内の文字列がPS$に格納されます。
[]文字列が定義されていない場合空文字列が返る
休符の場合にも、発音文字列は入力せずに、出力文字列を定義できる
これを使用すれば特定のタイミングで、文字列を取得できる
(たとえば歌詞表示や、なんらかのコマンドを定義しておいて動作を行うなどに使える)
・PL$末尾の休符が飛ばされる問題を改善
・VSYNC補正
PW(待機フレーム数)に端数がある場合に、それを蓄積し、
1以上になったときにPWを長くする補正機能追加
BPMが半端でも、どんどん速くなっていくことはなくなったはず?
■PetitcoLOID Language(PLL)α2の記法
基本的にはα1と同じで、以下の機能が追加されています。
・休符の追加
音階に休符(R)を指定可能です。休符を指定した場合は、発音文章を記述しないでください。
・末尾の長音の自動追加
変数PHF=1としておくと、末尾に音長に応じた長音が自動的に付加されます。
したがって、α1では"C4ドーーーD4レーーーE4ミーーー"としていたのを、
α2では"C4ドD4レE4ミ"という記述で同じ発音ができます。
【既知のバグ】
PL$末尾に休符があっても休まない(α1も)
新機能ではないですが、BPMとズレが発生しない音長の対応表を作りました。
BPM | 全音符(1) | 2分音符(2) | 1分3連符(3) | 4分音符(4) | 2分3連符(6) | 8分音符(8) | 4分3連符(12) | 16分音符(16) | 8分3連符(24) |
50 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
60 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
72 | ○ | ○ | × | ○ | ○ | × | × | × | ○ |
80 | ○ | ○ | ○ | ○ | ○ | × | ○ | × | × |
90 | ○ | ○ | × | ○ | × | ○ | × | ○ | × |
96 | ○ | ○ | ○ | × | ○ | × | × | × | × |
100 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
120 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | × | ○ |
150 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
160 | ○ | ○ | ○ | × | ○ | × | ○ | × | × |
180 | ○ | ○ | × | ○ | × | ○ | × | ○ | × |
192 | ○ | × | ○ | × | × | × | × | × | × |
200 | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
225 | ○ | ○ | × | ○ | × | ○ | × | ○ | × |
240 | ○ | ○ | ○ | ○ | ○ | × | ○ | × | × |
■PetitcoLOID Language(PLL)α1の記法
以下の順番で構成されています。
正規表現的に書くと多分↓
([<>]?[A-G][+#-]?[1-9][0-9]*\.*[|_.?!/'ヲ-゜]+)*
1つ発音させるためには、
(オクターブ移動)(音階)(音長)(発音文章)で1セットです。
オクターブ移動は<>での相対移動のみ可能で、移動しない場合は省略してください。
音階はCDEFGABで、+#-を1つ指定して半音上げ下げできます。
休符(R)は無いので、前の音を長くするか、発音文章を"_"のみにする等して対応してください。
音長は理論上1以上の数値なら指定できますが、99とか指定してもまともに動かないと思います。
一応付点も何個でもつけれるとは思いますが、テストしてません。
発音文章は、カナ文字意外に、TALKで使用可能な奴は一応そのまま使えると思います。
PTMPで一応BPM指定出来ますが、MMLとかとの同期まではまだ考慮していないので、
早さが変わるだけだと考えてください。
その他連絡等あれば、ツイッター@_sou51_まで