PD turorial note == ###### tags: `技術資料` source: [Programming Electronic Music in Pd](http://www.pd-tutorial.com/english/index.html) --- # Chap.3 Audio 聲音 # 3.1 Basics ## 3.1.1 [Pitch 音高](http://www.pd-tutorial.com/english/ch03.html#chapt3.1) Pd表示音高的方法有兩種:頻率(赫茲)、MIDI。 > [color=#000000] __英文解釋__: > 降(flap)、升(sharp) > e.g. 降B(B-flap)、升F(F-sharp) ### 3.1.1.1 理論 #### 3.1.1.1.1 用數位的方式控制揚聲器 因為電腦只能處理數位訊號,需要類比與數位之間的轉換, Pd透過`dac~`將聲音送到喇叭,透過`adc~`將麥克風的聲音收進電腦。 #### 3.1.1.1.2 波 (Waves) 弦波、鋸齒波等為週期性波可聽出音高,而噪音(Noise)為非週期波。 `osc~`:製造正弦波(sin wave) #### 3.1.1.1.3 測量 > In contrast to this is the infrasonic range, which is lower than the bottom of the audible threshold - i.e., between 0 and 20 Hz. This range is perceived by us as rhythm. 低於20赫茲的聲音會以 **律動(rhythm)** 的形式來表現。但超過20赫茲之後,雖然對於空氣他還是一種律動,但人耳就會感受到音高。 > [color=#000000] __英文解釋__: > ultrasonic 超音波 `phasor~` : 製造鋸齒波 當頻率雙倍時,音高會增加八度。像是A4為440赫茲,880赫茲則為A5。換句話說,30赫茲與60赫茲差了八度,而10000赫茲與20000赫茲也只差了八度。 這邊使用100、200、300赫茲以此類推到800赫茲產生正弦波的聲音,雖然在數學上是線性增加,但是人耳聽100到200赫茲是增加一個八度,聽200到300赫茲是增加五度,聽300到400赫茲是增加四度等等。 如果要讓音高呈線性增加了話,頻率就需要呈*指數增加*(<span style="background-color:yellow;">TODO</span>:需查證)</span>。 MIDI的聲音表示則是以人耳聽到的音高為主。每增加一單位為一個半音。 `mtof`:MIDI轉頻率 `ftom`:頻率轉MIDI #### 3.1.1.1.4 取樣率 Sample rate ![](https://i.imgur.com/dFpc03r.png) 使用有`~`波浪符號,像是`osc~`、`*~`等物件時,其處理的就是根據上圖所設置好的取樣率的訊號(數位訊號,也就是一堆數字),其中較粗的線代表上面傳輸的是訊號(Signal),表示其會不斷地傳送訊號。 ![](https://i.imgur.com/55XF1uO.png) `snapshot~`:可抓按下去一瞬間的sample值 #### 3.1.1.1.5 樣本數與微秒 Samples – milliseconds 在Pd會使用兩種時間單位:樣本數與微秒。樣本數通常是用在計算訊號(Signal),而微秒則是用在控制數據(Control Data)。 ### 3.1.1.2 應用 ![](https://i.imgur.com/kWHi4MI.png) ### 3.1.1.3 附錄 #### 3.1.1.3.1 奈奎斯特定理 Nyquist Theorem 取樣頻率至少要是訊號頻率的兩倍(基礎波形的最大值跟最小值)。44100赫茲的取樣頻率,表示至多可以抓取到22050赫茲的訊號,而人耳可聽到的最高頻率大約是20000赫茲。 #### 3.1.1.3.2 數位訊號處理 DSP 因為同時持續的處理聲音訊號是非常耗資源的,因此Pd提供了`DSP`的勾選按鈕,可以在不需要的時候將此功能關閉。 亦可用在訊息方塊前加`;`傳送指令給Pd: ``` ; pd dsp 0 ``` ``` ; pd dsp 1 ``` 或者用`dsp 0`/`dsp 1`送訊號給Pd:`send pd`/`s pd` ### 3.1.1.4 For especially interested #### 3.1.1.4.1 da- / ad- conversion #### 3.1.1.4.2 Sound waves #### 3.1.1.4.3 將MIDI轉換成頻率 Converting MIDI numbers into frequencies 已知音高轉換成頻率: $$ f = g \cdot 2^{a/12} $$ $f$:要求的頻率 $g$:已知音高的頻率 $a$:與已知頻率相差多少半音 - **example**:已知A4是440赫茲,要求C5的頻率 $$ f = 440\cdot2^{3/12} = 523.2 $$ 已知頻率傳換成MIDI: $$ m = 69 + 12\cdot\log_2(\frac f {440}) $$ $m$:要求的MIDI碼 $f$:頻率 #### 3.1.1.4.4 噪音的週期性 Noise periodicity 噪音是可能有週期性的,其為低於20赫茲的頻率。 更多的詳情請參照其他聲學相關的書籍。 ## 3.1.2 音量 Volume ### 3.1.2.1 理論 #### 3.1.2.1.1 測量 兩種音量表示方法: - DeciBel(dB) 分貝 - 表達人耳聽到的大小聲 - rms 方均根 - 是物理上的表示 (<span style='background-color:yellow;'>TODO</span>:再補更詳盡的解說) (<span style='background-color:yellow;'>TODO</span>:未寫完) `rmstodb`:rms轉db `dbtorms`:db轉rms > However, moving this slider quickly will result in disruptive sounds. This is because a signal (calculated in samples) clashes with control processing (calculated in milliseconds). If this is only a matter of a few numbers as previously with the factors 0, 0.1, 0.4, 0.7, and 1, this is irrelevant, but beyond a certain speed this can play a significant role. 如果直接使用手動控制的值處理大小聲,在特定速度下,有可能會造成破壞性的聲音,因為訊號(Signal)的時間單位為取樣率(這裡的設定為44100Hz),而控制(Control)為微秒(milliseconds)。 解決的方法: - 中間安插`sig~`將控制轉換為訊號。 - 用`line~`讓音量漸強漸弱 `evn~`:一段時間(Samples)內音量(dB) 使用`put VU`來放置電平表將訊號大小圖像化。 (<span style='background-color:yellow;'>TODO</span>:補平方的增音量方法) #### 3.1.2.1.2 問題 Problems 1. 當震幅超過1或小於-1時,因為揚聲器的振膜最大只能在1的位置,因此會產生失真的破音(Overdrive)<span style='color:gray;font-size:10px'>附註:此與效果器上的命名可能有所不同。</span> 1. 當開啟聲音的時候,會產生一種「喀擦(click)」的聲音,其原因為開啟聲音時不容易剛好在零位面,所以振膜會突然從零突然收到一個較大的訊號而產生一個顛簸(jolt),顛簸通常發生在小於30ms振膜的快速移動。可用`line~`製造一個30ms以上的斜波(ramp)來阻止這件事情發生。 #### 3.1.2.1.3 相位 Phase `osc~`的第二輸入(inlet)可以設定其初始的相位。 #### 3.1.2.1.4 聲波的合成 Sound waves are additive 兩個`osc~`同時輸入進`dac~`會先相加,在經過乘法。注意要在進入`dac~`之前加`*~`,以防發生失真或喀擦聲。 ### 3.1.2.2 應用 #### 3.1.2.2.1 和弦 Chord ![](https://i.imgur.com/joFgp4m.png) #### 3.1.2.2.2 滑音 Glissandi ![](https://i.imgur.com/NbZ9FpD.png) #### 3.1.2.2.3 Processing adc-input #### 3.1.2.2.4 弦波演奏 Oscillator concert ![](https://i.imgur.com/9TygmlS.png) ![](https://i.imgur.com/SPAJlnI.png) ### 3.1.2.3 附錄 #### 3.1.2.3.1 其他波浪符號的物件 Other tilde objects `inlet~` `outlet~` `send~`:不能有兩個以上的同名`send` `receive~`:只能從唯一一個`send~`收訊號 `throw~`:可以有多個同名`throw~` `catch~`:可從多個`throw~`收訊號 #### 3.1.2.3.2 位元深度 Bit depth (<span style='background-color:yellow;'>TODO</span>:補) ### 3.1.2.4 For those especially interested #### 3.1.2.4.1 音壓與聲音的強度 Sound pressure vs. sound intensity 主觀上音量的大小會受到建築、聽者的年紀等等非單一因素影響,詳請請見聲學課本。 #### 3.1.2.4.2 Control data vs. signals # 3.2 [加法合成器 Additive Synthesis](http://www.pd-tutorial.com/english/ch03s02.html) ## 3.2.1 理論 ### 3.2.1.1 泛音列 The harmonic series <span style='color:gray;'>註:這裡開始我要瘋狂翻譯了,之後補重點整理</span> (<span style='background-color:yellow;'>TODO</span>:重點整理) (<span style='background-color:yellow;'>TODO</span>:翻譯須更正,overtone為不包含基因的所有泛音,partial為包括基音的所有泛音) > Here the ratios describe the length of the vibrating section in relation to the length of the entire string. 這裡描述了震動長度與總弦長的比例。 > All of these partial vibrations (called 'partials' or 'harmonics') result in sound as well, so every sound made on a string is in fact already a chord! 因為一條弦所有的部分震動(又稱諧音或泛音)產生了聲音,所以其實把所有聲音合起來已經是和弦了! > The special thing about this chord is that all of its pitches melt together, at least when their relative volumes decrease as the pitches get higher. Every natural sound has overtones. Due to characteristics inherent to the human ear, we hear all of these pitches as just one tone. 值得注意的是,這個和弦是所有的音高混合再一起的,越高的音高音量會越小。每個自然的聲音其實都有泛音[*註1](#註1:原文翻overtones,譯者認為應該是指不只基音,還伴隨著其他泛音)。由於人類耳朵固有的特色,我們聽這些聲音的時候會覺得只有一個音調。 ##### 註1:原文翻overtones,譯者認為應該是指不只基音,還伴隨著其他泛音 > In contrast, the upper partials themselves (i.e., the partials above the fundamental) do not have any overtones. An isolated sound without overtones does not exist in nature, but such a thing can be created using electronic means. These are called sine tones, a name that stems from the shape of their waveform: 相反的,這些更高的泛音(在基音之上的泛音)他們自己不會有任何的泛音[*註2](#註2:譯者需要查證,譯者普物忘光光)。一個單獨沒有任何泛音並不存在於自然界,但是我們可以透過電子的知識去製造。這些叫做sine(正弦)音,他的名字主要是因為他波形的形狀: ##### 註2:譯者需要查證,譯者普物忘光光 > Physicist Jean Baptiste Joseph Fourier (1768-1830) discovered that every periodic sound can be represented using only sine tones (of different frequency, amplitude, and phase), the sum of which is then identical with the original. Such an analysis and the corresponding mathematical process is called a Fourier analysis and Fourier transformation. 物理學家傅立葉先生發現所有週期性聲音可以只用(不同的頻率、震幅大小、相位)sine音的總和去表示,而sine音原先為單獨的。這些分析和對應的數學處理叫做傅立葉分析跟傅立葉轉換。 > Using this principle, it is possible to create every periodic sound by layering many sine tones, a process called "additive synthesis". 運用這些原理,我們就有可能可以藉由sine音產生各種不同的週期性聲音,這樣的過程就叫做「加法合成器」。 > In Pd, as already mentioned, "osc~" can be used to generate a sine tone. Sine tones are a very characteristic sound of electronic music, as they are produced and can only be produced using electronic means. 在Pd中,之前已經提過的`osc~`就是可以來生成sine音的。sine音在電子音樂中是很有特色的聲音,因為他們是被生成[*註3](#註3:這裡應該是指人工生成)的並只能用電子原理來產生。 ##### 註3:這裡應該是指人工生成 > Using a number of "osc~" objects, whose frequencies form an additive series, you can create a chord based on the overtone series: 用`osc~`物件,用其頻率來組成合成序列,你可以製作一個用泛音列為基底的和弦 > Typically, amplitudes become smaller as the frequencies get larger in order for the chord to blend better (though for some instruments, it is characteristic for certain partials to be louder than those on either side of them, e.g., the clarinet). The arrangement and relative volumes of overtones determine a sound's color. You can also speak of its spectrum. 一般來說,隨著頻率越大振福會越小(雖然有些樂器的特色是特定....像是單簧管[*註4](#註4:譯者看不懂哭哭))。這些排列和相對於各泛音的大小決定了聲音的顏色。你也可以稱之為波譜。 ##### 註4:譯者看不懂哭哭 ( <span style='background-color:yellow;'>TODO</span>:需改正) > The fact that our ears blend the overtones together becomes clear when you change the fundamental frequency: 事實上,如果你改變基音,會很明顯發現我們的耳朵會將泛音混合再一起: > We'll just use the first eight partials here. (N.B. <span style='text-decoration:underline; font-weight:bold; color:#0DBF8C;'>The term 'partial' includes the fundamental whereas the term 'overtone' does not. In other words, the 1st partial = the fundamental frequency, 2nd partial = 1st overtone, 3rd partial = 2nd overtone, etc.</span>) (<span style='background-color:yellow;'>TODO</span>:重點在這==) --- ![](https://i.imgur.com/pSgh1EP.png) # 3.3 [減法合成器 Subtractive synthesis](http://www.pd-tutorial.com/english/ch03s03.html) (<span style='background-color:yellow;'>TODO</span>:重點整理) ## 3.3.1 理論 ### 3.3.1.1 白噪音 White noise > Claude Debussy once responded to the question of how he composed by saying he starts by taking all pitches and then leaves out the ones he doesn't like. He foresaw the idea of filtering. 有一次有人問Claude Debussy怎麼合成聲音,他是先取全部的音高然後再把不喜歡的拿掉。Claude Debussy預見了濾波的想法。 > In contrast to additive synthesis - which uses what might be considered the 'atom' of sound, the sine tone, as a starting point - subtractive synthesis begins with all sound and reduces it. It is actually possible to produce all sound. Causing a speaker membrane to vibrate completely chaotically and randomly will produce all audible frequencies simultaneously. The Pd object used to accomplish this is called "noise~": 相較之下,加法合成器是使用聲音的「原子(atom)」—正弦音(sine tone),而減法合成器則是先用所有的聲音然後再減少他。 > Technically speaking, it would be more accurate if "noise~" were named "random~" instead, because it produces 44100 random numbers per second. These numbers occur in a range of -1 to 1, i.e., membrane positions. 技術上來說,比起`noise~`用`ramdom~`來命名更精確,因為它其實是每秒鐘製造44100個隨機數。這些數字的範圍為-1到1,換句話說,就是振膜的位置。 ### 3.3.1.2 濾波 Filters > Like light, noise that contains all audible frequencies is called "white noise". Normal white light contains all light frequencies while, say, red or blue light can be derived from it using filters. 噪音若包含所有能聽見的頻率叫做「白噪音」,就如同光一樣,普遍的白光包含所有頻率的光,然而,紅色和藍色的光可以被濾波器從白光分離。 > Pd also has filters such as "lowpass", which allows only the low frequencies to pass through while suppressing the high frequencies. This is represented in the following diagram; the x-axis represents frequency and the y-axis amplitude: Pd也有叫做「低通(lowpass)」的濾波器,其只允許低頻通過它,藉此來抑制高頻。下圖呈現了這個現象,x軸代表頻率,y軸代表振幅。 > There is also a "highpass" filter, which only allows high frequencies to pass through: 也有「高通(highpass)」濾波器,其只允許高頻通過: > The Pd objects for these filters are called "hip~" and "lop~". Their argument or right input is the frequency from which the sound should be filtered. 在Pd的物件中,高通及低通濾波器分別叫`hip~`、`lop`,他們的參數(右邊的輸入)為其開始濾掉的頻率。 > As you can see in the preceding diagrams, the filters are not particularly 'steep'. However, you can intensify their effect by using several filters one after another (cascade): 在先前的圖表可以看到,這些濾出來的波並不是特別地「陡」。然而,你可以藉由一個接一個的數個濾波器(串聯)來加強效果: > The volume has to be readjusted for each filter, as they reduce the sound's intensity. (Though they sometimes strengthen other things.) 濾出來的聲音音量都應該再調整,因為濾波器會降低聲音的強度。(雖然有時候他會加強其他的地方) > Another kind of filter is called a "band-pass". This allows only a small portion of sound surrounding a central frequency to pass through, like a 'band' of frequencies. As arguments/inlets it receives the central frequency and the width of the band, called "q". 另一種濾波器叫做「帶通(band-pass)」濾波。帶通濾波只允許中心頻率附近的一小部分聲音通過,就像是一條有多個頻率的帶子。它的參數為中心頻率以及帶寬,帶寬又稱為「q值」。 > Theoretically, if the band gets small enough, you should end up with just a single sine tone: 理論上,如果帶寬夠小,最後會得到一個單獨的sine音: > As you can easily hear, however, this is not the case. A certain noise element is always leftover with a band-pass filter. 但是你可以很容易地聽到,情況並非如此。經過帶通濾波後總是會剩下一小部分的噪音成分。 ## 3.3.2 應用 ## 3.3.3 附錄 ### 3.3.3.1 白噪音與喀擦聲 White noise and clicks > The "noise~" object causes the speaker membrane to vibrate randomly. When you turn this sound on or off you don't hear a click; this is because noise is composed solely of clicks of varying intensity. Therefore, you don't need a "ramp" (cf. 3.1.2.1.2). `noise~`物件會導致揚聲器的振膜隨機地震動。當你開啟或關閉這個聲音的時候不會聽到喀擦聲(click),這是因為噪音(noise)其實就是由很多不同音量強度的喀擦聲所組成。因此你不需要任何的「斜坡(ramp)」。 ### 3.3.3.2 粉紅噪音 Pink noise > In addition to white noise, there is also "pink" noise. The human ear does not hear all frequency ranges at the same volume. It hears best around 2000 Hz, that's why white noise sounds somewhat high. We hear considerably worse in the low and high frequency ranges. If you want to create a noise that humans will perceive as an evenly distribution of all frequencies, you have to adapt it to the way we hear, i.e., the low frequencies have to be significantly louder than the middle frequencies. This distribution is called pink noise and can be generated in Pd using the "pink~" object: 除了白噪音之外,還有「粉紅噪音」。 不同頻率的聲音對人類的耳朵來說,聽到的聲音大小會不一樣,在2000赫茲附近的聲音感受最大聲,這也就是為什麼白噪音聽起來好像很高。相對於高頻,我們的耳朵對低頻的感受較差。如果你想要製造一種噪音,讓人類感受到所有的頻率音量平均分配,就必須配合人類聽到的方式,換句話說,低頻必須比中頻的音量大很多。這種分布的噪音我們叫做「粉紅噪音(pink noise)」,在Pd之中可以用`pink~`物件來產生: ### 3.3.3.3 DC offset > When using a microphone, the signal will often exhibit a ground current. This is called "DC offset". The result is this waveform: 使用麥克風的時候,訊號常常會建立在一接地電流。這個叫做「直流偏移(DC offset)」,結果就像下面這個波形: > This offset amounts to an infinitely slow vibration with a frequency that approaches 0. Because it is so low, it can be filtered out with a high-pass filter that is set extremely low: 這個偏移相當於一個無限慢的振動,振動頻率接近0。因為它非常的慢,所以可以被設定很低頻率的高通濾波器濾掉: ## 3.3.4 補充 For those especially interested ### 3.3.4.1 數位濾波器的工作原理 How digital filters work (<span style='background-color:yellow;'>TODO</span>:補) > The 'inner life' of digital filters is complicated. One should, however, have some sort of an idea about how precisely they work: As described in 3.1.1.3.1, a sample rate of 44100 Hz is capable of representing a wave with a maximum of 22050 Hz. This wave would have only two points per period: > If you move this wave just one position, i.e., by one sample forwards or backwards, and then add it to the original wave, the result will be that the two waves cancel each other out completely. This shift can be accomplished (in Pd-extended) with "z~". > Digital filters employ this method of delaying a wave by one sample and then adding it to the original wave to effect cancellation. The "biquad~" object can be used to adjust this by hand. It executes the following differential equation: y(n) = ff1 * w(n) + ff2 * w(n - 1) + ff3 * w(n - 2) with w[n] = x[n] + fb1 * x[n - 1] + fb2 * x[n - 2]. > 'n' is the sample position and ff1, ff2, ff3, fb1, and fb2 are freely defined factors. In Pd, "biquad~" then requires five arguments for ff1, ff2, ff3, fb1, and fb2. The syntax is as follows: "biquad~" [fb1] [fb2] [ff1] [ff2] [ff3]. For the case of the wave of 22050 Hz discussed at the beginning of this section, you could also write "biquad~ 0 0 1 1 0". This suppresses high frequencies, especially waves with a frequency of 22050 Hz, which are completely cancelled out. Here is a low-pass filter using "biquad~": > You can use the biquad formula to create many other kinds of filters. For example, the arguments 1.41407 -0.9998 1 -1.41421 1 will make a "band-reject filter". This is the inverse of a band-pass filter; it rejects - i.e., blocks - a certain band of frequencies around a central frequency, in this case 5512.5 Hz. The explanation for this type of calculation would fill an entire book. In Pd-extended there are objects ("band-pass", "equalizer", "highpass", "highshelf", "hlshelf", "lowpass", "lowshelf", "notch") that carry out these calculations. The advantage of the biquad filter is that considerably steeper filter profiles are possible than with, say, "lop~", "hip~", or "bp~". The drawback is that it not only suppresses certain frequencies but also significantly intensifies others to the point of "explosion" (you can see in the formula, that the filter works recursively). > With biquad processing you can also see that filters employ phase shifts. That's why, e.g., a "bp~" object isn't simply the inversion of a band-reject filter: > # 3.4 [取樣 Sampling](http://www.pd-tutorial.com/english/ch03s04.html) ## 3.4.1 理論 > Let's clear up a potentially problematic issue to avoid any confusion: you've already learned that a sample is the smallest unit used for measuring and generating sound in a computer. The word 'sample' unfortunately also has another, quite different meaning in electronic music; it means a smallish section (usually a couple seconds long) of recorded sound. This chapter deals with the processing of short recorded bits of sound. First you'll have to learn how "array" works in Pd, which requires a fair amount of explanation. 讓我們來釐清幾個問題,以免混淆:你已經學到一個樣本(sample)的意思是電腦上產生聲音的最小單位。然而,這個「樣本(sample)」在電子音樂上還有另個不同的意思—一小段短的錄音(通常只有幾秒鐘)。本章將介紹處理小位元的錄音過程。首先,你將會學習Pd中「array(陣列)」是怎麼工作的。 ### 3.4.1.1 儲存聲音 Storing sound #### 3.4.1.1.1 音檔 Sound files > There are various locations in the computer where files can be saved: main memory or hard disks. Access to main memory is very fast in comparison to the hard disk; however, it has much less available space. 電腦儲存檔案的地方有幾個:主記憶體(main memory)或硬碟(hard disk)。存取主記憶體比存取硬碟的速度還快,但是主記憶體能使用的空間較少。 > In Pd you can save sound to both locations. Saving to the hard disk means that you are saving a fixed sound file. WAV or AIFF formats are typically used. Use the "writesf~" object to write a sound file to disk. The argument is the number of channels; this creates a corresponding number of inlets to which you attach the sounds you want to record. First you have to use the message "open [name]" to choose the name of the file you want to create. Start recording using "start" and stop it using "stop". 在Pd中,你都可以儲存聲音在這兩個地方。存入硬碟表示存一個固定的音檔,一般使用WAV或AIFF的格式。使用`writesf~`物件將一個音檔寫到硬碟中,其輸入的參數是聲道數,此物件會創建相應數量的輸入口讓你連接想要儲存的聲音。在那之前,你必須先送`open [name]`的訊息給它,告訴它要創建的音檔名稱。輸入`start`開始錄音;輸入`stop`停止錄音。 #### 3.4.1.1.2 Buffers > The other possible location is the main memory. Create one place for one sound using "array" (Put Array then click "ok"). It is also a visualization of the sound. 另一個可以存的地方就是主記憶體(main memory)。用「陣列(array)」創建一個空間來儲存一個聲音(選單上`Put` > `Array`然後按下`OK`)。它亦可看成視覺化的聲音。 > Let's first think of an array simply as storage for numbers. An array has a limited number of storage places. You can set this number using by right-clicking the array and going to "Properties". This opens two windows: one labeled "array" and the other labeled "canvas". In the "array" window, you can set the size. This number means the number of storage places. One number can be stored in each storage place. 我們先簡化地把陣列看成一些儲存的數字,一個陣列儲存是有限的。你可以設定這個值: 在陣列上點選`右鍵`>`Properties`,此時會出現兩個視窗—「array」以及「canvas」。在「array」視窗中,可以設定儲存空間的數量大小,每個數字可以被存在每個小空間。 > You can allocate these cells using "tabwrite". The right argument determines the position; the left determines the value you want to save (as always: from right to left). In the array, the x-axis shows position and the y-axis shows the value: 你可以透過 `tabwrite` 分配這些小空間(cells)。右邊的參數決定儲存位置,左邊的參數則是決定要存什麼(在Pd輸入順序永遠是從右到左)。在陣列中,x軸代表位置,y軸代表儲存的值。 ### 3.4.1.2 Playback of saved sound ### 3.4.1.3 Audio delay ## 3.4.2 應用 ## 3.4.3 附錄 ### 3.4.3.1 Array oscillator ### 3.4.3.2 Array playback ### 3.4.3.3 Playing back an array in a block ### 3.4.3.4 Glissandi of samples ### 3.4.3.5 Additive synthesis with array ### 3.4.3.6 Latency ## 3.4.4 補充 For especially interested