「サクラ」質問掲示板

サクラの質問掲示板です。
[一覧へ] > (@72) [中] [解決]
@72■ (#230) mml(PLAY)の記述方法について - tkaa (2013-06-15 17:00) /中 未処理
一か月程前から皆さんのサンプルを見ながら頑張っている最中です。
PC-88の頃、BASICで
A1$ = "@10t150o4l8 cdefgab"
b1$ = "@20t150o6l8 cdefgab"
CMD PLAY A1$,B1$
・・・という感じで変数に入れて、PLAY命令で演奏させていたのですが、
このソフトで変数に入れ演奏はできましたが、
リズムパートをどうやって演奏させればよいのかわかりません。
変数への入れ方が悪いのか、PLAY命令の記述が悪いのか?
何か良い例はございませんでしょうか?

(#232) 分かっている範囲のみです、。 - 通りすがり (2013-06-15 20:31) /中 確認待ち
#A1 = { @5 t0 q90 o5 l4 'cfg'^^r | 'cfg'r 'ceg'^ | ^1 }
#B1 = { @7 t0 q111 o4 l12 cd#f ga#`c > d#f ga#^^ | ^2 r2 |  > `cag edc ^2 }
#Dr = { @1 t0 o3 l4 cf#ec | cf#ea# } //c:BD,f#:HH,e:Sn,a#:openHH

 Play( ,#A1,#B1, , , , , , , ,#Dr )
//Ch_ 0__ 1__ 2 3 4 5 6 7 8 9_ 10

Playコマンドは自分はあまり使わないので、分かっている範囲のみです、。
コマンドの最初はChannel 0 になります。ここは空白にしておきます。
0 から数えて 10番目の場所にドラムを書き込みます。

(#233) うわ懐いでもMSXで動かないや - 矢部さん (2013-06-16 01:03) /中 未処理
PC-8801が高級パソコンだったころ、私は買うことができませんでした。
無駄に逆恨みします。

とりあえず、ちょっと間違いがあるかもしれないけど、
理解優先で。
ツッコミできるようになったら、理解できた証ということで(正確性重視だとアラが出る)。

サクラには、Play関数はありますけど、Play使わなくても鳴ります。
変数を使うには、大文字を使います(小文字はサクラ的には、変数に使えない)。
STRという文字列型と、INTという整数型があります。
何か仕掛けを作るときに、IFやCASEと組み合わせると、なかなかいいかんじに制御できます。
どちらかというと、C言語やDelphiに感覚が近いです。

でもおそらく、サクラマニュアルで書かれている「リズムパートを入力しよう」に書かれている方法が、
多くの人に採用されている主流かもしれません。
http://oto.chu.jp/a.oto.chu.jp/doc/kouza/page8_2.htm

//ざっくりとしたサンプル
//特定のトラック(ここでは10000台目)を、ドラム専用チャンネル「10」で鳴らすように設定
//基本的に、初期設定では、トラック10が、そのままチャンネル10に設定されている。
トラック10000 チャンネル10
//ど を、MuteSurboを鳴らすものとして設定
~{ど}={n(MuteSurdo),}
~{か}={n(HighTimbale),}
どっかんどっかん
//っ と、ん は、休符扱い。

トラック の概念がわかれば・・・トラックは、音を載せるものです。
トラックを数台用意すれば、それぞれのトラックが、同時に運転(演奏=合奏)してくれます。
あと、チャンネル10を設定したトラック(トラック10でいい)は、ちょっと特殊な動きをして、
それぞれの音階に、いろんなドラムが設定されていて、
となりのキー叩いただけで別の音が鳴ること。
それがわかれば、だいたい理解できる予定です。

ついでに、midiは、1つのトラックに、たくさんの音を同時に鳴らす機能があります。
「ドレミ」
'ドレミ'
とりあえず、これは覚えておくと、いろいろ得です。
ドラムで、同時に鳴らしたい音が、きっと出てきますので。


なんだか、やり方がいろいろあるようですけど、
ここは、慣れてきてから、だんだんと覚えていきましょう。

(#234) リズム鳴りました! - tkaa (2013-06-16 09:34) /中 解決
ありがとうございました。
ch0からカウントするなんて・・・
初歩的な知識不足でご迷惑をおかけしました。

書き込みいただいたサンプルから、
t0って何?
変数は大文字のみ(小文字はだめ・・・なるほど)
初期設定の基本的な項目は?

あーまだまだ先が長そうです。
また、お邪魔させていただくかもしれませんが、どうぞよろしくお願いします。

(#230)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を平仮名で記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能