透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

移調後音符
D
from C
新音符索引(音高類別 0–11) 2
八度位移 0

什麼是音樂移調計算機?

移調(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)的結果。

由十二個音級圓點組成的圓環,箭頭展示移調按模 12 循環
移調會在 12 個音級上循環(模 12)。

實際範例

A(索引 9)為起點,往上移調 4 個半音(也就是一個大三度)。\(9 + 4 = 13\),接著 \(13 \bmod 12 = 1\),對應到 C#/Db。八度位移為 \(\lfloor 13 / 12 \rfloor = 1\),表示新的音落在比起始音域高一個八度的位置。所以 A 往上移調 4 個半音後就是 C#/Db。

鋼琴鍵盤,箭頭從起始琴鍵指向升高幾個半音的移調琴鍵
每個半音就是鍵盤上相鄰的一個琴鍵。

常見問題

完全五度是幾個半音?七個半音。完全四度是五個、大三度是四個,而一個八度則是十二個半音。

音高類別索引代表什麼?它是一個 0–11 的數字,可以不受八度或等音異名(enharmonic)寫法影響地唯一標示出某個音,在樂理與音樂軟體中都被廣泛使用。

可以往下移調嗎?當然可以——只要輸入負的半音值即可。計算機會自動處理循環,所以你永遠都會得到一個有效的音名。

最後更新: