キーを音程で移調
C Am F Gを完全五度上へ移調するとG Em C Dになります。キーかコード進行を入れ、音程を名前か半音数で選ぶと、新しいキーとすべてのコードが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 元
- C Am F G
- 間隔
- P5
- 音程名
- perfect fifth
- 半音
- 7
- 方向
- up
- 優先
- auto
ソングライター、編曲者、合唱指揮者、セッション奏者は、すべてのコードを手で書き直すことなく、同じチャートを別のキーで必要とすることが常にあります。このキーを音程で移調する計算機は、単一のキー根音(C major、Am、Bb)または完全なコード進行を受け取り、完全五度や長三度などの名前付き音程 — あるいは整数の半音オフセット — を適用し、新しいキーの根音と各コードのクオリティ名を返します。スラッシュベースは同じ音程だけ動き、クオリティ接尾辞はそのまま残り、表記はシャープ、フラット、または自動の異名同音選択を選べます。
キーと進行の移調が意味すること
キーを移調するとは、調性中心の各ピッチクラスを固定の音程だけ動かし、相対的な和声を保ったまま曲を高くまたは低くすることです。ソースがCやBbのような単一の根音のとき、計算機は選んだ音程の後の新しいキー根音を報告します。Cから完全五度上はG、フラット優先ならBbから長二度下はAbです。
ソースがコード記号で書かれた進行のとき、各トークンは任意のシャープまたはフラット付きの根音文字、クオリティ接尾辞(m、7、maj7、sus4、dim、および根音の後の自由テキスト)、任意のスラッシュベースに解析されます。
根音とベースのピッチクラスだけが音程だけ十二を法として進み、クオリティ文字列はそのままコピーされるため、Am7は新しい根音上でも短七のクオリティのままです。名前付き音程は標準の音楽理論に従います。m2とM2は二度、m3とM3は三度、P4とP5は完全四度と完全五度、A4またはトライトーンまたはd5は六半音、m6からM7は六度と七度、P8はオクターブです。
カポ表やMIDIオフセットから半音距離がすでに分かっているときは、整数の半音も受け付けます。名前付き音程の既定の方向は上です。下げるにはdirection downまたは負の整数を渡してください。
入力契約、表記、エラー時の挙動
sourceはキーまたは進行の文字列(区切りは空白、カンマ、パイプ)でも、コード文字列の配列でもよく、最大六十四トークンです。例:C major、Am、C Am F G、Bbmaj7 Em7 Am7 D7、C/E F G。
intervalは短いコード(P5、M3、m2、TT)、英語のフルネーム(perfect fifth、major third、tritone)、任意のupまたはdown接頭辞、あるいはマイナス四十八から四十八までの整数を受け付けます。任意のpreferは異名同音の表記を制御します。sharps、flats、またはautoです。
autoはソースがフラットを使った場合または下方向のシフトのときフラットを保ち、それ以外はシャープを優先します。任意のdirectionは音程ラベルと独立に上または下を強制します。一点五のような非整数の数値音程も失敗します。
ピッチクラス移調は整数半音で定義されるからです。往復チェックは簡単です。音程で上げ、同じ名前で下げれば、異名同音の好みを一定に保ったとき元の進行に戻ります。
音程で移調したくなる場面
ワーシップチームやカバーバンドは一つのマスターチャートを保ち、各小節を打ち直す代わりにリハーサル前に歌いやすいキーを生成します。音楽教師は音程移調のドリルを出し、短三度と長三度を決して混同しない決定的なオラクルで採点します。
MIDIとDAWのユーティリティは、プロデューサーが平文で打った名前付き音程を半音オフセットとプレビュー進行に変換してからピッチシフトプラグインを適用します。生の半音数だけを取る単音移調ツールと違い、この計算機はキーを音程で移調するという検索意図向けです。
複数コードの進行、名前付き音程、応答内の明示的な根音とクオリティ名により、UIコードは記号を再解析せずに列ラベルを付けられます。
活用例
セットリストとチャートのキー変更
進行を貼り付け、声域に合わせて完全四度または五度を選び、新しい根音とクオリティをバンドチャートへ書き出します。
アプリとDAWの補助
ユーザーが入力した音程名を半音とプレビュー進行に変換し、ピッチシフトやMIDI移調の前に確認します。
よくある質問
キーを完全五度で移調するにはどうしますか?
sourceにキーまたは進行(例:C Am F G)を、intervalにP5またはperfect fifthを送ってください。
コード進行全体を一度に移調できますか?
はい。 sourceに空白・カンマ・パイプで区切った複数のコードを渡すか、記号の配列を送ってください。各トークンは同じ音程で移調され、itemsに並びます。
どの音程名が使えますか?
m2、M2、m3、M3、P4、TT、P5、m6、M6、m7、M7、P8などの短いコード、major thirdやperfect fifthなどのフルネーム、または-48から48の整数半音です。
シャープとフラットはどう選ばれますか?
表記を強制するにはpreferをsharpsまたはflatsに設定します。autoはソースがフラットを使った場合または下方向のときフラットを保ち、それ以外はシャープを優先します。
C/Eのような分数コードも移調されますか?
はい。スラッシュの後のベース音もルートと同じ音程だけ動き、コードの種類はそのまま写されます。マイナーセブンスは新しいルートでもマイナーセブンスのままです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/music-transpose-key \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"source":"C Am F G","interval":"P5"}'const res = await fetch("https://api.kit.forhosting.com/hobby/music-transpose-key", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"source": "C Am F G",
"interval": "P5"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/music-transpose-key",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"source": "C Am F G",
"interval": "P5"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/music-transpose-key", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"source":"C Am F G","interval":"P5"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"source":"C Am F G","interval":"P5"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/music-transpose-key", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"source": "C Am F G",
"interval": "P5"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.music_transpose_key",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
キーと進行の移調が意味すること
応答は各項目について入力根音、クオリティ名、新しい根音、新しいクオリティ、完全な移調記号を列挙し、チャートに貼れるjoinedのtransposed_progression文字列も返します。
入力契約、表記、エラー時の挙動
必須のsourceとintervalを含むJSONをPOSTしてください。sourceまたはintervalの欠落、空トークン、認識できない根音、未知の音程名はinvalid_inputで失敗し、課金されません。成功時の本体にはsource、intervalラベル、interval_name、符号付きsemitones、direction、prefer、count、source_key_root、new_key_root、根音とクオリティのフィールドを持つitems配列、transposed_progression、method pitch_class_mod12_intervalが含まれます。
音程によるキー移調APIが役立つ場面
コードチャートのサイトやモバイルのセットリストアプリは、不透明な単一文字列だけでなく、描画用の構造化フィールドnew_rootとnew_qualityを返す小さなparseエンドポイントを必要とします。実装は純粋なparseのティアAであるため、成功した呼び出しごとに公開の基本料金$0.002がかかり、モデルトークンも外向きネットワークもなく、検証失敗は残高を消費しません。
連携の活用例
教室での音程ドリル
生徒にC Am F Gを長二度または短三度で移調させ、構造化フィールドnew_rootで自動採点します。
技術的な質問
キーを音程で移調する計算機の料金はいくらですか?
ブラウザツールは無料です。APIリクエストは成功した呼び出しごとに$0.002で前払いのKIT残高を使い、無効な入力は課金されません。