Even Realities G2 · 一個吉他手的工具

抓歌這件事,
可以不用那麼辛苦

一首歌想自己彈,第一關永遠是定調:反覆試音、對照譜、猜錯了整組和弦跟著錯。
現在的眼鏡同時有麥克風跟視野——那就讓它一邊聽你彈,一邊把答案放在你看得到的地方。

2026.08 TypeScript + Vite 全程離線
眼鏡示意圖:右鏡片裡是 Chord Ear 的四行畫面

為什麼是眼鏡

因為抓歌的時候,手不能離開琴,眼睛也不想離開琴。

以前

找一份譜,不確定對不對。試著跟著彈,發現調不一樣。 移調、換 capo、再試一次。中間手要放下琴去按手機、翻頁、倒帶。

最耗的不是彈,是「確認」這件事來回打斷你。

現在

戴著眼鏡刷一下。0.13 秒之後,視野裡出現和弦名、它在這個調裡的級數、 你正按出哪幾個音,還有這把琴校在哪個音高。

手一直在弦上,眼睛一直在琴上。

真正想解決的是第二行:級數。 和弦名誰都給得出來,但 G7 只告訴你這一刻;Ⅴ7 告訴你這首歌在幹什麼。

級數的價值在於它換調不失效——同一組 Ⅰ-Ⅴ-Ⅵm-Ⅳ 在任何調、任何 capo 位置, 都是同一個手型順序。抓一次,其他調全部通。

一個畫面,四行

576×288、單色綠、沒有字級也沒有對齊可調。極簡是需求不是風格。

Chord Ear 眼鏡端畫面:和弦畫面:發音的和弦、級數與當前調、聽到的音、參考音高
和弦畫面:發音的和弦、級數與當前調、聽到的音、參考音高
Chord Ear 眼鏡端畫面:capo 夾第 2 格:第一行同時給響出來的和弦與手指按的手型
capo 夾第 2 格:第一行同時給響出來的和弦與手指按的手型
Chord Ear 眼鏡端畫面:調音器:準了正中心是實心菱形
調音器:準了正中心是實心菱形
Chord Ear 眼鏡端畫面:偏低 30 音分:空心菱形往 ♭ 那一邊,並建議調音
偏低 30 音分:空心菱形往 ♭ 那一邊,並建議調音

畫面是模擬器實截,和弦、級數、音分都是真的算出來的,只有聲音是合成的。

訊號流程示意:刷弦 → 麥克風 → FFT → 音級 → 模板比對 → 和弦與級數

為真的樂器做的三個決定

這幾個都不是通用音樂 app 會處理的細節。

capo 兩個方向都能設

正數是夾在指板上;負數是整把琴調低(−1 降半音、−2 降全音)。 降半音的琴按 C 手型,響出來是 B——所以第一行同時給「響出來的和弦」與「手指按的手型」。

而降調這件事聲音裡量不出來:整把琴降半音之後每個音仍精準落在十二平均律格子上。 所以它是一個設定,不是一個偵測。

聽最低音,才分得出和弦

C6 與 Am7 是完全相同的四個音級。只看音級分布,這兩個和弦沒有辦法分開—— 唯一的線索是最低音是誰。

所以另外收一份低音帶(≤250 Hz)的分布當根音先驗。 這一格從 5.6% 變成 100%,而模擬麥克風低頻不足的那一欄仍是 100%。

調音的時候眼睛不在畫面上

撥完弦,讀值留住 2.5 秒才消失,另加 2 音分死區。因為那個時候你的眼睛在弦鈕上。 準了正中心是實心 ◆、偏了是空心 ◇,而且指針位置與「準不準」用同一條線判。

準確率是量出來的

工具頁上直接寫數字,包含不好看的那個。

0.13s

換和弦後多久顯示

100%

獨奏吉他
15 種開放和弦指型

40.8%

完整編曲流行歌
majmin WCSR

0

網路請求

這支是為「自己彈樂器」設計的,那一格是 100%。把整首歌從喇叭放出來難得多: 真歌那一格用附時間對齊人工和弦標註的公開資料集(24 首、89 分鐘)算出 40.8%, 意思是判錯的時間多過判對的時間。編曲越厚、人聲越前面就越難——這句話也寫在工具頁上。

技術架構

DSP

2048 點 FFT / hop 512
峰值取樣+拋物線內插
12 維音級 × 84 個和弦模板

音高

YIN 單音管線
圓周中位數抗離群
IQR 穩健散度判「音準不穩」

顯示

576×288、16 階綠
@evenrealities/pretext 逐字量寬
缺字會讓整行消失,所以逐字驗

驗證

2190 種畫面狀態逐一量過
合成音窮舉+公開資料集實測
每個數字都對得上一支腳本

音訊只在裝置上分析,不錄音、不上傳,不發任何網路請求。介面支援繁體中文與英文。