ところで私は最近ほとんどニコニコ動画を見ていない。3日に1回みたらいいほうだ。そしたらMSX律子でMMLを知りたいという方がいらっしゃったので公開します。
100 'save"MAHOU4.bas" 110 _INIT 120 _SAY(1,"P12S4KA-,GA-,P17MI-,P16S8NO,P14S4NA,S2KA-3") 130 _SAY(1,"P14S4TA-,ME-,P17I-,S4KI-,P16S8GA,P14S4HI-,P16TO,P12S2TSU-2") 140 _SAY(1,"P12S4KYO,P17O-,P16S8KA,P14S4SHO-,GA-,P16S8BO-,P17I,P19FU,RE-4,S8 ") 150 _SAY(1,"P14S8MI,N,P17S4NA,S8I,P14U,P14KE-,P12S3DO-4") 160 _SAY(1,"P12S4TU-,KU-,P16E-,P16S8NO,P14S4NA,S2KA-2") 170 _SAY(1,"P14S4KA-,KI-,P17KA-,S4KE-,P16S8NO-,P14RA-,BU,P16S4RE-,P12S2TA-2") 180 _SAY(1,"P12S4MA-,P17DA-,P16S8MI-,P14S4NU-,A-,P16S8NA,P17TA-,P19S2NI-2,S8 ") 190 _SAY(1,"P14S8O-,MO-,P17S4I,P21S8O,P19HA,P21SE-,P19S3RU-2") 200 _SAY(1,"P22S4TU-,MA-,RA-,P21NA-,P19S8I,P17S4KO-,P16DA-,P12TO-3,O-,P21MO-,P19U-,S8KA,P17S4SI-,S2RA-4,P19S8HO,N,TO,P21U-,P22S4WA") 210 _SAY(1,"P19S8コ,ノ,ム,P21S4ネ-,P19ノ-,P21S8ド,P19S8キ,ド,キ, ,P22サ,ガ,シ,S4タ-,P21イ-,P17ノ-,P19ニ") 214 _SAY(1,"P21S4KO-,I-,O-,S8YU,P22S4ME-,P21MI-,P19RU-,P17S8O,HI,ME,P16SA,P14MA-,P12S1WA-3") 230 _SAY(1,"P21S8 ,I,P19TU,P17S3KA-,S4 ,S8SU,P19S4TE,P21KI-,NA-,S8O-,P22U-,P21JI,P19SA-,P21MA-,S3P19NI-2") 240 _SAY(1,"P14S8ME-,P16GU-,P17RI-,P16A-,P14E-,P12S4RU-") 250 _SAY(1,"P21S4HA-,YA-,KU-,S8SO,P22S4N-,P21S4NA-,P19S8HI-,P17GA-,KI,MA,SU,P16YO-,P14U-,P12S1NI-2") 260 _SAY(1,"P21S8SO, ,P17S4TO-, ,S8HI,P19S4TO-,P21MI-,O-,S8TO,P22JI,P21RU,P19KA,S1RA-4") 270 _SAY(1,"P17S8MA,S4HOU-,P19O-,S8KA,P17KE,S2TE-2")
実機もっている人はこれを打ち込んでテンポずれずれでVideoStudio9で速さ変えまくってるのが分かるだろう。以下コマンドの説明。
P<数値>…音の高さ。設定範囲は1~24。C#~Cの2オクターブ。初期値は12(C)。
S<数値>…速度。範囲は1~8。大きいほど速い。初期値は4。
V<数値>…音量。範囲は1~8。初期値は8。
アルファベット、かな、カナ…ことばの内容。
n/x…「ん」を表します。
q…「っ」を表します。
ti,tu,fa,di,du…それぞれティ,トゥ,ファ,ディ,ドゥを表します。
,(カンマ)…言葉の区切り。これで区切ると一文節として扱われ、音程の調子が変化する。
(空白)…1音節文の間をおく。文節の区切りにならない。
?…文節の最後につけ、語尾を尻上りに発音する。
’(アポストロフィ)…アクセント。直前の音節のみ声が大きくなる。
<…直後の調子を少し高くする。
>…直後の調子を少し低くする。
-/ー(マイナス/長音記号)[<数値>]…音を伸ばす。後ろに数値をつけるとさらに長くのばす。範囲は1~15。
あと、おまけ。割り込みで同時処理させてたと思っていた方!そこまで私は暇人じゃありません。
1 'save"rituko.bas 10 CLS:KEYOFF:DEFINT A-Z:X=5:Y=5 20 XH(0)=0:XH(1)=1:XH(2)=0:XH(3)=-1 30 YH(0)=-1:YH(1)=0:YH(2)=1:YH(3)=0 40 H=INT(RND(1)*4):X=X+XH(H):Y=Y+YH(H) 50 IF X<0 OR X > 10 THEN X=X-XH(H) 60 IF Y<0 OR Y > 12 THEN Y=Y-YH(H) 70 GOSUB 100 80 GOTO 40 100 LOCATE X,Y+0:PRINT" " 110 LOCATE X,Y+1:PRINT" _ _ " 120 LOCATE X,Y+2:PRINT" ' v ` " 130 LOCATE X,Y+3:PRINT" ________ " 140 LOCATE X,Y+4:PRINT" / ` " 150 LOCATE X,Y+5:PRINT" / ::::::: ` " 160 LOCATE X,Y+6:PRINT" /(<・)-(<・)-` " 170 LOCATE X,Y+7:PRINT" w V (_^_) V w " 180 LOCATE X,Y+8:PRINT" \\\ `^' \\\ " 190 LOCATE X,Y+9:PRINT" " 200 RETURN
>しげゆきPさま
ニコニコにて_Say命令の詳細の質問をした者です。いやー、まさか、こんなに詳しく教えていただけるなんて!!!ほんとうにありがとうございます!大変勉強になりました!僕も挑戦してみます。音楽とあわせるのは、大変根気のいる作業ですね。そしてああしてひとつの面白い作品ができあがっていたんですね~感激です。またなにか面白いのができたらニコニコなどで聴かせてください~たのしみにしてます!
yasuda様。
お役に立てたのなら嬉しいです!
自分は今はニコニコ動画には飽きてる状態なんですが、自分の行動には責任がもてない性格なので、なにかがビビビと来たらなにかUPするかも知れません。とにかくMSX仲間がいて嬉しいです!いっしょに頑張りましょう!とか無責任に思ったりします。
最近、入手しました。
海外版のマニュアルは発見したのですが
これのことは書いてません。
日本版は書いてあるのでしょうか?
であれば、コピーをいただけないでしょうか?
くろんぼ様
すみません。ただいま決算が大変忙しく、押入れから資料を探し出してスキャンするのにはヒマがありません。おそらく1週間以上かかると思います。申し訳ないです。
回答ありがとうございます。
まさか、お返事いただけるとは思ってみませんでした!
できれば、一冊まるまるコピーさせていただきたく(^^);
余裕がある時で構いませんので
ご相談させていただきたく。
メールアドレスまでご連絡いただけると幸いです。
よろしくお願いいたします。