« 太鼓化 | トップページ | 太鼓MMLの仕様 »

2019年11月20日 (水)

太鼓の勉強

伊勢ギークのまであと三日だというのに、この期に及んで太鼓の勉強である。
ふむふむ太鼓の楽譜っていうのがあるのか。楽譜に沿ってPCで音を出せば、太鼓だけの曲が演奏できそうだ。
バイナリデータみたいなものを用意して、それに沿って演奏するのが簡単だが、バイナリデータはデータを作るのが面倒だ。太鼓専用のMMLを作ろう。

ドン=面打ちを○、カッ=胴打ちを×と表すらしいので、MMLだとoとx、これに休符のrを加えて記述しよう。
このoxrに音長を表す数字を組み合わせて記述する。
ドンの四分音符だとo4、カッの16分音符ならx16となる。

char mmlAraijuku[] =
"o4o4o8x16x16x8x8 o8o4o8x16x16x8x8 o8x16x16x8x8o4x16x16x8x8 r8x8o8.o8x16x16x8x8"
"o8o4o8o8x16x16x8x8 o8o4o8o8x16x16x8x8 r8o4o8r8o4o8 r8o4o8o8x16x16x8x8";

リアルタイムにMMLを解析しながら演奏するのはめんどくさいので、演奏前にデータ変換を行なう。
演奏する手順はこんな感じになる。

char mmlBuf[1000];
mmlConv(mmlBuf, mmlAraijuku); // データ変換
mmlPlay(mmlBuf);

テキトーにコードを書いて演奏したところ、思ったよりカッコいい。伊勢ギーク用のテーブル筐体にも実装しておこう。
問題は伊勢ギークまであと四日ってことだな。

 

« 太鼓化 | トップページ | 太鼓MMLの仕様 »

電子工作」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 太鼓化 | トップページ | 太鼓MMLの仕様 »

最近のトラックバック