Pattern 轉換

From TidalCycles userbase
Revision as of 14:39, 24 November 2019 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Other languages:
British English • ‎English • ‎français • ‎中文(台灣)‎ • ‎日本語

我們將開始使用轉換(transformation)做出更複雜的pattern。

使用如slow 這類函數可使循環模式大為不同。

slow延展了pattern,跨及更多個cycle。

d1 $ sound "arpy arpy:1 arpy:2 arpy:3"

d1 $ slow 2 $ sound "arpy arpy:1 arpy:2 arpy:3"

fast 將pattern壓縮到比一個cycle更小的區間。

你也許會看到有些人用density 這兩者功能是一樣的。

fast 0.5 以及slow 2是一樣的!

d1 $ fast 2 $ sound "arpy arpy:1 arpy:2 arpy:3"

d1 $ fast 0.5 $ sound "arpy arpy:1 arpy:2 arpy:3"

hurryfast 有點像,差異在於多了撥放速度(音高)的變換。

d1 $ sound "arpy arpy arpy:1 arpy:2"

d1 $ hurry 2 $ sound "arpy arpy arpy:1 arpy:2"

d1 $ hurry 0.5 $ sound "arpy arpy arpy:1 arpy:2"

你可以使用rev 來反轉一個pattern。

d1 $ rev $ sound "arpy arpy:1 arpy:2 arpy:3"

或是像鐘擺一樣前後來回palindrome

d1 $ palindrome $ sound "arpy arpy:1 arpy:2 arpy:3"

iter當cycle進行時,改變pattern的起始點。每結束一個cycle,pattern的起始點就往後移動,直到結尾再從頭開始循環。移動的間隔由給定的數字而定。

d1 $ iter 4 $ sound "numbers:1 numbers:2 numbers:3 numbers:4"

結果為 "1 2 3 4" "2 3 4 1" "3 4 1 2" "4 1 2 3" ......


every 可以讓我們在循環之中安排不同的轉換和效果。 例如:每四個循環出現一個以雙倍速度撥放的循環。

d1 $ every 4 (fast 2) $ sound "arpy arpy:1 arpy:2 arpy:3"

...或著安排一個效果,使用#

d1 $ every 4 (# vowel "a o") $ sound "arpy arpy:1 arpy:2 arpy:3"

jux 'juxtapose' 的簡稱。進行某個轉換或是效果,其變形後的結果由其中一個聲道撥出,另一個聲道則維持原樣。

d1 $ sound "arpy arpy:1 arpy:2 arpy:3"
d1 $ jux (rev) $ sound "arpy arpy:1 arpy:2 arpy:3"
d1 $ jux (hurry 2) $ sound "arpy arpy arpy:1 arpy:2"

chunk只在循環特定的區段內加入變換或是效果,且隨時間改變區段位置。舉例來說參數設為4 的話,效果將只在1/4個cycle內起作用且四個循環內各影響不同的區段。

d1 $ chunk 4 (hurry 2) $ sound  "arpy arpy:1 arpy:2 arpy:3"
d1 $ chunk 4 (# speed 2) $ sound  "alphabet:0 alphabet:1 alphabet:2 alphabet:3"

有把握了嗎?

可以一次進行多個轉換! 用.將它們連結。

d1 $ jux (rev . (slow 1.5)) $ sound "arpy arpy:1 arpy:2 arpy:3"

要記住(幾乎)一切都是pattern,因此我們也可以將轉換運用在效果上。

d1 $ sound "jvbass [jvbass jvbass] jvbass ~" # note "1 [3 5] 7"
d1 $ sound "jvbass [jvbass jvbass] jvbass ~" # iter 3 (note "1 [3 5] 7")

如果設定sine、saw波的擺動幅度,或是放慢它們的頻率將會如何呢?