「サクラ」質問掲示板

サクラの質問掲示板です。
[一覧へ] > (@108) [低] [解決]
@108■ (#365) random とコード - テラダ (2016-09-18 18:31) /低 未処理
はじめまして
【要望】
コードをランダムで鳴らしたいです。
自分で囲った和音の中からランダムで鳴るようにしたいです。
Int NOTE
l8 [16 NOTE =RandomSelect(52,56,59,62) n(NOTE)]
こうすれば選んだ「単音」はランダムで鳴らせますが
これのコード版が出来るようにしたいです。


(#366) - テラダ (2016-09-18 20:33) /低 未処理
【再現方法】
Int NOTE 
Str E7 = {「eg#bd」} Str G7 = {「gbdf」} Str A7 = {「ac#eg」} Str BOM = {「cc#dd#e」}
この書き方では上手くいかないけど、やりたいことはこんな感じです。
l2 [8 NOTE =RandomSelect(A7,G7,E7,BOM) n(NOTE)]

単音ランダムを複数チャンネルで同時に鳴らして和音にするのではなく
和音の構成音は自分で作ってその中からランダムに鳴らすという具合で。
いい方法があったら、宜しくお願いします。
【バージョン】2.375


(#368) re: random とコード - とおりすがり (2016-09-21 21:21) /低 未処理
/*
RandomSelect自体は、恐らく数値型データとしてやり取りしていると思います
-- Print( RandomSelect({111}))とすると、0を出力するため --

E7など、文字型データのやり取りをするのであれば、
関数を使うのが早道かと思います

以下、サンプルです

*/
Function Rdm_select(Array Chd_note){
  Result= Chd_note(Random(SizeOf(Chd_note)))
}

Str E7= {「eg#bd」}
Str G7= {「gbdf」}
Str A7= {「ac#eg」}
Str BOM= {「cc#dd#e」}

Str NOTE
l4 [8 NOTE= Rdm_select({A7},{G7},{E7},{BOM}) NOTE^^NOTE ]
// ないしは、
Str X
l8 [8 X= Rdm_select({「eg#bd」},{「gbdf」},{「ac#eg」},{「cc#dd#e」}) X^^X  ^X^^ ]

(#369) re: random とコード - 追補のみ (2016-09-22 22:01) /低 未処理
Str E7= {「eg#bd」}
Str G7= {「gbdf」}
Str A7= {「ac#eg」}
Str BOM= {「cc#dd#e」}

Array Chd_select= (A7,G7,E7,BOM)
Str NOTE
l4 [8 NOTE= Chd_select(Random(SizeOf(Chd_select))) NOTE^^NOTE ]


// 見た目を良くしたもの

Array Chd_s= ({「eg#bd」},{「gbdf」},{「ac#eg」},{「cc#dd#e」})
Str X
#Z={ X= Chd_s(Random(SizeOf(Chd_s))) }

l8 [8 #Z X^^X  ^X^^ ]

(#370) ありがとうございます! - テラダ (2016-09-26 00:04) /低 解決
バッチリです!

サクラの左側タブには、SizeOfのその他にも色々便利そうなものが並んでて
簡単な書式と説明は載っているんですが

こういう風に、実際の使用例見ないとよくわからないですねー

和音を置き換えた文字にはタイでリズムつけて、ノートと同じように扱えることがわかったり
使用例も複数示して頂いてとてもわかりやすかったです。
ありがとうございました!


(#365)へ返信する:

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

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

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