「サクラ」質問掲示板

サクラの質問掲示板です。
[一覧へ] > (@3) [低] [解決]
@3■ (#5) ベンドダウンについて - RAIKAN (2010-08-10 12:53) /高 未処理
初心者的質問ですが、サクラで曲を作るときにベンドダウンを使いたいと思い、試しているのですがうまくいきません。
何がうまくいかないか詳しく説明しますと、
例えばベンドレンジが2で、音全体の長さは2分音符で音が発音されて4分音符の長さが経過したら「ドミソ」の音程になるようにすることができないのです。

↑の例の場合どうしたらよいのか説明してくださる方がいらっしゃるのなら光栄です。 

(#6) Re:ベンドダウンについて - 通りすがり (2010-08-11 01:08) /低 確認待ち
// サクラを意味もなく使い倒してみようと試みたことのある人です。
// こういう疑問は、試さないわけにはいかない。
// 妙な使命感から、今の自分ができることを総当たりしてみました。
// 基本的にヘルプ見たり、過去ログを検索したりして、
// 実験を繰り返すと思った通りのことができると思います。
// 過去ログはためになるので、
// Slur とか PitchBend とかp とか p% とか ピッチベンド とか
// 検索してみるといいと思います。

// ↓ヘルプをみて実験した結果がこれです。

//------------------------------------------------------------------------------
音色(SquareLead)
//------------------------------------------------------------------------------
//_ &:スラーを利用するとこうなる
BR(12)        //スラーのときはベンド幅は変えても意味がない。
Slur(0)
Sub{「ミソ」2}
//  ↑ Sub{「ミソ」2 } は 「ミソ」2 の時間をなかったことにする機能。(ものすごく語弊があるので、ヘルプを見てください)
//    S{} でも代用可能。
音符4 レ&ド    //ここでベンド幅が2に変わる

//_ &:スラーを利用するとこうなる 2
Slur(0,!8)
Sub{「ミソ」2}
音符4 レ&ド

//_ &:スラーを利用するとこうなる 3
//    ついでにヘルプに書いてあったのをみるとこういうこともできるようだ。(スラーする位置の変更)
Slur(0,-!8)
Sub{「ミソ」2}
音符4 レ&ド

//_ 自分でいろいろ設定するの面倒な時は、先達の知恵を借りましょう。
//------------------------------------------------------------------------------
音色(SawtoothLead)
//------------------------------------------------------------------------------
//_ こんにちは先達の知恵1  ::定義ファイルも見てみるといいと思います。
Include(bend.h);      //定義に入っているbend.hを呼ぶ

//_ BendDown
BR(2)//BendDown では、BRの設定が、必要です。
BendDown(!8,!4)      //BendDown を使用する
「ドミソ」2

//_ BendEx
BR(2)//BendEx 内でBRを設定しているので、こちらでは、実のところ必要ない…。
BendEx(!8,!4,{o5d},{o5c})  //BendEx を使用する
      // (o5d == 音階5 レ  :: o5c == 音階5 ド )のこと
      // よくわからないときは、{o5d} を {レ}、{o5c} を {ド} にしても、2半音分なので、いける!
「ドミソ」2

//------------------------------------------------------------------------------
音色(CalliopeLead)
//------------------------------------------------------------------------------
//_ こんにちは先達の知恵2
Include(bend2.h);      //定義に入っているbend2.hを呼ぶ

BR(2)    // BR(12)とかしても問題なし。BRの変更がありません。(うまく説明できない)
    // あ、でも、ベンドダウンして「ドミソ」はできないようだ…。
    // 使うときは、2半音上の「レファラ」の指定をして回避する?
//_ BendTo
BendTo(!8,!4,{o5d},{o5c})  //BendTo を使用する
「レファラ」2

//------------------------------------------------------------------------------
音色(ChiffLead)
//------------------------------------------------------------------------------
//_ 愚直にやってみる
BR(2)    //ベンド幅を2にする
Sub{PitchBend(8191)   ン4    PitchBend(0)}
// ↑最初は8191(ベンドレンジ最大:現在はベンド幅2なので、2半音上「レファラ」)で鳴らす(というか「ドミソ」がそう聞こえる)。
//   4分音符の休符の後、ピッチベンドを元に戻す
「ドミソ」2      //ドミソを2分音符分鳴らす(その間にピッチベンドがなんか変わるようになる)

//同じことをpで代用するとこうなる
BR(2)    //ベンド幅を2にする
Sub{p(127) ン4 p(64)}
// ↑pの範囲は 0~127 なので、真ん中(ベンドをいじっていない状態)は64。
//    最初は127(「レファラ」)で鳴らす。
//    4分音符の休符の後、ピッチベンドを64にする(元に戻す)
「ドミソ」2      //ドミソを2分音符分鳴らす

//同じことをp%で代用するとこうなる
BR(2)    //ベンド幅を2にする
Sub{p%(8191) ン4 p%(0)}   //2分音符の後、ピッチベンドを元に戻す
「ドミソ」2      //ドミソを2分音符分鳴らす

//------------------------------------------------------------------------------
音色(CharangLead)
//------------------------------------------------------------------------------
//_ 汎用性の高い先行指定命令 onTime (T)を使ってみる
BR(2)          //ベンド幅を2にする
PitchBend.onTime(8191,8191,!4,8191,0,!8)
//↑ピッチベンドを4分音符の間ベンドレンジ最大(「レファラ」)にして、
// 8分音符分で0(「ドミソ」)の状態にする。
「ドミソ」2

//_ 同じことをpで代用するとこうなる
BR(2)          //ベンド幅を2にする
p.onTime(127,127,!4,127,64,!8)
//↑ピッチベンドを4分音符の間127(「レファラ」)で鳴らした後、8分音符で64(「ドミソ」)の状態にする
「ドミソ」2

//_ 同じことをp%で代用するとこうなる
BR(2)          //ベンド幅を2にする
p%.onTime(8191,8191,!4,8191,0,!8)
//↑ピッチベンドを4分音符の間8191(「レファラ」)で鳴らした後、8分音符分で0(「ドミソ」)の状態にする
「ドミソ」2

//------------------------------------------------------------------------------
音色(VoiceLead)
//_ おまけ ::ベンド幅が12半音(オクターブ)のとき、どうするか。
//  それ以外のベンド幅のときは、12をそれ以外のベンド幅にして、計算すればよい。
//------------------------------------------------------------------------------
BR(12)    //ベンド幅を12にする

// ベンド幅12ということは{    -12       ←0→        12    }
//                       {    -8192     ←0→      8191    }

// なので、 1半音は 8192/12      =  682.6666666666666 →だいたい 683
//           2半音は 8192/12 * 2  = 1365.3333333333333 →だいたい 1365
p%.T(1365,1365,!4,1365,0,!16)
//↑ピッチベンドを4分音符の間1365(ベンド幅1365:現在はベンド幅12なので、2半音上くらい)の後、
// 8分音符分で0(「ドミソ」)の状態にする。
「ドミソ」2


// どの方法でも思った通りの音が鳴ればそれでいいような気がする。
// 長くてすみません。
// 肝心のSlurの使い方が、駆け足ですみません…。

(#7) ありがとうございました! - RAIKAN (2010-08-11 20:40) /低 解決
ありがとうございました!
たくさんのやり方を教えてくださって本当に感謝してます。
よくわからないところもありますが、自分で頑張ってみようと思います。

📄 メンテナンス中のため現在読み込み専用です。