新媒體藝術 彙整 | Creative Coding TW - 互動程式創作台灣站 https://creativecoding.in/tag/新媒體藝術/ 蒐集互動設計案例、教學與業界資源,幫助你一起進入互動程式創作的產業 Fri, 11 Nov 2022 03:09:29 +0000 zh-TW hourly 1 https://wordpress.org/?v=6.2.2 https://creativecoding.in/wp-content/uploads/2022/03/cropped-cct-logo-icon-2-32x32.png 新媒體藝術 彙整 | Creative Coding TW - 互動程式創作台灣站 https://creativecoding.in/tag/新媒體藝術/ 32 32 【互動網頁設計網聚】KIVΛMKII 科幻聲音之旅-Projectλ工作室 Kiva Wu https://creativecoding.in/2022/10/17/sound-kiva-wu/ Mon, 17 Oct 2022 08:03:19 +0000 https://creativecoding.in/?p=2978 2022年4月9日的互動網頁設計網聚邀請到許多夥伴來分享,本篇由 Projectλ 工作室的 Kiva Wu 來跟我們分享聲音編程的相關知識,從中認識聲音設計的考量觀點、效果變化。

這篇文章 【互動網頁設計網聚】KIVΛMKII 科幻聲音之旅-Projectλ工作室 Kiva Wu 最早出現於 Creative Coding TW - 互動程式創作台灣站

]]>
2022 年 04 月 09 日舉辦的互動網頁設計網聚邀請到許多夥伴來分享,其中很高興邀請到 Projectλ 工作室 Kiva Wu,來跟我們分享聲音編成的相關知識,讓我們能從中認識的聲音設計的考量觀點、效果變化。讓我們一起聽聽看吧!

KIVΛMKII 科幻聲音之旅:經驗分享

大家好,我是 Kiva,我是做聲音工作的,不過這是我第一次講非關聲音主題的專場,所以我現在有點緊張(笑)。今天希望能從我的專業和技術出發,帶大家看看相關的專案,從基礎知識開始,讓大家從聲音的角度理解「設計聲音」這件事情,我在設計聲音的時候也會根據畫面做轉換,這與大家在視覺設計上也許也有共通的地方。

我們先聽一小段我的作品,☞ 前往聆聽(編按:是好聽、有趣也很特別的一段音樂,有興趣的人推薦花個兩分半的時間聽聽看喔!),我會定義自己的曲風是 Cinematic、Base music,我以前是玩樂團的,後來對電子音樂產生興趣,接觸到 EDM、Trance,越聽越深以後就接觸到 base music、mid-tempo,最近很紅的一款遊戲 Cyberpunk 2077 裡面的配樂都是這種類型的音樂。我自己對這樣的曲風以及這樣的曲風如何呈現畫面感或電影的感覺非常有興趣,所以我至今都在專研怎麼做出這樣的效果跟聲音。

我們可以看一下在軟體裡面能夠對聲音做什麼樣的處理跟應用。在數位音樂軟體中,音樂檔案會分軌、線性的方式來呈現,我們在裡面也會用到很多生成式藝術,我們會用聲音作為 source,再用許多不同的效果器讓電腦隨機對這個聲音做出變化。我自己偏好在這個過程之後再加上一個步驟,也就是當聲音生成為不同的段落以後,再透過 audio 的方式將它們剪下來,然後選出我喜歡的段落來使用。這樣就能讓自己設計的 source,再加上 audio 作出的變化,再以自己偏好的方式編排,就能產生非常原創、獨一無二的作品。

我們先大概介紹一下有什麼基本的效果器可以使用,聲音的效果器有非常多種,但其實可以將它們歸納為三個類別:dynamic(動態)、frequency(頻率)跟 space(空間)。通常在設計聲音的時候,可以注意到現在我們在聽音樂的時候大概 95% 以上都是用 stereo 格式,也就是兩個發聲體,但是你必須要創造 3D 的效果給聽眾,有點像是我們在設計 3D 的影像,雖然螢幕是平面的,但可以利用大小、遠近、光影製造出立體的效果。聲音也是一模一樣的概念,我們可以利用聲音的大小、遠近、頻率的高低或空間中的位置不同,讓聽的人感覺到空間,去聽到聲音的位置差異等等,其實是用不同的效果讓大腦產生 3D 的錯覺。

Dynamic(動態)

動態其實是在控制聲音的大小,因此如果這個效果器會對音量產生嚴重的變化,我就會歸類在 dynamic,例如 compress、saturation 等等。

Frequency(頻率)

因為現實空間是 3D 的,聲音也分為三個軸,上下、前後、左右,而 dynamic 控制的是前後軸,一個聲音如果是一樣的狀態,當它越大聲代表離你越近、越小則越遠;而 frequency 控制的則是上下軸,當聲音高頻越多,聽起來就會在音場的上面;低頻越多則會在音場的下面。這跟我們人體如何跟音頻共鳴有關:高頻的聲音是跟鼻腔產生共鳴,低頻的聲音則是跟胸腔共鳴,因此即使你是帶著耳機聽見一個聲音,即使這個聲音並沒有在空間中產生任何震動,我們的大腦也會自動產生高頻在顱腔上方、低頻在顱腔下方的判斷,在腦內建構出音場。因此我們也是利用大腦這樣的特性,在音樂中產生不同的聽覺效果。

Space(空間)

Space 就是左右軸,也就是聲音要多寬?如果一個聲音是 mono 單聲道的,比如說我現在講話是單聲道,但是透過喇叭傳出來、在空間中迴盪的效果,你們聽起來就會是 stereo 立體聲的,也就是你們左右腦聽到的聲音會有些微的差異。當左右腦聽見的資訊有差距的時候,大腦就會認為這是一個立體的聲音。因此假設今天左右喇叭放出來的聲音是一模一樣的時候,大腦就會把它處理成中間訊號。

假設平常有在戴耳機聽音樂或者用喇叭放出來的習慣的話,可以觀察看看,有些音樂的 vocal 或是鼓聲這類的主要元素,會在兩個音場的中間,但是實體空間的中間並沒有喇叭,這就是利用大腦的特性產生的錯覺。

Sound Design(聲音設計)

最後還有一類是 sound design 類,後面時間許可我後面會再多介紹。這種類型是針對聲音的時間軸或生成的東西做一些亂數的變化,讓我們的聲音變得更豐富。如果是用這類生成的技術在處理聲音或設計的話,就會像是在跟電腦對話,因為它會產生什麼其實是沒有辦法控制的。

這也是為什麼我會在聲音處理的流程後再加上一個編排的程序,因為當我在設計聲音的時候需要讓它是合理的、有一定的音樂性。例如是在同一個調性上、或是在一定的節拍中出現,因此我會在流程的後面加上一個將這些亂數的東西排列,讓它聽起來是一個有邏輯的音樂,而不僅是一個聲響。

我自己做音樂的時候會在這兩者之間做調整,讓它不是流行的音樂、但也不完全是聲響,我喜歡抓取中間的平衡點,這是我自己在創作時覺得很有趣的地方。

聲音設計的音軌
藍色部分是節奏類的聲音

在創作聲音時我會把音軌分成幾大類,畫面上藍色的部分會是節奏類的聲音,如:鼓、鈸等。

在我們設計聲音的時候,通常會有兩種音軌,一個是 audio 軌,一個是 midi 軌。audio 軌跟剪輯影片比較像,當你輸入一段音樂的時候,畫面上會有音樂的波形可以看,能夠看到聲音的大小、形狀等等,midi 軌的話則是會送一段 midi 訊號給電腦,電腦收到訊號以後,就會去讀取 midi 訊號裡的資訊,midi 訊號中主要有音高、 velocity(速率)等訊息,這些不同的參數會傳給電腦,電腦則去找出對應的參數、給出不同的回饋,所以我們可以透過這些細微的參數去調整聲音的變化。

紫色的部分是無機的聲音
紫色的部分是無機的聲音

紫色的部分則是我的有機樂器組。我在做聲音的時候喜歡把音樂分成有機跟無機,所謂的無機就是全部都是用合成器做的,在現實生活中比較不可能接觸到的聲音;而有機就是在現實生活中辨識度比較高的聲音,例如人聲、小提琴或是鈸類的聲音等,聽到這類聲音的時候較容易想像對應的樂器是什麼,無機的聲因則比較有序、會覺得是冰冷的,更接近是電腦程式算出來的聲音,比如說合成器產生的聲音全部都是整齊的,在現實世界中比較不容易聽到這樣的聲音。

我們可以這樣理解,當我們想要把一個聲音做得越有機的時候,其實可以讓它隨機性多一點,因為我們現實中很難接觸到很有序的聲音,很有序的聲音通常都是經過設計的,如果我們希望把聲音做的越有溫度、越人性化、越貼近自然的話,隨機性就要高一點。

但如果我們要做音樂,就不能都是隨機的東西,這樣聽眾會無法理解作曲家的意圖,所以為了要跟聽眾有互動感或邏輯感,好像是一種語言般的方式傳遞訊息給他人。

做音樂會分成作曲、編曲、錄音的環節。作曲是先寫出這首歌的概念、旋律或歌詞;接著是編曲,這首歌要是什麼樣的調性?每個段落怎麼安排?配什麼樣的樂器?最後是錄音,歌曲中有些東西如果是需要實錄的,我們就會進錄音室錄音。

但因為現在科技越來越發達,我們許多聲音都能利用電腦模擬出來,像是人聲,雖然也許還能夠聽得出一些破綻,但已經能夠模擬得很像,因此會有 vocal voice、初音這樣的產品,雖然我們聽得出來是電子音,但初音還是成為了一個許多人崇拜的虛擬偶像。

錄音之後會進到混音的環節,比如說 mixing,像畫面上這樣一軌一軌的聲音,我們去做音量上的調整、頻率的調整、三軸上平衡的調整等等,三軸的調整之所以重要,是因為我們在做數位音樂的時候,其實有許多的限制。

比如說:超過 0 分貝會爆掉,所謂爆掉表示上面的音訊已經受損了,電腦無法幫你記錄下來,因為電腦在記錄聲音是有一個固定的量,比如說我現在看一個單獨的音軌波形,桃紅色裡面的音軌有兩個,因為這是一個 stereo 的檔案,上面是左聲道、下面是右聲道,透過聲音的震動變化,電腦會將這個訊號送到喇叭的單體,單體裡面是一個磁鐵,單體根據訊號產生震動,讓我們聽到相應的聲音。

聲音的波形
聲音的波形

假設我把這個聲音的訊號往上推,堆到一定程度後它會變成平的,也就是超過了一定的值,當它超過一定的值以後,電腦就不會再記錄了,你再看它的波形就會發現有些地方的資訊不見了,這樣的聲音聽起來就會很可怕,會讓人很不舒服。所以我們可以用一些 compressor 或 limiter(限制器)之類的東西去處理它。

超過特定值的聲音不會被記錄
超過特定值的聲音不會被記錄

效果器

下面我們來介紹一些基本的效果器,瞭解效果器能對聲音做出什麼樣的應用。

之後如果我們講到聲音的動態變化,其實就是在指聲音的最小跟最大聲的差異值。例如說當我們說這段聲音的動態很大,就是在說這個聲音的最小聲到最大聲的差異很大;如果我們說這個聲音沒有什麼動態,表示這段聲音從頭到尾的音量是差不多的。

我們在做聲音時偶爾會需要動態很大的聲音,譬如遊戲的配樂,因為遊戲的前面可能會有人講話的聲音、可能會有其他音效,因此不能讓不同的聲音彼此覆蓋掉。比如說假設我今天在做 PS5 遊戲的配樂,我就不能以一般流行音樂的格式處理,如果這麼做的話,遊戲中其他的聲音加上去之後,就會造成數據超出接受範圍,玩家在玩遊戲的時候就不是一個好的體驗。

我們今天舉例使用一段鋼琴的音樂加上效果器做變化。我們可以使用編輯音樂的軟體裡內建的效果器,若內建的效果器不能滿足需求的話,就會額外使用外部插件(Plug-in)。

插件的部分如果是 Mac,一般我們可以使用 AU(Audio Units)或是 VST,這兩個軟體的格式在影片製作軟裡中也是相容的,因此在影片中若需要對音樂做人聲的處理等等,也能使用這些插件來完成。比如說覺得音樂疊加上人聲變得太大聲,就能夠使用 compressor 把兩個聲音壓縮到同一個音量,讓最後轉出的聲音能夠在容許值的範圍內,觀眾的聽覺體驗比較好。

圖像設計者在使用的圖像編輯軟體中也大多會有 EQ( Equaliser,均衡器) 類的編輯器,用來調整色溫,而在音樂編輯軟體中,也會需要同樣的編輯器,來調整音樂的「色溫」,因為音樂也是有所謂的色彩。通常我們會將高頻的聲音歸類在冷色系,低頻的聲音歸類在暖色系,我自己在設計音樂的時候也是如此,假設今天的畫面是冰冷的,我就會用比較高頻的聲音去點綴;如果要設計的聲音是比較溫暖的,我可能就會用比較低頻的人聲或是大提琴點綴。

頻譜的左邊是低頻、右邊是高頻
頻譜的左邊是低頻、右邊是高頻

現在畫面中播放的音樂會有一個自動生成的圖像,我們稱之為頻譜,頻譜的左邊是低頻、右邊是高頻,剛剛有談到音樂的三軸,數位音樂在這三軸上有各自的限制。例如說音量有一個表頭的限制,一但超過 0db 就會爆音,而表頭的值是從 0、-1、-2 開始依次遞減,因此超過 0db 的聲音就會產生 clipping 的效果,會聽到的是「劈劈啪啪」的爆音。

第二個限制則是頻率,也就是豎軸的限制。人耳能夠接受音頻的範圍是在 20 赫茲到 20,000 赫茲,超過這個範圍的聲音人耳是聽不到的,也會根據你的年齡增長變窄,因此建議平常有帶著耳機聽音樂習慣的人,不要連續戴超過一個小時,因為超過 28 歲以後,當耳朵的聽覺細胞受損是無法再回復的,所以能聽到的頻率範圍只會越來越窄。

那頻率上的效果器能做的例如把高頻的聲音砍掉,我們叫做低通濾波器(Low-pass filter 或是 high-cut),這樣聲音高頻的聲音就會減少,像我們現場的這個喇叭並不支援低頻聲音,當我經過 filter 把高頻的聲音都砍掉,只剩下 60 赫茲以下的聲音,現場其實是聽不到聲音的,這個動作我們就叫 filter(過濾)。因此當我們覺得一個聲音的高頻太多、覆蓋到其他聲音的時候,我們就能夠透過 filter 過濾掉。

或者我們能夠透過另一種做法 Shelf。例如 high shelf 就是以某一個頻率做基準點,基準點以上的頻率全部做增或減,比如說我將以上的頻率都降低以後,聽眾聽起來會覺得高頻的聲音還留著,但是變小聲了,這樣的效果在音場上產生的作用是,雖然彈鋼琴的人還站在原地,但聲音變遠了,因此聽眾的感覺是這個聲音變得向前傾。我們能針對某一個頻率的聲音做變化,頻率上的調整比單純音量上的變化能讓聲音變得更豐富,讓音樂不會消失或被覆蓋,疊加上其他聲音或人聲的時候也就不會超過容許值。

我們在做 mixing 的時候也就是在做這件事情,比如說我的音樂有 200 軌,要讓這 200 軌能夠同時播放但又不會超出容許範圍且每一個元素都能夠聽得很清楚,這時候我們就會去做 masking,去找出哪一個樂器需要哪一個頻率,保留需要的頻率,砍低其他不需要的頻率並讓給其他聲音,這樣就能讓音樂有立體感,讓所有聲音都存在且能夠清楚地被聽見。

聲音在不同頻率波段產生的效果和色溫其實是不一樣的,當我把同一個聲音的低頻或中低頻的聲音推多一點的時候,聽眾會覺得聲音變暖了;反之如果是高頻推多一點的時候,聲音聽起來變冷、變得比較沒有感情,這就是 EQ 可以做到的事情,EQ 也是在音量之後,最容易去做設計變化的特質。

接下來我們講空間,空間第一個會接觸到的是 delay,第二個是 revert,就這兩個。delay 是能夠複製前一個 source 往後貼上,複製的量如果越多,漸弱就會越久。效果器上有一個值是 dry wave,它代表的是 blend with original,它跟原聲之間的比例是多少,假如我們設定 100%時,就只會聽見複製的聲音,不會聽見第一個原來的聲音;反之全關的話,就只會聽見原來的聲音,不會聽見複製的聲音。因此如果我們開在 50% 的時候,聽眾能夠聽見這兩個聲音是一樣的。

我們也能夠透過速率(rate)去改變原聲跟複製聲之間的間隔,音樂有一個值叫 bpm,代表的是每一分鐘的拍數,比如說 90bpm 代表的是一分鐘有 90 拍,因此我們可以調整音樂的速度,這樣的調整很容易做出一種「聲音很寬」的感覺。

如果有人對聲音設計有興趣,我會推薦從 live 入手,好處是底下的效果器可以串無限顆,對比的是傳統的 DAW(數位音樂工作站軟體)可能會有一些限制,例如一軌只能串 10 顆,但在聲音設計中很容易一軌串到十幾二十顆,所以十顆是絕對不夠用的;live 的第二個好處是可以隨時隨地串聯、並聯,所以我可以一個訊號進去,但是分成兩個不同的效果處理,最後再合併在一起。

動態

那最後我們再看一下動態的變化。動態通常跟設計比較沒有關係,如果要跟設計有關係,要再進到 distortion(失真破音)的環節,除了做動態以外,也能夠做一些泛音,讓聲音變得豐富。在畫面的頻譜中,每一個突起的峰我們叫做「泛音」,如果是 side-wave 的話,後面是沒有泛音序列的,如果有泛音序列的話,我們會覺得這個聲音聽起來是有音色的。

通常人耳在分辨音色的時候,依據的是後面的泛音序列跟它的排列組合與動態,讓我們能夠分辨這是一個鋼琴或是小提琴的聲音。因此即使聽到的同樣是 Do 的音色,我們可以區分這是鋼琴彈出的聲音、或是小提琴拉出的聲音。

頻譜中最左邊的峰代表的是這個音的「基音(fundamental tone)」,因此假如我現在彈一個 Do,畫面上的第一個峰對照下來的就是 Do 的基音,這裡是 261.63 赫茲,因此假如我在 261 赫茲的地方製造一個 side-wave,產生的就是 Do 的音高,基音就是人耳分辨音高的位置。

聲音合成的軟體畫面
聲音合成的軟體畫面

今天我們粗略分享的就是聲音設計可以對聲音做什麼調配,如果大家對合成聲音或是相關知識有興趣的話,想知道如何從聲音的角度創造畫面的話,我自己有開設私人的課程,大家有興趣的話可以到我的 Facebook:Kiva Wu 了解更多,我們可以一起聊一些跟聲音設計相關的東西。

下面開放給大家 Q&A。

Q & A

Q:想了解 compressor 的使用?

A:好,這個會需要花一點時間讓大家理解。比如說我們現在看到一段音樂的波形,畫面上有的波很小、有的波很大,這個就是所謂的動態差。通常 compressor 正常的使用方式是把大聲的地方壓小,小聲的地方不變,因為假如我把整個音量(volume)變小的話,會連小聲的地方都變小,因此 compressor 可以幫我們做到期望的調整。

當我們把聲音放進 compressor 的時候,你會看到四個主要的參數,包括 Threshold、Ratio、Attack、Release。礙於時間的關係,今天沒有辦法講到 Attack 跟 Release。

Threshold 就是門檻,當音樂超過門檻的時候,compressor 就會把波形往下壓,這樣就能夠讓動態差變小,當動態差變小的時候,就有空間讓我們把音量(volume)一起調大。這個就是 compressor 最基本的用法。

而 Ratio 則是決定我們希望把一個聲音壓小的比例。舉例來說,我們今天的 Threshold 是 -10 db,輸入的聲音是 -6 db,-6 與 -10 差了 4 db,假如今天我們的 Ratio 是 2:1,因此它會把相差的 4db 壓掉二分之一也就是 2 db,因此最後 -6 的聲音會變成 -8 db。原理大概是這樣,也就是太大聲的聲音它會幫你壓小,而小聲的聲音則不變。

除了 compressor 以外還有很多的動態效果器,比如說 compressor 就有分 upward 跟 downward,downward 就是我們一般熟悉的把大聲的聲音壓小聲。而所謂 upward compressor 就是將沒有超過Threshold(門檻)的聲音拉大聲。

因為我們做聲音的時候會有很多軌,比如說歌手唱到情緒激昂的時候聲音會變得很大,低音或主歌的時候變小聲,而我們希望不要破壞歌手的情緒,但要保留聲音的位置,因此我們會希望把 vocal 保留在動態範圍裡面,讓它不要大聲跟小聲的聲音差距太大,我就能夠透過 compressor 座落在期望的範圍區間裡面。

那今天分享的內容就到這邊,可能比較硬技術一點,希望今天的內容可以幫今天的活動增添一點色彩,也希望大家會喜歡,謝謝。

Kiva 的 StreetVoice:https://soundcloud.com/kivawu

老闆的工商時間

看完分享你會不會對生成式藝術躍躍欲試嗎?老闆在 Hahow 的課程〈互動藝術程式創作入門(Creative Coding)〉教你認識程式與互動藝術產業應用,開啟對工程跟設計的想像,當然還有在直播中提到無數次的,內容扎實程度相當於買到賺到的〈動畫互動網頁特效入門(JS/CANVAS)〉讓你紮實掌握 JavaScript 程式與動畫基礎以及進階互動,整合應用掌控資料與顯示的 Vue.js 前端框架,完成具有設計感的互動網站。歡迎大家看看~

那,我們下次見啦~₍₍ ◝( ゚∀ ゚ )◟⁾⁾

此篇直播筆記由幫手 Kate Chu 協助整理

這篇文章 【互動網頁設計網聚】KIVΛMKII 科幻聲音之旅-Projectλ工作室 Kiva Wu 最早出現於 Creative Coding TW - 互動程式創作台灣站

]]>
五月社群聚(上):吳秉聖的聲音、光、裝置與創意程式 https://creativecoding.in/2022/05/31/creative-coding-meetup-202205-pingshenwu/ Tue, 31 May 2022 02:50:00 +0000 https://creativecoding.in/?p=2820 第二次的 Creative Coding 社群聚,我們邀請到了聲音藝術家吳秉聖以及Team9技術長張文瀚來為大家做分享。這次一樣分成上下兩集,上集由吳秉聖帶來聲音、光、裝置與創意程式的互動關係。

這篇文章 五月社群聚(上):吳秉聖的聲音、光、裝置與創意程式 最早出現於 Creative Coding TW - 互動程式創作台灣站

]]>
第二次的 Creative Coding 社群聚,我們邀請到了聲音藝術家、同時也是噪咖藝術的音樂統籌吳秉聖,以及 Team9 技術長、黑洞創造前端工程師及國立清華大學藝術學院的兼任教師張文瀚,分別和我們分享聲音裝置作品經驗,以及 fragment shader 用數學作畫的入門介紹。這次一樣分成上下兩集,上集由吳秉聖帶來聲音、光、裝置與創意程式的互動關係。

在活動正式開始之前,先來宣傳一下墨雨設計最近的一個徵文比賽:第一屆互動程式創作徵文賞,只要是有關互動藝術、動態網頁、人機互動、沉浸式內容、XR等主題的文章皆可投稿,單篇只要600字以上,且可以一人投多件,相關說明歡迎詳閱簡章,期待很快能在Creative Coding Taiwan上看到你的作品!

吳秉聖

現在是噪咖藝術的音樂統籌,也是一位聲音藝術家的吳秉聖,剛開始從視覺藝術以及聲音藝術這兩個領域鑽研,研究所開始研究影像和配樂,去英國交換時念了creative sound and media technology,開啟了這一段旅程。

他所任職的噪咖藝術有限公司是一個推動新媒體藝術和裝置創作的團隊,整合多種領域的專業人才和力量,參與數位藝術展覽/公共藝術、教育活動、文創空間規劃等。也正因團隊中的成員多來自不同背景及專業,能完成的作品和個人藝術家能夠達成的事情亦不相同,相對的,在創作的過程中,勢必也須要大量的溝通才能夠擦出最亮眼的火花。

現場演出/聲音裝置/聲音設計

吳秉聖的創作可以分成三類,分別是(音像或是實驗噪音的)現場演出、(聲響實驗室、美術館或藝廊的)聲音裝置以及聲音設計(包含動畫、新媒體劇場及舞蹈演出)。他並沒有工程或是程式語言的背景,而是從創意 (Creative) 出發,慢慢開始學習 Coding,在此之前也不曾梳理自己跟 Creative Coding 的關係過,謝謝哲宇與Jerry的邀請,這次從過去在新媒體藝術團隊參與的專案,以創作及技術兩個不同的層面切入,和大家分享。

吳秉聖的四件重要作品:<城市升溫>、<脆弱的透鳴>、兩個波場合成系統研究裝置
吳秉聖的四件重要作品:<城市升溫>、<脆弱的透鳴>、兩個波場合成系統研究裝置

(左上)之前在歌劇院的音像現場演出<城市升溫>,與視覺藝術家合作,吳秉聖則負責處理音樂跟互動的部分。

(右上)個人的聲音裝置作品<脆弱的透鳴 The Resonance of Fragile>,主要透過振動頻率讓紙張發出聲響,藉由這件作品試圖討論聲音與空間之間的關係。

(左下)近期的個人研究,波場合成系統 (wave field synthesis) 透過緊密排列的喇叭形成的一種物理特性,將聲響直接投放到聆聽者的耳邊,可以想像成是一種聲音的投影機。

(右下)聲響實驗室的波場合成系統跟大型多聲道系統整合。

延伸閱讀:C-LAB實驗波 觀察報告:聲音場景的取樣、錄製與再建置

吳秉聖常用的創作軟體為 Max MSP 及 Touch Designer ,都是視覺化的程式撰寫工具,差別在於 Max MSP 主要處理聲音或是影像,吳秉聖常拿來做聲音邏輯安排和互動裝置的串接; Touch Designer 則著重於影像處理、燈光控制、裝置整合等。下面就一一介紹幾件結合聲音、光與互動裝置的作品吧!

縫與花

<縫與花>是一件位在萬華的公共藝術作品,呼應萬華當地的服飾商圈,以燈光裝置將地景和在地文化縫合在一起。

裝置的曲線和地面其實分別代表著縫線和布的相互關係,以弧形為整體的基本造型,配合既有地形做排列規劃。

公共藝術裝置<縫與花>單個燈光裝置的結構以及整體分布配置
公共藝術裝置<縫與花>單個燈光裝置的結構以及整體分布配置

上圖左邊是尺寸和固定結構,燈光在正下方,地面上也有反光。右邊是整體燈光分布和距離配置,因為裝置是靜態,希望透過光的流動帶入一些動態元素,所以除了造型上有穿針引線的意象外,也以「光」來回應縫的主題。

接下來的考驗在於如何用燈光來實踐「縫」這個動詞,詮釋車縫機和拷克的動作?因為在公共場域中的燈光設計和舞台劇場很不一樣,以下做了不同的嘗試,可以看到有橫向、直向、縱錯、交錯、點狀、跳躍等的方式。

<縫與花>不同燈光模式設計
<縫與花>程式模擬的燈光效果對比裝置現場成果
<縫與花>程式模擬的燈光效果對比裝置現場成果

上下圖分別是程式模擬的燈光效果,以及最後到現場的呈現,其實也還是會有一些差異,但透過 Touch Designer 加一些 shader ,在進場安裝之前利用模擬出來的場景,確認好作品的視覺畫面,模擬設計得好,就能減少不必要的風吹日曬雨淋,對於戶外裝置的公共藝術作品有事半功倍的效果。

光譜印象

下一件作品是<光譜印象>,位於戲曲中心廣場與台灣音樂館之間廊道,同樣是地板燈光,但跟上件作品不同的是加了更多與音樂的互動。因為音樂館有豐富的音樂及樂譜的館藏資料,所以燈光上的設計希望以流動的數位化樂譜為題,使觀者與作品互動。

<光譜印象>模擬圖
<光譜印象>模擬圖

地板上有燈光的亮點,呼應音樂編輯軟體中,midi 訊號的排列方式。廣場上的燈光燈柱經過改裝,增加了幾個感測器還有幾組四聲道的喇叭,透過感測器觸發燈光和音樂。

在製作燈光和影像設計的過程中,需要注意不同載體的規格也會影響呈現效果:一開始在螢幕上的設計轉移到了大型 LED 螢幕搭配感測器時,或是第三階段到了現場安裝,細節可能不會和最當初的設計想像完全一樣,需要再三來回測試、確認和調整。

無限放大器

<無限放大器>民眾互動現場照片
<無限放大器>民眾互動現場照片

<無限放大器>是一件期間性的藝術裝置,以「合成器的使用方式」做為整件作品的核心概念,介於街道家具/遊具的裝置,放在台北流行音樂中心外的綠帶空間給民眾參與。

如何將互動做得平易近人,同時又富有教育意義,是這件作品最有挑戰的地方,以引導的方式引領民眾願意主動學習互動,不需要有使用合成器的底子或經驗也能寓教於樂。

由六個大小不一的金屬箱體組合成放大版的 MIDI 合成器,透過箱體上的旋鈕及按鈕可以產生多樣的音色與速度變化。六個機箱有各自不同的喇叭,當觀眾對旋鈕或按鈕互動時,對應箱體的喇叭就會針對觀眾的互動做訊號回饋。在燈光和聲音的設計上,以如何引導、給予適切的視聽覺回饋去發想。

這件裝置有三種互動的模式,透過旋鈕來選擇:一是米老鼠式的互動,一按就有聲音以及燈光的反饋;二是遊戲的模式,觀察哪邊在閃,去觸動它,就會有聲響的回饋;三是再現減法合成器的運作模式。

虹光.聲棒

位於上海的商場中的<虹光.聲棒>作品,從雨棒(又稱「雨聲筒」等)樂器的概念出發,傳統的製作方式即是找竹子釘上密集的釘子,放入一定數量的紅豆或綠豆,翻轉製造出下雨般的聲響。

<虹光.聲棒>利用玻璃柱體抬升和下降的動態來產生聲音,柱體裡面有玻璃珠、燈光、隔板,有一種沙漏的意象外,也體現了時間感的過度和流逝。

運作模式是透過排列和傾倒的方式去移動,每個整點會演出一次,因作品裝置在商場裡的關係,會有些技術面例如維護、安全性、摩擦後透光度等等需要特別注意。

<虹光.聲棒>聲光裝置的演出排列方式動態模擬

演出模式的模擬動態,為了表現不同音樂的橋段還有時間,而衍生出不同的動態思考:飛行、下潛、游泳,軟(波動)和硬(計時翻動)的視覺感律動。

但其實這些不同的律動都是由各種波形堆疊而成的,右圖上半部就是說明正弦波堆疊升方波的過程,利用不同的波形來慢慢堆疊出我們所想要的動態。

下方示意圖則是從側邊去觀察動態,當波形互相作用後,會出現位移距離造成時間差的問題,圖中橘色點要移到黑色點的位置,每個裝置要移動的距離不一樣,因此就要依照每個不同的距離去分配它的速度,這也是這件裝置比較特別的地方。

上:不同波形疊加的過程;下:側面動態
上:不同波形疊加的過程;下:側面動態
<虹光.聲棒>的主要元素以及各自互動關係思考
<虹光.聲棒>的主要元素以及各自互動關係思考

此裝置主要的四個元素是「動態」、「音樂」、「燈光」、「物理聲響」,設計時會有一些提問,例如動態所產生的物理聲響如何安排在空間中?由左到右、近而遠,還是由遠而近?抑或是燈光與動態間的關係?燈光可否輔助柱內移動的粒子?還是物理聲響如何與環境中的音樂做搭配?當互動裝置放置在公共場域時,除了處理裝置本身之外,也需要思考整體環境跟裝置的融合狀態。

音樂樹

<音樂樹>裝置照片
<音樂樹>裝置照片

<音樂樹>是一件戶外樂器裝置作品,位於台灣音樂館,是一個像是大樹樹枝狀的結構,將音樂像系譜般發散出去,但樹枝末稍長了鳥屋,每間都有一隻小鳥叼著紅色的球,敲擊橘色的鐵琴發出聲響,同時在夜間也有燈光的安排。

這件作品有三個重要的元素,LED 螢幕上的動畫、樂器、燈光,利用 Touch Designer 與燈光系統溝通,用 MIDI 跟樂器溝通,再跟整棟大樓開關電的系統溝通,最後用程式將他們全部整合在一起。

大家會好奇樹上鳥屋的音階是怎麼安排的嗎?

<音樂樹>的鳥屋和音階排列組合關係
<音樂樹>的鳥屋和音階排列組合關係

不同音高的鐵琴有不同的長度和厚度,在製作裝置的過程中,除了決定鐵琴尺寸外,還有要如何在樹上排列,最後用旋轉上升的方式安排這些鳥屋的實體位置,中下圖的紅色箭頭呈現螺旋狀,標明了音階的關係,達到最佳的視覺及聽覺效果。

在做控制的時候,中間的流程分成三大部分:
1.程式呼叫編號,讀取完整曲目或是隨機選取樂句,判斷音高、長度、響度後送給機構做動作;
2.機構動作,會有行程差異、裝設位置差異、物理特性(重力/慣性)、機構設計差異等;
3.樂器發聲,視敲擊的材質、角度、力道、位置而定,即使是用一樣的力道敲打同一個鐵琴、同一個音鍵的同一個位置,兩次都不會是完全一樣的聲音。

登月計畫

<登月計畫>
<登月計畫>

暫時性的裝置作品,當時設置在流行音樂中心。流行音樂是最接近大眾的音樂形式,透過大型互動樂器裝置,加上現場複合式的演出,以張雨生跟月球為主題延伸出來的作品。裝置上布滿各種樂器:爵士鼓、鐵琴、木魚、鈸等,除了樂器之外還有燈光的安排,因燈具數量龐大,如何串接、編碼,同時又顧到樂器驅動的工作,需要蠻多時間一一處理。

有趣的經驗想跟大家分享:用程式寫聲音創作的時候,想要它甚麼時間點觸發都可以輕易設計,但若是在真正的、物理的樂器上,觸發後會有一個反應時間,每一種樂器的動態機構不一樣,觸發反應所需的時間也不盡相同,所以程式中編好的音樂,在真正的樂器上演奏時,會是完全另外一回事(嚴重到創作者也認不出來的地步。

因為不是程式背景出生,這次分享的作品如同先前提到的,多使用 Max MSP 及 Touch Designer 等視覺化程式語言編寫工具創作。

影片為Maxmsp說明範例,透過正弦波合成類似鳥鳴的聲響設計

視覺化程式語言的優勢,是能夠「快速」將需求「達到目的」所使用的工具和手段。只需要一些程式背景知識,就能夠製作;又有點像流程圖,在檢查時能快速理解流程和邏輯,對於視覺或設計背景的人來說,是學習程式的入門。

相對的它也是有缺點,簡單的邏輯卻需要很繁雜的串接才能達成,有可能一行程式碼就能解決的問題,視覺化程式語言要上百條線。

最近吳秉聖嘗試在 Shader 上創作的一些 pattern,也是用波形去做堆疊跟合成。
最近吳秉聖嘗試在 Shader 上創作的一些 pattern,也是用波形去做堆疊跟合成。

不知道讀到這裡的你,對聲音設計或是互動裝置是否更加好奇了呢?附上吳秉聖的相關連結看看他在 Fxhash、Oursong 等不同平台上發表的更多有趣的作品囉!

五月社群聚的下集則是由張文瀚分享 fragment shader 的有趣創作思維,以及三位 lightning talk 根據這次的共創主題「山」帶來的創作分享。>> 文章這邊請:五月社群聚(下):張文瀚教你用數學作畫 GLSL fragment shader

還不知道如何開始踏入 Creative Coding 嗎?那 Hahow 課程 <互動藝術創作程式入門>再適合你不過了,快加入2000位同學的行列,一起學習互動藝術創作吧!

墨雨設計banner

整理編輯:Chia 編

這篇文章 五月社群聚(上):吳秉聖的聲音、光、裝置與創意程式 最早出現於 Creative Coding TW - 互動程式創作台灣站

]]>
初次見面請多指教!Creative Coding第一次社群聚(中)Hoba與叁式的演算視覺邁進之路 https://creativecoding.in/2022/05/07/creative-coding-meetup-202204-hoba/ Sat, 07 May 2022 02:24:00 +0000 https://creativecoding.in/?p=2649 叁式互動新媒體的技術美術Hoba帶來演算視覺在展演和商業上的應用,揭露近年來精彩的作品幕後製作祕辛,文末也帶來社群聚的創作者張文瀚帶來作品Wormhole分享。

這篇文章 初次見面請多指教!Creative Coding第一次社群聚(中)Hoba與叁式的演算視覺邁進之路 最早出現於 Creative Coding TW - 互動程式創作台灣站

]]>
上一篇 初次見面請多指教!Creative Coding第一次社群聚(上)吳哲宇的生成式藝術宇宙 我們聊了Creative Coding,還有藝術家吳哲宇從 p5.js 到 Shader 的生成式藝術(Generative art)創作之路。

本篇文章則是由叁式互動新媒體的技術美術Hoba帶來演算視覺的應用,不藏私揭露叁式近年來精彩的作品幕後祕辛(影片從這裡開始看),以及另一位與會的創作者張文瀚帶來作品 <Wormhole>分享(看看作者的詮釋及解析)。

叁式互動新媒體 Hoba <演算視覺的應用>

這次邀請到叁式互動新媒體的技術美術Hoba,以個人角度、發展歷程,觀看叁式近年來的作品。技術美術的工作內容從視覺到程式,包含 Photoshop、Illustrator、After Effects、Unity…等。

最早接觸 p5.js 是大二的時候,畢製時也用 p5.js 做了一個互動的吧檯桌,桌上酒杯利用桌下的投影產生互動影像。原本以為畢業之後不會再寫程式了,因為第一份工作是在展場設計公司做空間設計,主要就是不停設計及畫 3D 示意圖。 後來在獨自接案及因緣際會之下,來到叁式,才真正又開始寫程式。 在叁式的最早期是用 openFrameworks,去繪製各種東西。那時候學了各種不同的 shader (fragment、geometry、compute),來控制粒子(particle)的點、形狀及運動方式,也做出一些測試用的作品,像是一些比較混亂的形狀或水墨的效果。

不同shader製作出的視覺效果都不同
不同shader製作出的視覺效果都不同

叁式其實用了很多不同的感應器(sensor)及各式各樣的演算法去結合視覺來創作。以此作品為例, openFrameworks 加上 NVIDIA 的 Flex 物理引擎(現已停止維護),就可以模擬出水的波紋或煙的視覺(參考影片),像這樣可以讓粒子像水一樣在空間中流動,甚至可以改變空間中的重力,讓這些粒子朝不同方向去運動。

叁式也做了一些藝術案,常見的是跟安娜琪的合作,像是 Seventh Sense 跟 Second Body等舞蹈表演,結合叁式擅長的視覺動態特效技術。

安娜琪舞團:Seventh Sense
安娜琪舞團:Seventh Sense
安娜琪舞團:Second Body
安娜琪舞團:Second Body

以 Seventh Sense 來說,把舞台當成一個盒子,除了觀眾這面外,其他全部都打投影,在某一些特定的觀眾視角,會是一個完美透視的狀態。也包括舞者在裡面移動表演,裡面的粒子和線條都是用程式即時去畫的。

而Second Body,是用四面台,各四台 Kinect 及投影機的組合,利用 Kinect 感應器捕捉現場舞者的身體樣態,將這些捕捉到的點雲(point cloud)資料即時建成一個360度完整的 3D mesh,再將動畫準確地投影在舞者身上及地面上,完成現場表演的即時動態投影。

海尼根的時空旅人
海尼根的時空旅人
陳綺貞展出作品
陳綺貞展出作品

其他還有一些商業案,如海尼根的時空旅人是用 leap motion 感測手部動作,去擾動牆上的麥田或撥動水流;陳綺貞的展覽,使用她手寫的字體組合成她的臉,且會根據遠近變化做出顏色及大小的改變。像這樣要同時運算很多字元件是非常耗費效能的,所以必須透過 shader 的方式,在這些 geometry 裡面畫出正確的 UV 及大小。

NYX 彩妝品牌照片互動效果
NYX 彩妝品牌照片互動效果
利用shader製作的SONY網站
利用shader製作的SONY網站

為 NYX 這個彩妝品牌創造的互動作品,是利用客人發布在 IG 上的 hashtag 找出當天活動的照片,利用程式分析粗糙及平滑的地方,再疊加 NYX 的彩妝,最後用動態的方式將大小不一的多層彩妝疊合起來。

網頁形式的話,是跟SONY合作,主要是做轉場的特效。 另外如果想學習 Shader 的話,有個很好的參考學習網站叫 Shadertoy,裡面有非常多人單純用 fragment shader 去創造出各式各樣,不管是常見的濾鏡或具體的像蝸牛之類的。

蔡健雅 列穆尼亞演唱會:粒子化地景
蔡健雅 列穆尼亞演唱會:粒子化地景
蔡健雅 列穆尼亞演唱會:
蔡健雅 列穆尼亞演唱會

蔡健雅 列穆尼亞演唱會合作,叁式製作了開場前三首電子風格的歌曲〈異類的同類〉、〈失語者〉、〈菲林〉的影像視覺,以及〈空白格〉中LED矩陣的即時影像,主要是用粒子去做,運用點雲做為視覺主軸,可模擬煙、風、碎形等特效,再擷取表演者的即時動作,疊加在配合當時滿流行的攝影測量法 photogrammetry 後,經過粒子化處理的地景影像之上。

為台中花博製作的作品<0-3886>將地板打造為一個具即時互動性的演算視覺,觀眾的位置與動態成為了畫面中的一部分,走在地板上可以和粒子和線條有互動。視覺動態請見這部影片

台中花博展出的作品<0-3886>
台中花博展出的作品<0-3886>

以上較前期的作品都是用 OpenFramworks 做,後來我們較常用的轉換工具是 Unity。要如何判斷什麼時候使用哪種工具呢?叁式的切分依據大概是看得到的東西用 Unity,較看不到的東西用 OpenFramworks 做。有在用 Unity 的人應該知道,後來有出像 Visual Graph 這樣的工具,所以我們現在也會用 Visual Graph 或 Shader Graph 來做類似的創作。像剛剛提到的 Second Body,就是用 kinect 的點雲把它們建成 mesh。同樣的作品在 Unity,也可以透過 geometry shader,建成 Unity 裡面的 mesh,就可以跟環境做反射。

長榮飛安影片合作,利用 OpenCV 中的光流(optical flow)技術,一般來說是偵測 2D 影像中像素 (pixel) 的流動,像是人往前移動或揮手的向量。如何將 2D 結合到 3D 呢?例如將 kinect 偵測出來的深度圖畫面轉譯成 3D 的 position,再對他做 optical flow 技術後,便會成為 3D optical flow 檔案,就能在空間中結合煙霧的模擬,讓粒子隨著舞者的動作產生變化。這些包括像模擬都會透過一連串 fragment shader 去做運算,粒子的話就是用 compute 或 geometry 來做。

光流(optical flow):陌生的名詞,但其實每天都能看到。光流指的是我們在這個不停運轉著的世界裡,感覺到的明顯視覺運動,像是在移動的交通工具上看著樹、建築等景物呼嘯而過,我們能通過不同物件的運動速度判斷它們與我們的距離。

五月天-玫瑰少的年合作,視覺都是用Unity製作
五月天-玫瑰少年合作,利用 Unity 的 Particle system 去做地板及牆面的影像。以及上方這些圖像,也都是透過unity製作
2021台北時裝週互動投影視覺效果
2021台北時裝週合作,在台北101双融域展示,投影的背景視覺畫面也是透過unity製作大量的線條,舞者走過時,會隨著音樂及舞者肢體動作造成擾動變化。
模擬鄧紫棋 GMA30 的舞台 LED
模擬鄧紫棋 GMA30 的舞台 LED

除了視覺之外,我們也時常把unity拿來做模擬器,因為時常有一些展演活動,需要在進場前預測、模擬活動現場該長什麼樣子,才最符合我們的想像和設計。像鄧紫棋 GMA30 的舞台 LED 是由很多小波浪組成的。就視覺來說這樣做是很困難的,必須要出很多很破碎的影像。叁式利用 Unity 模擬器,讓視覺可以在 After Effects 裡面去呈現一整大片的影像,再透過 UV 轉換在 Unity 裡面做即時的預覽。

Gogoro VIVA MIX新車發表會模擬
Gogoro VIVA MIX新車發表會模擬

Gogoro VIVA MIX新車發表會合作,會場裡有非常多 AGB 的台車移動,一樣是用模擬器先知道到時候的陣型會怎麼變化。現場表演也是用一模一樣的程式同時間去跑,也就是說模擬器呈現的樣子跟現場的樣子幾乎同步。

很多案子的細節礙於時間關係無法一一介紹,這個notion可以分享給大家,如果有興趣可以點進連結來看。每個案例都有 hashtag 一些關鍵字,想知道這些視覺效果是用什麼方式做出來的,都可以點連結(有些案例直接放官網案例連結)及影片,或是透過關鍵字去搜尋。

接著就來實際放一些 demo,都先以 OpenFrameworks 來做示範:

1. 分子流動,這個是 OpenFrameworks 加上 flex 的物理引擎,讓這些粒子在空間中隨著物體的重力流動,中間有一個球會吸附這些粒子,讓這些液體經過這些球時被吸附到這上面去,有些水花流動的感覺。

2. 測試超越粒子的極限,當時想測試電腦的極限可以跑幾顆粒子,這件作品大概有一百還是兩百萬顆。現在電腦效能更好,Unity 的話就可以跑個七八百萬甚至到一千萬顆。

3. 墨汁暈染效果,這個是想做不同的嘗試,想說能不能把粒子做出像墨汁或顏料在紙張上暈開的感覺。像這個效果不錯,但可惜一直沒辦法用在商案中。

4. SONY互動網站,跟SONY合作網站轉場的效果,因為 OpenFlow 的 GLSL (OpenGL Shader Language) 跟網頁用的是一模一樣,所以其實我都是在 OpenFrameworks 寫完後無痛轉移到 GLSL,雖然網頁的 webGL 版本需要更低,但大概可以做到接近的模擬,網站從一頁進到下一頁時透過 shader 讓畫面做流動、背景再做一些轉場效果後到下一頁的畫面。

Q:GLSL轉換的過程 A:當時的分工,因為客戶公司有很多自己的前端工程師,所以前端輪不到我寫,我記得他們前端是用JS (canvas) 寫的,將 canvas 傳進來的每一個像素,在轉換的同時過一個由我撰寫的 Shader,達成最後的效果。這支 Shader 的程式,最基礎的演算法是從 Shadertoy 來的,這邊也直接附上當初參考的連結。當然因為業主需求會有不一樣,所以需要自己完全理解這些程式碼在寫什麼,才能更進一步將程式碼修改成想要的樣子。但 Shadertoy 確實是非常好參考、拿素材的地方。


Lightning talk 2 – 張文瀚

每一次的 Creative Coding Taiwan 聚會都會事先提供一個主題,邀請大家趁著這個機會創作出一件互動藝術作品並與大家分享。在一次又一次的共創過程中,激盪出更多更有趣的火花。

<Wormhole>

張文瀚<Wormhole>
張文瀚<Wormhole>

作品連結:https://openprocessing.org/sketch/1540160

本來就常在做數位藝術的創作,尤以 Shader 為主,本業在做 2D 遊戲,因緣際會回來使用 Processing 創作。這件作品<Wormhole>是無限的圓延伸至盡頭,每一個圓都是前一個瞬間,把前一針的整個畫面複製、縮小再放進這一針畫面裡,如果我們將 frameRate 改為 1 (一秒一針)就可以立即了解。其他在 Shader裡面,像是圓的半徑等變數都可以玩玩看,會有完全不一樣的效果。

<Out of bounds>

張文瀚<Out of bounds>
張文瀚<Out of bounds>

作品連結:https://openprocessing.org/sketch/1540595

這是一件無互動的作品,想要做出銀河系之外的飄浮感覺。最後呈現的這個效果也是在創作的過程中一個美麗的意外,主要是加上了 uv.y /= uv.x * 2.; 這行數學運算的程式碼,少了他,只是一個同心圓的圖案;加上他,把整個畫布增添了詭異的扭曲,造就出這有趣的空間感,感覺就像在銀河系以外能夠看到的景象。

追蹤創作者:https://openprocessing.org/user/322254?view=sketches


若你還沒有看過上篇,必不能錯過:
初次見面請多指教!Creative Coding第一次社群聚(上)吳哲宇的生成式藝術宇宙

想知道你的 NFT 究竟有沒有市場?下篇讓黃豆泥為你解惑:
初次見面請多指教!Creative Coding第一次社群聚(下)黃豆泥:沒有市場的靈魂綁定NFT

五月的社群聚也已經開放報名囉,有興趣的朋友歡迎加入我們的臉書社團,第一時間接收活動報名消息,希望不久的將來,就能看到你跟大家分享你的生成式藝術創作囉!

歡迎加入互動藝術程式創作入門(Creative Coding)線上課程,課程中你可以認識程式與互動藝術產業應用,開啟對工程跟設計的想像,學會使用 p5.js 開發互動介面,整合繪圖、音訊、視訊、文字、3D、互動與機器創作完整的作品,並將創作輸出應用在個人品牌或網站、主視覺或海報,甚至互動裝置、遊戲與教材製作等場景,讓你對進修的資源與路線更有方向。


整理編輯:Chia 編

墨雨設計banner

訂閱 Creative Coding Taiwan 電子報:

這篇文章 初次見面請多指教!Creative Coding第一次社群聚(中)Hoba與叁式的演算視覺邁進之路 最早出現於 Creative Coding TW - 互動程式創作台灣站

]]>