2020年1月1日 星期三

adaptive music & game audio 筆記 3: Unity 中使用 AudioSource 播放 OneShot 聲音

OneShot Sound 是指只觸發一次的聲音或音樂,是相對於不段循環播放的背景音樂而言。下面這個程式碼主要是用在遊戲場景中,主要是利用聲音表現主角踏進一個池塘區域所濺起的水聲。下面這個程式碼(可命名為 PlayerAudio)是利用 add component 加入並依附在遊戲的主角身上來運行。說明如下:

1. public AudioClip splashSound 用來宣告一個叫做 splashSound 的 AudioClip 類別成員。AudioClip 是 Unity 中用來存放聲音檔案的類別  (a container for audio data )。

2. public AudioSource audioS 用來宣告一個叫做 audioS 的 AudioSource 類別成員。AudioSource 是一套處理聲音播放相關機制的類別,猶如一個多功能或提供多種播放模式的播放器。

3. OnTriggerEnter 也是 Unity 中的方法,主要處理某個物件進入到某個物件中的觸發事件之狀況(例如:主角進入到水池中)。利用 CompareTag ("Water" ) 用來判別是否進入了一個標被籤定為 Water 的區域,如果是,則利用 audioS.PlayOneShot (splashSound) 的方法來播放聲音。

程式碼完成後,在主角的 Inspector 中需要利用 Add Component 新增一個 AudioSource 物件,並將此物件拖曳到 Inspector 中的程式碼元件中,顯示 audioS 的地方,由於程式碼中使用 public 的方式來宣告 audioS,所以此程式碼元件就會在 inspector 中顯示一個 audioS 的項目。藉由將 AudioSource 物件拖曳至 audioS 的項目,可讓 AudioSource 物件跟所宣告的 audioS 相連結。

在 Inspector 中的程式碼元件中,另外需拖曳一個聲音檔案至 inspector 的 PlayAudio 元件所顯示之 splashSound 項目,則完成了聲音播放的相關設定,使得主角進入標籤為 water 的區域中,則立即播放所預定的水花聲音。同理,使用 OnTriggerExit(Collider other) 讓主角離開 water 區域時,也再播放一次預定的水花聲音。



其他關於 OnTriggerEnter 與 OnCollision 的區別,可以參考這裡:
https://blog.csdn.net/u014581901/article/details/51582704

若要了解 Tag 標籤的設定方法、以及 OnTriggerEnter、OnCollision 的區別,可以參考下面兩個影片。





2019年11月25日 星期一

我的新書出版 - 由音色塑形探討我近期之音樂創作

我的新書出版了,「由音色塑形探套我近期之音樂創作」是一本探討現代音樂創作中,以音色、音響為出發點的作曲技巧與音色美學探討的書,以及我自己的作品中實踐這些音色、音響的美學概念之方法與實例之回顧,其中也包含來自「頻譜主義」的音色音響的美學思維,並加入互動電子音樂在音色設計之美學思維。在書中,我試圖用比較系統性、客觀的方式去陳述這些概念,這些美學概念與方法其實是經過自身多年創作經驗、聆聽經驗與研究國外文獻所得到的一些結論。換句話說,與其說這本書是單純的個人作品的回顧,不如說這本書是圍繞在一些關鍵性地用音色來處理音樂橫向與縱向結構的美學原則之論述,相信對於現代音樂創作的學習者而言,應該會有一定的助益。讀者若希望聽到書中所提及的作品之演出錄音,也都歡迎來信給我。 本書的出版要非常感謝台北音樂家書房的王老闆的支持,以今日書店經營不易且現代音樂僅是小眾文化的情況下,王老闆還願意投入人力與物力來促成這本關於現代音樂創作的書籍之出版,實在難得。這本書前前後後校訂了兩年,裡頭的圖解都由台北音樂家書房幫我重新繪製,真的讓我非常感謝,也希望藉此對於現代音樂的推展或相關研究,能夠引起一些共鳴。

台北音樂家書房之本書連結:
http://www.musiker.com.tw/MusicBook.asp?id=42616

全書的綱要如下:

第 1 章:緒論

第 2 章:音色的定義與作用
-2.1 音色之定義與影響音色感受之要素
-2.2 音色在音樂中的作用

第 3 章:音色的縱向結構
-3.1 音色的縱向結構之類型學
-3.2 音色的縱向解構與橫向延遲
-3.3 縱向異質頻譜型態之轉換
-3.4 縱向異質頻譜型態之「交融」
-3.5 雙重頻譜的交叉合成
-3.6 縱向和聲與音色之關係

第 4 章:音色的橫向結構
-4.1 音色橫向漸變與音樂結構之關係
 └ 4.1.1 多層次網絡的連續性漸變
 └ 4.1.2 並列關係中的漸變
-4.2 局部多重變化下「和聲」之漸變與延展
-4.3 「和聲」滯留下的動態音色
-4.4 樂器橫向音色變化與敘事之結合運用
-4.5 聲音瞬間留滯的虛幻時空
-4.6 聲音的橫向解構與時序重組

第 5 章:結論

 

2019年11月1日 星期五

adaptive music & game audio 筆記 2: Unity 中播放背景音樂

1. 遊戲聲音可以包括三個部分:
  • 環境音 (ambience)
  • 動態音樂 (dynamic music)
  • 事件音樂(event sound)
2. Unity 的聲音播放方式:
  • Automatic: 「場景載入」或「物件被製造」時,便自動播放
  • OnTriggerEnter: 玩家進入觸發區(trigger) 或撞到某物(collider) 時,則播放聲音。
  • Scripted Event: 特定功能被呼叫時,則播放聲音。
3. Unity 中的聲音處理需要 audio clip(聲音檔案)、 audio source(聲音播放機制)與 audio listener(聽音者)。



4. audio listener 通常是依附在 camera 上。至於 audio source ,則 可由 game object 選單中先製造一個 empty game object,然後在該 object 上加入 game component - audio source。拖曳已經導入的聲音 asset 至該 audio source / audio clip 中,則可建立一個聲音的來源。

5. 呈上,勾選 play on awake 使得遊戲進行時,便立刻播放已置入的聲音或音樂。為了要製造 3D 的效果,必須將 spatial blend 拖曳至 3D 端,如此才能讓聲源在 3D 空間中移動。

6. 呈上,上述影片中並未提及 Doppler 效應的模擬之相關設定。執行上,移動時若沒有關閉 Doppler level,則會產生不必要的音高變化,因此可先把 Doppler level 設定為 0。






2019年10月29日 星期二

adaptive music & game audio 筆記 1: - 視頻遊戲之自適音樂(adaptive music )序言

自適音樂 (adaptive music) 主要強調由玩家在遊戲場景中的實際狀況來即時改變音樂的內容,這個概念最早被用在 1981 年的視頻遊戲 Frogger 中。時至今日,自適音樂已成為許多 AAA 等級的遊戲中常用的處理音樂的技術,且也已經發展出一些專用的音樂軟體工具。然而,這是一個跨領域的學問與技術,遊戲配樂作曲家通常雖然不一定需要參與「音樂置入」的過程,但若作曲家本身沒有沙盤推演的能力,則很難了解其作品在實際遊戲運作中的執行狀況,所以跨領域學習相關的知識與技術仍屬必要。雖然這種將音樂創作、互動科技重整的課程,已經陸續出現在國外的音樂院的相關課程中,國內則完全沒有任何專屬的課程,因為開課者必須要音樂創作能力、音訊處理的能力,還要了解遊戲引擎、以及自適音樂的常用的中介軟體 (middle ware) 與互動的概念。在我開始深入了解這個整合性的技術之前,我也諮詢過幾位國內資深的遊戲引擎 Unity 的專家,他們並不清楚有這種相關技術,並且提出遊戲引擎中就已經有相關功能模擬實際的聲音定位,如今進一步接觸遊戲引擎之後,也發現確實如此,差別只是在沒有專門的工具來處理自適音樂,可能因為這些 Unity 的專家們並不懂音樂,因此也沒特別注意到相關的技術需求與音樂處理上的必要性。這個狀況更引發了我整理相關資料的興趣與動機,於是我註冊了一系列的國外遊戲配樂線上課程、以及遊戲音訊課程、Unity 遊戲設計課程,也參閱了一些跟 adaptive music 以及 game audio 的原文書籍,但覺得要融會貫通所有的技術與資料,仍然是一項大工程,因為網路的資訊總是非常片段而瑣碎,因此我想把一些我從網路上看過的、跟 game audio 及 adaptvie music 相關教學影片整理一下,作為學習筆記,同時也作為自己快速查閱之用。

將一些線上教學影片的內容整理為筆記的目的之一,是作為開設「視頻遊戲之自適音樂與音訊設計」(adaptive music and sound design for video games) 課程之準備 。我比較想從音樂創作者的角度,慢慢深入了解自適音樂的領域與相關技術,同時也藉此切入遊戲引擎與程式設計相關的領域。由於網路的資訊以網頁形式作筆記最方便查詢,因此便採用了這個形式來記載學習紀錄與心得。

在此之前,我玩了一下相關的中介軟體( middle ware),讓我憶起念博士班時,聽過的一場作曲系舉辦的講座,作曲者真的是把視頻遊戲中的 3D 場景作為音樂展演的一部分,由遊戲參與者透過在 3D 場景中的探索作直接觸發音樂,這已經是大約 2003 年的事了然而,在國內沒人作這種實驗音樂,即使是在遊戲配樂的領域,儘管早已經有許多國外的視頻遊戲成功使用 adaptive music 的技術來為遊戲增色並藉此強化玩家的沈浸體驗,國內的遊戲公司卻也鮮少使用「自適音樂」的技術來處理遊戲配樂,一則可能這些遊戲公司並不重視音樂細節、二則是這些公司的技術人員不清楚有 adaptive music 的概念,也無經費投注在這種更需要作曲家與工程師緊密溝通的遊戲音樂處理技術。根據此領域的專家 Michael Sweet 在他的書中的說法,adaptive music 的製作費用要比一般線性的音樂之製作花雙倍的時間,因此製作費也較高。在軟體的操作上,對於一般熟悉 DAW 的數位音樂工作者而言,雖然並不是非常困難,但在互動音樂設計的概念上卻是必須技術、與音樂性都必須有所理解,才能真正將音樂的內容成功的搭配互動技術。

依照這些日子研究 adaptive music 的學習經驗,大體上,最重要的技術莫過於 vertical remixing 與 horizontal resequencing 兩種技術,其中後者的概念又比前者複雜,仰賴合適的 transition 在不同的氛圍的段落中進行銜接,如何將 transition 段設計得當並不是一件容易的事。任教於 Berklee Music College 的 Film Scoring Department 的 Michael Sweet 的著作 Writing Interactive Music for Video Games 對於「自適音樂」做了詳盡的概念上的介紹與歷年著名的遊戲使用 adaptive music 技術的相關整理。下面這個影片則詳細的介紹了自適音樂的概念與遊戲中的應用範例。






由於網路上可以找到相關的概念介紹雖然不少,但實際的操作對於音樂學習者或遊戲音效設計師而言,卻仍然很難有完整而系統化的學習資料,或者學習者本身的背景不夠完備來學習相關的知識與技術。程式設計師可能不懂音樂的處理手法、作曲家則又不太了解遊戲運作的方式與音樂需求,加上中文資料又非常少,因此我打算先來投入相關領域的實務研究,並藉由推出「視頻遊戲之自適音樂與音效設計」的課程於我任教的北科互動設計系,也藉此引起更多音樂學習者、互動設計的學習者、遊戲的開發者等,對於音樂、音訊在各種互動設計上的重視。在課程內容的規劃上,包含數位音樂本身的技術與知識、以及 adaptive music 設計與執行之方法,也包含在遊戲引擎 Unity 中模擬音樂互動的雛形之建立,提供音樂創作者沙盤推演之測試時使用。另外,也希望同時能夠納入 game audio 相關的技術。