プログラミング > MML楽譜変換


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Twitterとかでちょっとしたフレーズをうpしたい、
けれど五線紙なんて手元にないしペイントで作ってられないし
MIDIシーケンサとかあるけどスクショから画像つくるのも面倒臭いし…
という一部の人(含:私)のニーズにこたえるプログラムを組みたい。

仕様

  • オンラインで動作する

 twitterと連携したいから、オンラインで動くとみんな使えてハッピー。

  • 画像は保存できる

 せっかくだからフレーズメモとして保存しておけるとハッピー。

  • 作ったデータは即消去される

 サーバへの負担とか、著作権的ななにかも回避できるとハッピー。

コマンド

  • テンポ

 「t120」とか打てばその楽譜上そのタイミングに「♩=120」とかでてくるイメージ。

  • オクターブ

 「o3」と打つとト音記号が出てくる。
 「o2」と打つとヘ音記号が出てくる。
 「o+」と打つと上に「8va...」みたいなのが出てくる。
 「o-」と打つと下に「8va...」みたいなのが出てくる。

 「q3/4」とか打てば五線譜上に「3/4」の拍数が出てくるイメージ。

  • 調

 「k5」とか打つと五線譜上最初に「#####」と出てくるイメージ。

  • 音符、休符

 「cdefgab」でドレミファソラシの音符配置。「r」で休符。

  • 音長

 「l(小文字のL)8」でデフォルトの音の長さを8分音符にする。
 音符や休符の直後に数字でその音符だけ長さを指定する。
 「c12」とか打つと4拍を12分割した音符=3連四分音符。

  • 臨時記号(#、♭、♮)

 「c+」とか「g-」で#と♭を。「c++」で全音上げるか?
 「c=」で♮にしておく。

  • 小節区切り、演奏記号(ループ|:~:|)

 「|(縦棒)」で小節の縦線。直後に拍コマンドとかテンポとか打てばいい感じ。
 「|:」はループ範囲の開始線、「:|」はループ範囲の終了線。

  • タイ、スラー

 「&」を二つの音符の間に挟むと、記号の左右の音符をつなぐように括弧がでてくるイメージ。

  • グルーピング

 「(」と「)」でフレーズをグルーピングできるイメージ。楽譜上の効果は特にない。
 二つのパートを並べたい時(メインメロの上パート、下パート)とか使用できる予定。

  • 和音(重ね合わせ)

 「{」と「}」のペアで同時に鳴らす音符とかを指定する。
 「{ceg}」でデフォルト音長でドミソを配置。
 グルーピングされたフレーズも配置できる。
 このばあいグループのフレーズ長は同じでないといけない。
 「{(l8cc)(e4)(g4)}」でドが八分、ミとソが四分の和音。

実装というか動作というか

ほとんど書いたコマンドの並びで出てくるのでアセンブラと一緒。
変な順番で並べれば変な順番の通りに楽譜に変換される。察してはくれない。

  • 基本のオクターブと楽譜の記号

 何も指定しないで書き始めるとト音記号の譜面になる。
 縦線の直後にオクターブ指定「|o3k-1」とか指定すると自然な譜面になりそう。

  • 画像の作り方

 音符とかフォントにまとめてテキスト描画で描画するか
 透明度付きPNGをぺたぺた合成して描画するか
 それは実装時の気分次第。

ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。