2nd DAY ログ(3)

[4]サンプリング

[4-1] Sonic Piに元から入っているsampleをいじる方法

sample :~ ~という名前のサンプル音を使用する(ヘルプメニューからサンプルの詳細を見ることができる)

サンプル音は、音色を設定することができない!
ただし、その再生時間を変えることで、音の高さを調整することは可能!

[sample.1]

sample :sn_zome, rate: 3 #通常の再生時間と比べて3倍速で再生されるため、音が高くなったように聞こえる

[sample.2]

あらかじめSonic Piに入っているサンプルのなかには、ただの音ではなく、すでに曲になっているものもある。
曲の場合、その長さをきちんと把握しておかないと、他の音と合わせた時にズレが生じてしまう。

puts sample_duration(~) ~というサンプルの長さを、SonicPi画面右の「ログ」ウィンドウに表示する。

puts sample_duration(:loop_amen)
→ログウィンドウには、「{run: 141, time: 0.0} 1.753310657596372」と表示され、loop_amenの長さが「約1.753」ということが分かる。

[sample.3] 自動的に、sample_duration(~)に書かれたサンプル音の長を数値でを生成してくれる

sample :loop_amen
sleep sample_duration(:loop_amen)
sample :loop_amen

[sample.4] sampleのrateを変更した場合、sleepに入れられたsample_duration(:loop_amen)の長さも考慮する必要がある!

sample :loop_amen, rate: 2 #sample :loop_amenの再生速度を2倍速にする
sleep sample_duration(:loop_amen)/2 #sample :loop_amenのsleepの長さを1/2にする
sample :loop_amen, rate: 2 #sample :loop_amenの再生速度を2倍速にする

[sample.5] rate: に入れる数値をマイナスにすると、逆再生される

sample :loop_amen, rate: -1 #loop_amenが逆再生される

[sample.6] attack: ~ 始めは小さい音量からスタートし、~の時間内に元の音量まで上げていく

sample :loop_amen, attack: 1.3 #スタートから1.3拍のところまでに音量を上げきる

[sample.7] release:~ 始めは元の音量でスタートし、~の時間内に音を下げていく

sample :loop_amen, release: 0.75 #終わりから0.75拍のところから徐々に音量を下げる

[sample.8] sustain:~ 元の音量(ピークの音量)を~秒キープする

sample :loop_amen, sustain: 0, release: 0.75 #sustainを0に設定しているため、いきなりピークの音量から0.75拍かけて音量が小さくなる。

※attack、release、sustainの後に入る数値の長さは、曲全体のbpmに対する1拍分を基準にしている※

[sample.9] start:~ ~の位置からsampleを再生する

sample :loop_amen, start: 0.75 #loop_amenの曲の、0.75の位置(3/4の位置)からスタートする

[sample.10] finish:= ~の位置でsampleの再生が終わる

sample :loop_amen, finish: 0.75 #loop_amenの曲の、0.75の位置(3/4の位置)で終了する


[4-2] 自分のパソコンに入っている音源をsampleとして読み込んでいじる方法

  1. .wav形式のデータを用意する。 (このときに、SonicPiの素材用フォルダを作っておき、その中にファイルを入れると後々わかりやすい)
  2. 用意したファイルを、SonicPiのコーディング画面に直接ドラッグ&ドロップする。
  3. すると、下記の画面のように、緑色の文字列が表示される。
  4. 先ほどの緑色の文字列の前に、sampleと書き足して再生(Run)すると、先ほどドラッグ&ドロップしたwavデータが再生される!

    このように表示されたwavデータは、[4-1]で学んだのと同様に曲の早さを変えたり、attack等の数値を設定することができる。

  5. ただ、上記のようにwavデータが文字列で表記されたままだと、コードが読みにくくなる可能性がある。
    下記のように、wavデータに任意の名前をつける(変数を設定する)ことで、いちいち長い文字列を書かなくてよくなる。
    my_voice = "~.wav"
    loop do
    sample my_voice #~.wavというデータが再生される
    sleep 1
    end

results matching ""

    No results matching ""