[Series] はじめてのTidal Cycles : Part.4

Part.4では、「音を左右動かす」“Pan” エフェクトに様々なオシレーターを使用し、パターンの違いを学びます。

イメージしやすいように、図解も含めて解説しますが、できれば、Tidal Cyclesを起動し、2チャンネルのスピーカーもしくは、ヘッドフォンを利用するなどして、音の動きや違いを確認してください。また、オシレーターの数値は、何も指定がない場合、最小値が0/最大値が1です。

各パターンセクションの説明は、【図】【説明】【コード例】【コードの解説】という順で記載しています。


● 周期/Periodic oscillators / 周期を伴う基本的なオシレーターです。

Sine(サイン)/正弦波

【説明】
sine(正弦波)は、基本的な波形のひとつです。純粋な音として、”純音”や”ピュアトーン”とも呼ばれています。なだらかに数値を変化させるのが特徴です。

d1 $ sound "bd*8" # pan sine -- Sine

【コード解説】
上記コードでは、”bd”(バスドラム)が1サイクル8回、左右にゆっくり移動するのが聞こえます。

Cosine(コサイン)/余弦波

【説明】
cosineの数値の変化はsine(サイン)と同じですが、位相が違いsineを”1/4″シフトさせたサイクルになります。(図ではsineを破線で表記しています。cosineと比べてください。)

d2 $ sound "hh*8" # pan cosine -- Cosine

【コード解説】
cosineを使ったこのコードでは、sineの時と同じように、左右にゆっくり移動するのが聞こえます。ですが、実際は、1/4シフトされた状態で演奏されています。

sineとの違いを聞くため、cosineのコード例を“d2”としているので、先ほどsineコード例と重ねて試聴してみてください。結果、“sineのbd”の後を追うように”cosineのhh(ハイハット)”が聞こえてきます。

Square (スクエア)/矩形波

【説明】
“2種類”のみの数値で構成されたパターンです。TidalCyclesの場合、0と1を繰り返します。

d1 $ sound "bd*8" # pan square -- Square

【コード解説】
“bd”(バスドラム)の音が4回づつ、右・左 交互に音が聴こえます。

Tri(トライアングル)/三角波

【説明】
時間とともに一定の数値で“直線的”に増加し、ピークまで上がると、次は、”直線的”に減少していきます。少しエッジの効いた数値変化が特徴です。

d2 $ sound "hh*8" # pan tri -- Triangle

【コード解説】
一定の速度で “hh”(ハイハット)が左右に移動して聴こえます。Panではエッジが聴き取りづらいかもしれませんが、sineと聴き比べることで違いが微かですが分かります。

Saw(ソー)/ノコギリ波

【説明】
ノコギリの歯のような波形をしています。三角波の一種として、時間とともに“直線的”に値を上げたのち、ピークまで上げきると”急降下”します。Tidal Cyclesでは、0から始まり、1サイクルで1へ直線的に上げたのち、すぐさま0に戻ります。

d1 $ sound "bd*8" # pan saw -- Saw

【コード解説】
“bd”(バスドラム)が左から右に移動し、右で8回目”bd”の音が聞こえると左に戻る、というパターン繰り返します。

Isaw/(インバーテッド ソー)逆ノコギリ波

【説明】
先ほどの“saw”(ノコギリ波)の逆です。数値は、1から始まり、1サイクルで0へ直線的に下げたのち、1に戻ります。

d1 $ sound "bd*8" # pan isaw -- Inverted Saw

【コード解説】
先ほどの“saw”の逆で、”bd”(バスドラム)が右から左に移動し、左から8回目の音が聞こえると右に戻る、というパターン繰り返します。

● 非周期/Non-periodic oscillators / 周期性のないオシレーターです。

Rand(ランダム)/乱数

【説明】
0から1の間の数値を擬似的にランダム生成します。

d1 $ sound "bd*8" # pan rand -- Random

【コード解説】
“bd”(バスドラム)が左右の間で、ランダムに移動して聴こえます。

Irand(インテジャー ランダム)/整数 乱数

【説明】
“rand”と似ていますが、“irand”は、後に指定された数字から1を引いた“整数”をランダムに生成します。主に、サンプル音源などのフォルダに使用します。(フォルダ内の音源ファイルは、ソートで0から番号が振られています。)

d1 $ sound "drum*8" # n (irand 8) -- Integer Random

【コード解説】
“整数”を生成するランダム関数にて、先ほどまでの”pan”では変化がわからないので、上記サンプルコードでは、サンプル音源の”drum”フォルダを利用しています。

“drum”フォルダにある音源ファイルのソートされた順番にて、0〜7番をランダムに鳴らしています。
音源ファイルはソート順に0から数値がつけられています。irand では、後ろの指定する数値が“n-1”で得られるので、0〜7の場合は、(irand 8)のように“数値”を入れて利用します。“括弧”で囲むのを忘れずに。

あとがき

これらオシレーターを利用することで、さまざまな表情の音を演奏することができます。今後、[Series] はじめてのTidal Cycles でもオシレーターが利用できるエフェクトの投稿をしますので、いろいろ試して遊んでみてください。

今回使用したコードまとめをあらためて下記に記載します。

-- Oscillator

d1 $ sound "bd*8" # pan sine -- Sine

d2 $ sound "hh*8" # pan cosine -- Cosine

d1 $ sound "bd*8" # pan square -- Square

d2 $ sound "hh*8" # pan tri -- Triangle

d1 $ sound "bd*8" # pan saw -- Saw

d1 $ sound "bd*8" # pan isaw -- Inverted Saw

d1 $ sound "bd*8" # pan rand -- Random

d1 $ sound "drum*8" # n (irand 8) -- Integer Random

hush

ーーーーー

[Series] はじめてのTidal Cycles
Tidal Cyclesを始めたばかりのビギナーの方へ、また自身の復習のためにシリーズにまとめ更新していきます。コメント等ありましたら、ヘッダーメニューからInstagramまたはTwitterアカウントへメッセージください。下記メニューは随時追加されます。

Part.1 / Tidal Cyclesのサンプルを使って音を鳴らす(基礎編)
Part.2 /Tidal Cyclesの仕様、リズム構成とテンポの設定方法(CPSとBPM)
Part.3 /リズムを作る表記方法(Mini Notation)
Part.4 /オシレーター(Oscillators)
Part.5 /ユークリッドシーケンス(Euclidian Sequences)
Part.6 /オーディオエフェクト(Audio effects)
Part.7 /シンセサイザー(Synthesizers)

ーーーーー

参考/Tidal Cycles – Oscillators

barbe_generative_library

TidalCycles 参考書籍
[Book] 演奏するプログラミング、ライブコーディングの思想と実践

programing_play_bnn-book-image

初版/ 2018.12.21
ページ数/176ページ
出版社/ビー・エヌ・エヌ新社
言語/日本語

【Amazon.co.jp で購入】

ーーーーー

“Books”では、“barbe_generative_Library”として、
barbe_generative_diary の創作において実際に購入し、読んだ本を紹介します。