什麼是音樂移調計算機?
移調(Transposition)是指把一段旋律或和弦中的每個音,以相同的音程距離整體往上或往下平移,而這個距離是以半音(half step)為單位來計算的。本計算機只要輸入一個起始音與移調的半音數,就能告訴你移調後的音名、對應的音高類別索引(pitch-class index),以及跨越了幾個八度。它適用於十二個半音中的任何一個音,往上或往下移調都沒問題。
使用方法
先從下拉選單選出你的原始音符,接著輸入要移調的半音數。輸入正數代表往上移(例如 +2 是全音),輸入負數代表往下移(例如 -5 是往下一個完全四度)。計算結果會顯示新的音名,並附上八度位移指示,讓你一眼就知道音符跑到了較高或較低的音域。
公式說明
每個半音都會被編號為 0 到 11:C=0、C#/Db=1、D=2,以此類推一直到 B=11。移調其實就是把這個索引加上要平移的半音數。由於每 12 個半音就會循環回到同一個八度,因此我們對結果取 12 的餘數(modulo 12),讓它回到單一八度的範圍內:
$$\text{new\_index} = (\text{original\_index} + \text{semitones}) \bmod 12$$為了讓負數移調也能正確運算,計算會用 \(((n + s) \bmod 12 + 12) \bmod 12\) 來做正規化。八度位移則是 \(\lfloor (n + s) / 12 \rfloor\) 取下限(floor)的結果。
實際範例
以 A(索引 9)為起點,往上移調 4 個半音(也就是一個大三度)。\(9 + 4 = 13\),接著 \(13 \bmod 12 = 1\),對應到 C#/Db。八度位移為 \(\lfloor 13 / 12 \rfloor = 1\),表示新的音落在比起始音域高一個八度的位置。所以 A 往上移調 4 個半音後就是 C#/Db。
常見問題
完全五度是幾個半音?七個半音。完全四度是五個、大三度是四個,而一個八度則是十二個半音。
音高類別索引代表什麼?它是一個 0–11 的數字,可以不受八度或等音異名(enharmonic)寫法影響地唯一標示出某個音,在樂理與音樂軟體中都被廣泛使用。
可以往下移調嗎?當然可以——只要輸入負的半音值即可。計算機會自動處理循環,所以你永遠都會得到一個有效的音名。