「サクラ」質問掲示板

サクラの質問掲示板です。
[一覧へ] > (@81) [中] [確認待ち]
@81■ (#265) フィルターをランダムに開閉する方法 - 伊山哲朗 (2014-01-27 20:16) /中 未処理
現在SC8850を使用しています。
4拍(全音符分)伸びている一つの音に対して、
16分音符間隔でフィルターをかけたいと考えています。
フィルターのカットオフ周波数は、毎回ランダムに値を変化させたいと思います。
サンプル&ホールドというようですが、
上記は先行指定が使えるのではないかと考えているのですが、
どの先行指定を、どのようにしたらよいのかがわかりません。

ご教授いただけれ
ば幸いです。

(#266) Re:フィルターをランダムに開閉する方法 - 通りがかり (2014-01-27 23:58) /中 確認待ち
ノートを押しっぱなしの間、値に変化を持たせたいのであれば
onNoteWaveなどの先行指定の場合、値を直線、曲線を描くような連続的変化に向いていると思います。

値をデジタル的に変化させるサンプル&ホールドであれば、以下のほうが良いかもしれません。

// ------
#RDM="Sub{ [16 y74 =Random(127)+1 : r16] }" // y74を16分音符ごとに16回発行する

l1 o7 v127
#RDM
a
#RDM
e
// ------


どうしてもonNoteWaveで行いたいのであれば、以下の方法でもできます。

// ------
Function Rdm(){ // [17, 17, !16, 29, 29, !16, ...]を出力
 Array Ar;
 Int In;
 For(Int i=0; i< 16; i++){
  In=Random(127)+1
  Ar=(Ar, In,In,!16)
 } //
 Result= Ar;
} //func

l1 o7 v127
y74.W(Rdm()) //  y74.W(17, 17, !16, 29, 29, !16, ...)
a
y74.W(Rdm())
e
// ------

(#267) Re:フィルターをランダムに開閉する方法 / - 伊山哲朗 (2014-02-11 19:00) /中 未処理
通りがかりさん。お世話になります。
いろいろと確認していて、返信が大変に遅れてすみませんでした。
とりあえずご教授いただいたやり方で、
フィルターの開閉をランダムに行なうことができました。

プログラミングに疎いので、以下確認させていただきたいと思います。

// ------
#RDM="Sub{ [16 y74 =Random(127)+1 : r16] }" // y74を16分音符ごとに16回発行する

上記ですが、
RDMという変数に サブトラック を割り当て、一連のプロセスを行なう。
16回乱数を出力し、その都度16分音符分先に進む。
と理解したのですが、
Random(127)+1
での
(127)は、0~127までの間で乱数を出力するという意味でよいでしょうか?
また、+1はどのような意味があるのでしょうか?

この (...)内の数値を、カンマで区切り、2つ並べると、
その数値内に限って乱数を出力しているように思われるのですが、
正しいでしょうか?
サクラのマニュアルで見つけることができなかったので、
確認させてください。

onNoteWave
については、もう少し考えてみたいと思います。
後日よろしくお願いいたします。

(#268) Re Re:フィルターをランダムに開閉する方法 - 通りがかり (2014-02-11 20:00) /中 確認待ち
はい、RDMはその通りです。
本当は、Str RDM="Sub{ [16 y74 =Random(127)+1 : r16] }"であれば、エラーチェックもやってくれるので、場合によってはこのほうが良いかもしれません。
厳密には#RDMはマクロ記述なのですが、変わることのない定数のためマクロにしています。

Randomについては、
Print( Random(1) )と記述していただくと分かると思いますが、これは[0]のみ出力します。
プログラムでは数値カウントは[0]が最初になることが多いためです。

Random(127)+1は、[0 - 126]+1 -> [1 - 127]という数値を出力します。
この+1を加えるという記述は単に好みですね。サクラの場合、Random(1,127)のほうが正しい気もします。

(#265)へ返信する:

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

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

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