ソニックパイで音楽を生成する


This post was first posted on the Twilio Blog on May 17, 2018

ソニックパイは、Rubyで音楽を書くための統合開発環境です.私は、ルビーパイIDEを使用してルビーとコードを書いて、自分でそれを叫んでサンプルAudacity アーティスト名Messicaアーソンの下で.私が作成する音は非常にパンクバンドの前に完成した私の悲鳴と組み合わせるノイズ音楽の奇妙な音に触発されます.
このチュートリアルではthis song 一緒に.

どのようなソニックパイですか?


ソニックパイを使用すると、我々はシンセサイザーを使用していたかのように我々のコンピュータと対話することができます.フードの下で、音パイは、RubyラッパーですSuperCollider . サンプルとシンセサイザーは、無数の方法で対話することができますロードされます.このチュートリアルで行うように、独自のサンプルを追加することもできます.
Download Sonic Pi ポストの残りで動いている前に.あなたはソニックパイの古いバージョンを持っている場合は、最新バージョン(バージョン3.1)に更新してください.更新するにはhelp メニューをクリックしてupdates クリックcheck now 最新の更新があるかどうかを確認します.

ループは、音パイの中心です


電子音楽は繰り返しループから作り出されているので、どのようにループを作成するかを理解することは、効果的にソニックπを使用する重要な概念です.ライブループでは、その場で変更を行うことができます.
Sonic Piのループの基本的な構文は以下の通りです.
live_loop :name_your_loop do
  synth :name_of_synth
  sleep 0.25
end
ループを作成する最初のステップは、ループを命名することです.そこからシンセやあなたが働いているサンプルで呼び出すことができます.睡眠はあなたのループのタイミングを調整することができます.睡眠のために、より低い数は、音をより速くして、より高い数に音を遅くします.あなたが睡眠を含まないならば、ループが動きません.

一緒に歌を書き始めましょう


今、我々はSonic Piのループの基本的な構文を知っているBuffer 0 IDEのソニックパイAバッファでは、コードを書く場所です.あなたが停止することなく曲を作成しているときに、1つのバッファでコードを記述することができますし、別のバッファに、より多くのコードを書くために移動します.開発者の中には、物事を整理しておくために複数のバッファにコードを書くことを選択している人もいる.0でカウントを開始する10個のバッファがあります.今日、私たちは1つのバッファでコードを書きます.
startという名前のループを作成しますtri シンク・インBuffer 0 IDEの最初のバッファです.
live_loop :start do
  synth :tri
  sleep 0.25
end
ループを実行するにはRun ボタンalt/cmd R . 音を止めるalt/cmd S または停止ボタン.トライシンセサイザーのような音の良い快適なメロディーを作成しますthis . ソニックパイのキーボードショートカットの完全なリストを見つけることができますhere .

サンプルへのサンプルの追加


今、我々はループという名前のサンプルに加えることができますstart . 私のお気に入りの組み込みサンプルを使用しましょうloop_safari . ループを編集します.
live_loop :start do
  synth :tri
  sample :loop_safari
  sleep 0.25
end
今のサウンドは、より多くのパーカッションの要素を持っている必要がありますsound like this
.

ベースで第2のループを加えること


これまで、我々は1つのループで働いていました、しかし、我々が異なるループを加えたならば、我々はタイミングを調節することができます.ループの睡眠によって示されるタイミングは、低速または高速のペースで再生します.我々の歌のためにより完全な音をつくるために、我々のベースが我々の第1のループより遅くなるようにしています.
あなたの右の下にstart ループで2番目のループを追加します
live_loop :second do
  sample :bass_thick_c
  sleep 0.5
end
できるだけhear , ベースは、我々が作成している音がより完全に見えるようにします.

エフェクトの追加


我々は、歪みなどの効果を追加することができます.歪みは、ファジィ効果を作成するために音の利得の振幅を増加させる.私たちは、別のメロディーをファジーしたベル音で加えるつもりです.歪曲効果を使う2番目のループの下に3ループを加えましょう
live_loop :distort_everything do
  with_fx :distortion do
    synth :pretty_bell
    sleep 0.75
  end
end
Here is what we should be hearing right now.

メモの使用


また、下の4番目のループに追加することでノートのリングを再生することができますdistort_everything ループ.このループを加えましょう
live_loop :notes do
  use_synth :pluck
  n = (ring, :d3, :d1, :d2)
  play n
  sleep 0.15
end
我々はちょうどノートD 3、D 1、D 2を使用してギター文字列のプラッキングのように聞こえるシンセサイザーを追加しました.このループで、我々の歌は現在のように聞こえましたthis .

オーディオサンプルの追加


このチュートリアルではyou can download the file that I use またはあなたの好みの別のオーディオファイルを使用することができます.また、自分自身をサンプルすることができます.自分自身をサンプリングするには、私は自分で叫んで記録Audacity USBケーブルで接続されたマイクを使用する.このようなループを作成するには、録音プロセスで作成したファイルのパスを使用できます.
live_loop :my_own_voice do
  sample "/path/to/soundfile.wav"
  sleep 9
end
必ず置換するpath/to/soundfile.wav Audacityまたはダウンロードしたファイルで作成したオーディオファイルの独自のパスを指定します.
このループは、下の私のコードの底に置かれますnotes1 ループ.

フルコード


完全なコードは以下の通りです.
live_loop :start do
  synth :tri
  sample :loop_safari
  sleep 0.25
end

live_loop :second do
  sample :bass_thick_c
  sleep 0.5
end

live_loop :distort_everything do
  with_fx :distortion do
    synth :pretty_bell
    sleep 0.75
  end
end

live_loop :notes do
  use_synth :pluck
  n = (ring, :d3, :d1, :d2)
  play n
  sleep 0.15
end

live_loop :my_own_voice do
  sample "/path/to/soundfile.wav"
  sleep 9
end

私の好きな機能ソニックパイ


ソニックパイから始めたとき、私はルビーのゼロ行を書いていました.これは、私のコードがクールな音を作るのを聞いたので、これは新しいプログラミング言語を学ぶために私のお気に入りの方法だった.あなたがわずかにコードを変えるならば、それが音に何をするかについて見ることは楽しいです.あなたは、プレスによって音をアップデートすることができますRun or alt/cmd R たとえあなたが既に音楽を演奏しているとしても.

Sonic Piについての最もクールなことの一つは、ドキュメントがIDEに組み込まれていることです.私が最初にSonic Piで始めたとき、私は彼らが私自身の音になるまで、ドキュメンテーションの例をとって、彼らを変えました.また、この機能は、便利なときに開始している場合、または立ち往生している来ています.
今、あなたはソニックパイで曲を作成する私のプロセスを知っている、これはあなたがインスピレーションを開始することを願っています.あなたが押すことによって作成する曲を録音することができますRec ボタンと保存.wav ファイル.私はあなたがソニックパイで何をクールな音を知らせるために私にさえずるようにしてください.