移調計算ツールとは?
移調(トランスポーズ)とは、メロディやコードを構成するすべての音を、同じ音程だけ上下にずらすことをいいます。その距離は半音(ハーフステップ)を単位として測ります。このツールでは、基準となる音と半音の数を入力するだけで、移調後の音名、ピッチクラス番号、そしていくつのオクターブをまたぐかを表示します。12音すべての半音階に対応し、上下どちらの方向への移調にも使えます。
使い方
まずドロップダウンから元の音を選び、移調する半音の数を入力します。上に移動するときはプラスの数値(例:全音上なら+2)、下に移動するときはマイナスの数値(例:完全4度下なら-5)を入力してください。結果には移調後の音名に加えて、オクターブの移動を示す表示が出るので、より高い音域に上がったのか、低い音域に下がったのかがひと目で分かります。
計算式の解説
半音階の各音には0から11までの番号が割り当てられています。C=0、C#/Db=1、D=2…と続き、B=11まで並びます。移調とは、この番号に半音のずれ(オフセット)を足すだけのシンプルな操作です。オクターブは12半音ごとに繰り返されるため、結果を12で割った余り(mod 12)を取ることで、1オクターブの中に収め直します。
$$\text{New Note} = \left(\left(\text{Note} + \text{Semitones}\right) \bmod 12 + 12\right) \bmod 12$$
マイナス方向の移調でも正しく計算できるよう、\(((n + s) \bmod 12 + 12) \bmod 12\) という形に正規化します。オクターブの移動量は \((n + s) / 12\) の小数点以下を切り捨てた値(floor)で求めます。
計算例
A(番号9)から4半音(長3度)上に移調してみましょう。\(9 + 4 = 13\) です。次に \(13 \bmod 12 = 1\) となり、これは C#/Db を指します。オクターブの移動量は \(\lfloor 13 / 12 \rfloor = 1\) なので、新しい音は元の音域より1オクターブ上に位置することになります。つまり、A を4半音上に移調すると C#/Db になります。
よくある質問
完全5度は何半音ですか? 7半音です。完全4度は5半音、長3度は4半音、1オクターブは12半音にあたります。
ピッチクラス番号とは何を意味しますか? オクターブや異名同音(読み替え)に関係なく、各音を一意に識別する0〜11の番号です。音楽理論や音楽ソフトウェアで広く使われています。
下方向にも移調できますか? はい。半音の数にマイナスの値を入力してください。計算ツールが自動で正しく音名を循環させるため、常に有効な音名が得られます。