CueFlip 如何聆聽
圖文導覽:從樂手演奏到翻頁之間發生了什麼事——CueFlip 如何聽見音樂、在樂譜中找到位置,以及迷失位置時會怎麼做。

譯自英文。 閱讀原文
CueFlip 是適用於 iPad 與 iPhone 的自動翻譜 App。它背後的技術稱為樂譜跟隨:聆聽現場演奏,並隨時掌握目前演奏到樂譜的哪個位置。這篇文章用幾幅圖,一步一步說明它的運作方式。
會聆聽的機器
1774 年,瑞士鐘錶匠皮耶·雅凱-德羅(Pierre Jaquet-Droz)、他的兒子亨利-路易(Henri-Louis),以及尚-弗雷德里克·萊紹(Jean-Frédéric Leschot)發表了機械人偶《樂手》(The Musician),它能用手指彈奏一台真正的管風琴。它會演奏,卻聽不見。CueFlip 正好相反。它不演奏任何東西,它只聆聽。

它不讀譜面上的記譜。它學的是某一首曲子在你演奏時聽起來是什麼樣子,然後在你正式演出時再次辨認出這個聲音。
讓它學會一次
在 Learn 中,你把曲子完整演奏一遍,或是匯入一段錄音,再標出翻頁的位置。這段錄音就是參照。之後的一切,都是把你此刻演奏的內容與當時演奏的內容相比對。
它聽見什麼
一段錄音所含的資訊,遠多於在曲子中找位置所需要的。CueFlip 只從中保留兩樣東西。第一樣是每一刻有哪些音名正在發聲。一個音不論在哪個八度演奏,都算作同一個音名,所以高八度或低八度演奏,影響應該會比較小,不過換一個空間或換一種樂器,仍可能左右 CueFlip 跟隨的準確度。

圖中的每一條軌跡,是一個音名在半分鐘音樂中的變化:字母代表白鍵,圓點代表黑鍵。和聲改變的地方,絲帶會扭轉;最強的音以粗體繪出。這是引擎眼中一首曲子的樣貌,而不是一張樂譜的圖片。
不只是什麼,還有何時
音名說明了正在發出什麼聲音,卻沒有說明某個聲音是何時開始的。為此,CueFlip 把聲音分成不同的頻帶,從最低的音到最明亮的泛音,並在每個頻帶中留意某件事開始的瞬間:一次運弓、一次撥弦、一次琴槌擊弦。

兩者合在一起,就為演奏中的每一個瞬間提供一份簡短的描述,可以拿來和參照比對。
找到位置
你不會以參照錄音的速度演奏。你會加快,會流連,會換氣。所以引擎不會逐個瞬間去比對兩者。它會在兩者所有可能的對齊方式中,找出最合適的一條路徑,並讓這條路徑隨著你的速度彎曲。

這條路徑不能隨意亂走。圖中的橘色線就是路徑,虛線標示它可以偏離中線多遠。一條跳來跳去的路徑,多半是出了錯,而不是樂手的演奏。
迷失位置的時候
音樂會重複。一個段落第二次出現時,聽起來是一樣的,這時引擎會有片刻出現兩個合理的答案:在這裡,還是在那裡。你知道哪個才對。引擎得自己推斷出來。

有時它會選錯,回報的位置也就逐漸偏離你真正所在的地方。為了防範這種情況,CueFlip 同時保有兩種對你位置的解讀:一種緊跟演奏,另一種把整首曲子納入視野,移動得較慢。圖中把它們畫成螺旋的兩股。兩者一致時,兩股靠得很近;兩者不一致時,螺旋就會打開。
在這個例子中,演奏回到了先前已經演奏過的一個段落。有一陣子,兩種解讀都照常往前走,彷彿什麼事也沒發生。緊跟演奏的那一種先察覺並重新定位;縱觀全曲的那一種稍晚才修正,兩股便再度纏繞在一起。
這是整件工作中最難的部分,CueFlip 並不是每次都能做對。當它不確定時,會按兵不動,而不是憑猜測翻頁,而且你隨時都可以自己翻頁。
翻頁
一場演奏的長度,絕不會和你當初學習用的那一遍完全相同。在最後一幅圖中,左邊的線是演奏本身,這裡比學習時的那一遍慢,由上往下延伸。右邊的螺旋是樂譜,捲成一卷。每一條細線,都把演奏中的某一刻,連到引擎在那一刻認為自己所在的樂譜位置。

五條橘色線就是翻頁。每一條都從演奏中 CueFlip 翻頁的那一刻出發,終止於學習那一遍中你標記該次翻頁的位置。CueFlip 會在你抵達在 Learn 中標記的位置之前一點點就翻頁,好讓下一頁在你的眼睛需要它之前就已經在那裡。
這一切在哪裡發生
這一切都在你的 iPad 或 iPhone 上運行。聲音在你演奏時就地分析,不會傳送給 CueFlip。沒有帳號,也沒有追蹤。如果你開啟 iCloud 同步,使用的是你自己的 iCloud。
整個想法就是這樣:讓它學會曲子一次、聆聽、找到位置、翻頁。其餘的是用心,以及與真正的樂手所做的大量測試,因為他們很少完全照譜演奏。