短調の平行調(長調)計算ツール
この平行調計算ツールは、入力した短調とまったく同じ調号を使う長調を求めます。イ短調、嬰ヘ短調、変ロ短調などの調名を入力すると、対応する長調が表示されます。短調の主音から3半音上がるという標準的な関係を用い、共通する調号にふさわしい音名表記も保ちます。結果は即座に決まり、毎回同一ですので、音楽理論の学習、作曲、ソフトウェア処理にご利用いただけます。
無料で実行
長調の平行調とは何か
自然短音階を基礎とする各短調には、同じ音の集まりから成る長調の平行調があります。そのため両者の調号は同じですが、音楽の中心となる主音は異なります。代表例はイ短調とハ長調です。どちらも調号にシャープやフラットがありませんが、イ短調ではイ音、ハ長調ではハ音が帰着点として聞こえます。この計算では短調の主音から短3度、すなわち3半音上にある長調の主音を特定します。これは同主調との関係ではありません。同主長調は主音を変えずに調号が変わるため、イ短調の同主長調はイ長調、平行調はハ長調です。この区別は、和声分析、転調の設計、滑らかにつながる和音の選択に欠かせません。異名同音の音は平均律では同じ高さに聞こえても、楽譜上では別の調を表す場合があります。そのため、入力された短調が示す綴りを尊重して長調名を返します。
短調の入力方法と結果の読み方
AからGまでの主音を入力し、必要に応じてシャープまたはフラットを続けます。末尾には minor、min、小文字の mを付けることもできます。通常の記号とUnicodeのシャープ・フラット記号の両方に対応するため、F# minor と F♯ minor は同じ結果になります。出力には、正規化した短調名、その平行調である長調名、3半音という間隔、調号を共有することの確認が含まれます。たとえば嬰ヘ短調の平行調はイ長調で、どちらもシャープが3個です。ハ短調の平行調は変ホ長調で、どちらもフラットが3個です。このツールは音源、旋律、コード進行から調を推定するものではなく、入力された調名が表す音楽理論上の問いに厳密に答えます。無関係な語、複数の調、未対応の表記が含まれる場合は推測せず、入力エラーを返します。この明確な動作により、授業や自動処理で一見正しそうな誤答が混入するのを防げます。
和声と作曲で平行調を活用する方法
平行関係にある長調と短調は、全音階の構成音と調号を共有するため、密接につながっています。作曲では、短調のヴァースから平行長調のコーラスへ移ることで、新しい調号を導入せずに明るい印象を作れます。編曲では共通和音を転調の橋渡しに利用できます。イ短調とハ長調なら、ハ長調、ヘ長調、ト長調の和音はいずれの音階にも自然に含まれますが、中心音が移ると和声上の役割は変わります。五度圏を覚える際の確認にも便利です。ただし、調号だけでは実際の楽曲がどちらの調にあるか断定できません。終止形、旋律上の強調、導音、安定して聞こえる位置などから主音を判断します。和声的短音階では第7音を一時的に上げますが、その臨時記号によって基礎となる共通の調号が変わるわけではありません。まず計算結果で正確な関係を確認し、その後、曲が短調、平行長調、一時的な主音化のどれとして振る舞うかを分析してください。自動処理では1回 $0.002 で、ブラウザーでは通信を使わず同じ決定的な規則を利用できます。
活用例
音楽理論の課題を確認する
短調、調号、五度圏を学ぶ際に、対応する平行長調を確かめられます。
自然な転調を設計する
現在の短調と全音階の構成音を共有する、近い長調を見つけられます。
楽曲や編曲に調名を付ける
既知の短調から平行長調を求め、分析メモ、コード譜、教材に利用できます。
よくある質問
短調の平行長調はどのように求めますか?
短調の主音から短3度、つまり3半音上がり、調号に合う音名で表します。たとえばイ短調ならハ長調です。
平行関係の長調と短調は同じ音を使いますか?
全音階の構成音と調号は同じですが、主音と各和音の機能は異なります。
平行長調と同主長調は同じですか?
異なります。平行長調は主音が異なり調号が同じです。同主長調は主音が同じで調号が変わります。
なぜ平行長調は3半音上にありますか?
長調の主音が短調の主音より短3度上にあるためです。十二平均律では短3度は3半音に相当します。
和声的短音階では平行長調が変わりますか?
変わりません。第7音を上げるのは半音階的な変化であり、基礎の調号や平行長調を変更するものではありません。
API の利用料金はいくらですか?
API は1回 $0.002 です。ブラウザーでは無料でも計算できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/music-relative-major \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"minor_key":"F# minor"}'const res = await fetch("https://api.kit.forhosting.com/hobby/music-relative-major", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"minor_key": "F# minor"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/music-relative-major",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"minor_key": "F# minor"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/music-relative-major", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"minor_key":"F# minor"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"minor_key":"F# minor"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/music-relative-major", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"minor_key": "F# minor"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.music_relative_major",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |