音楽移調
C D E Fを半音2つ上げるとD E F# Gになります。音名やメロディー、コード進行を貼り付け、上げ下げする半音数を決めれば、移調後の音名をそのままコピーできます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 半音
- 2
- 元の値
- C D E F
- 移調後
- D, E, F#, G
- 移調後のテキスト
- D E F# G
- 数量
- 4
音楽移調器は、文字を手で書き直さずに旋律・リフ・リードシート行を別の調へ移す最も速い方法です。単体の音名でも、音符とコードの進行全体でも貼り付け、上げ下げする半音数を選びます。本計算機は十二平均律で移調後の音名を返します。各トークンは A から G の有効な音高文字と任意のシャープまたはフラットで始まる必要があり、m、7、maj7 などのクオリティ接尾辞は新しいルートに付いたまま、スラッシュベースは同じ整数だけずれます。ネットワークも乱数シードも壁時計も使わないため、リハーサル譜と継続的インテグレーションの固定データが異名同音で食い違うことはありません。
音楽移調器が行うことと応答に含まれるもの
音を移調するとは、ピッチクラスを符号付きの半音数だけ動かし、和音を表すクオリティ接尾辞は保つことです。十二平均律ではピアノの鍵もギターのフレットも半音も1半音なので、クラス R の音を N 半音ずらすと (R 足す N) を12で割った余りに着きます。
C を2半音上げると D、A マイナーを3半音上げると C マイナー、F シャープを1半音下げると F、C スラッシュ E を2半音上げると D スラッシュ F シャープです。有効なルートの後のクオリティ接尾辞は1文字ずつ保たれます。m は m、7 は 7、maj7 は maj7、sus4 は sus4 のままです。
音声からの音高検出も、調号全体の全音階的な書き直しもありません。半音0は正当な恒等です。
入力契約、有効な音名、変化記号、および誤り
必須の notes 欄は C D E F のような文字列、カンマ区切りの一覧、またはパイプ区切りのチャート行です。各トークンは A から G のルート文字と任意のシャープまたはフラット(ASCII の # と b、またはユニコードの変化記号)で始まる必要があります。
そのルートの後に、新しいルートへコピーされるクオリティ接尾辞(m、7、maj7、sus4、dim、aug、add9 など)を付けてもよく、それ自体が有効な音名であるスラッシュベース(C/E)を付けてもかまいません。必須の semitones 欄は -48 から 48 の整数です。
任意の prefer は auto、sharps、flats の列挙で、既定は auto です。auto は各トークンの変化記号の家系を保ち、ナチュラルは上げるときはシャープ、下げるときはフラットを使うので、G を3半音上げて prefer を flats にすると A シャープではなく B フラットになります。無効な音名はこのページの定義的な失敗です。
H、xyz、数字、英語の音高文字でないグリフといったトークンは名前で拒否され、チャート用具が偽の綴りを出せないようにします。1件あたり最大64個の名前です。
リハーサル、授業、ソフトウェアで音楽移調器が役立つ場面
作家とボーカリストは、デモが低すぎたり高すぎたりするときに音楽移調器を使います。旋律の音名や四和音のループを貼り付け、新しい主音に合う半音オフセットを設定し、ギタリストが頭の中でカポを計算せずに読めるチャートを印刷します。カバーバンドは原譜より全音上で出た録音に合わせたり、歌手が詩を話せるように管のラインを下げたりします。
教員は、C D E F が長2度上げると D E F シャープ G になる理由を示してピッチクラス算術を歩き、prefer を flats に切り替えて短3度上げのあとの異名同音の B フラット家系を見せます。
礼拝チームとキャンプファイアの輪は一つの形チャートと複数の調を保ち、オフラインの速い計算機は曲のあいだにボーカリストがもう半音と頼むときの誤りを避けます。
アプリと道具の作り手は同じ契約をスクリプトから呼び、セットリスト UI の決定的な試験ベクトルをまき、コンサート調バッジを出す前に利用者が入れた音名を正規化し、当て推量ではなく移調後の名前を求める課題文を満たします。このページでは作業はすべてブラウザ内で走ります。
ここでの異名同音の選択は平均律の下で prefer と各入力ルートの変化記号の家系に従い、歴史的な律やギター固有のオープンチューニングには従わないと記し、継続的インテグレーションのピンが安定するよう、公開された音名と半音の限界内に依頼を収めてください。
活用例
録音や管のラインに合わせる
ギター、ピアノ、管が一つのコンサート調を共有するようリードシートを上げ下げし、音名を手で書き直さないようにします。
音楽アプリ向けの決定的な試験固定データ
無効な音名を拒否しなければならないセットリスト用具、CI 断言、ピッチクラス実習向けに、再現可能な移調配列を生成します。
よくある質問
音楽移調器はどの音名を受け付けますか?
任意の # または b 付きのルート A–G、任意のクオリティ接尾辞(m、7、maj7、sus4)、任意のスラッシュベース(C/E)です。
移調器はシャープとフラットをどう選びますか?
任意の prefer は auto、sharps、flats です。auto は各トークンの変化記号の家系を保ち、ナチュラルは上げるときシャープ、下げるときフラットです。綴りを固定するには prefer を設定します。
C/E のようなスラッシュコードは移調されますか?
はい。 ベース音はルートと同じ半音数だけずれるので、C/E を2半音上げると D/F# になります。音高でないスラッシュ(例: 6/9)はベースではなくクオリティ接尾辞として扱います。
メロディーを半音2つ上げるにはどうしますか?
C D E Fのように音名を貼り付け、半音数に2を入れると、結果はD E F# Gになります。mやmaj7などのコードの種類は新しいルートにそのまま付きます。
録音した音から音名を読み取れますか?
いいえ。入力された音名を書き換えるだけで、音声から音高を検出したり、調号全体を書き直したりはしません。音名と半音数を入力して使います。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/music-transposer \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"notes":"C D E F","semitones":2}'const res = await fetch("https://api.kit.forhosting.com/hobby/music-transposer", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"notes": "C D E F",
"semitones": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/music-transposer",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"notes": "C D E F",
"semitones": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/music-transposer", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"notes":"C D E F","semitones":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"notes":"C D E F","semitones":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/music-transposer", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"notes": "C D E F",
"semitones": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.music_transposer",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_notes | 64 |
min_semitones | -48 |
max_semitones | 48 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
トークンが有効な音名でなければ、黙って綴りを作らず invalid_input で失敗します。
音楽移調器が行うことと応答に含まれるもの
本音楽移調器は1つの名前、または空白・カンマ・パイプで区切った進行全体を受け取り、original、解析済み notes 一覧、配列の transposed、コピーしやすい transposed_text、count、送信した符号付き semitones、prefer、direction(up・down・unison)、残差音程名の interval、residual_semitones、octaves_in_shift、method の pitch_class_mod12、短い formula、各トークンのルート・任意クオリティ・任意ベース・移調後形を持つ items を返します。エンジンは公開された限界内で閉じた式を評価するか、invalid_input で拒否します。PDF のリードシートが必要なら JSON をご自身の印刷機と組み合わせてください。このエンドポイントは音名だけを書き換え、歌手・ギタリスト・スクリプトが一つの真実源を共有できるようにします。
入力契約、有効な音名、変化記号、および誤り
別名 note、chords、progression、input、text、symbols を受け付け、音名文字列の配列も同じ一覧へ正規化します。別名 steps、interval、shift、n、transpose_by を受け付けます。分数、非数値の文字列、範囲外の値は invalid_input で失敗し、課金されません。notes または semitones が欠けると、誤りはその欄を名指しします。
リハーサル、授業、ソフトウェアで音楽移調器が役立つ場面
API では成功した照会ごとに $0.002 かかり、失敗した検証は課金されず、応答のあと何も保存しません。無料の対話的な探索と、結果が同一の有料 API という分かれは、KIT のティア A カタログの残りと合い、教室の実演から自動化パイプラインへ、数学的な結果を変えずに進めます。
連携の活用例
旋律や曲を歌手の音域へ移す
元の音名または進行を貼り付け、符号付きの半音オフセットを選び、新しい主音に合うリハーサル譜へ transposed_text をコピーします。
技術的な質問
音名やコード進行を半音で移調するにはどうしますか。
notes を C D E F や C Am F G のような文字列として送り、整数の semitones を付けます。API は transposed と transposed_text に移調後の名前を返します。正のオフセットは上げ、負は下げます。
音楽移調器の料金はいくらですか。
このページではブラウザ内で無料です。API では成功した依頼が $0.002 で、無効な音名を含む不正な入力は課金されません。