和音の転回形計算
和音転回形計算ツールは、基本形の順序で入力された構成音を、指定した転回形に対応する順序へ並べ替えます。0は元の基本形、1は第1転回形、2は第2転回形を表し、以降も同様です。シャープ、フラット、オクターブ番号、独自表記を含め、入力された各音名はそのまま保持されます。コード名や異名同音を推測せず、決まった回転処理だけを行うため、音楽理論の授業、練習問題、教材作成、音楽ソフトウェアの処理に安心して利用できます。
無料で実行
基本形の順序で和音の構成音を入力します
最初に、和音を構成する音を基本形の順序で並べたリストをご用意ください。Cメジャーの三和音ならC、E、G、Gの属七の和音ならG、B、D、Fのように入力します。先頭の要素を基本形の低音として扱い、先頭側の音を末尾へ移動するため、入力順序には意味があります。このツールはコード記号を解析せず、不足音を推測せず、重複音を削除せず、2つの表記が異名同音かどうかも判定しません。この明確な規則により、理論問題でもアプリケーションでも結果を予測できます。F#、Gb、C4、またはお客様のアプリ独自の記法など、音名は入力どおりに保持されます。各要素は空でない文字列である必要がありますが、特定の記譜体系に従う必要はありません。送信前に、リストが意図した基本形の順序になっているかご確認ください。すでに転回された配置を入力した場合も回転結果は得られますが、転回番号は自動検出した根音ではなく、入力順序を基準に解釈されます。
0から始まる転回番号を指定します
転回番号は、和音の先頭から何個の音を末尾へ移すかを示します。0では何も移動せず、元の順序のコピーを返します。1では最初の音を残りの音の後ろへ移すため、C、E、GはE、G、Cになります。2では最初の2音を移し、G、C、Eになります。七の和音では0から3までの4通り、5音の和音では0から4までの5通りを指定できます。番号は0以上の整数で、構成音数より小さくなければなりません。そのため、3音の和音に3を指定するとエラーになります。3音すべてを移しても基本形を繰り返すだけで、別の転回形にはならないためです。この検証によって、配列番号の数え方に関する一般的な誤りも防げます。処理が変更するのは順序だけであり、オクターブ番号を追加したり、移動した音を自動的に12半音上げたりはしません。音域が重要な場合は、移動した音を残りの音より上に置くものとして解釈するか、必要なオクターブ表記を入力してください。
並べ替えた構成音を練習やソフトウェアで活用します
結果は並べ替え済みの構成音をJSON配列として返すため、表示、保存、比較、別の音楽ツールへの受け渡しが容易です。先生は各和音を手作業で書き直さずに、転回形問題の解答を作成できます。学習者は、低音と残りの並びが第1、第2、またはそれ以降の転回形に一致するか確認できます。編曲者は演奏可能なボイシングを決める前に音の順序を検討でき、開発者は決定的な結果をコード図、MIDI準備処理、進行分析画面などへ組み込めます。ただし、転回形だけで完全なボイシングが決まるわけではありません。楽器によっては構成音を重複または省略し、複数のオクターブへ広げ、同じ低音の種類を保ちながら内声の順序を変えることがあります。本ツールは楽器固有の仮定を避け、循環的な音順という限定された問いに答えます。同じ入力からは、ネットワーク参照、乱数、コード辞書を使わず常に同じ結果が得られます。個別計算はブラウザーで手軽に行え、API自動化は1リクエストあたり$0.002です。
活用例
音楽理論の問題を作成
転回形の設問、ワークシート、解答用に、一貫した順序の構成音リストを生成します。
練習問題の解答を確認
学習者が提示した転回形を、指定番号から得られる決定的な音順と比較します。
和音インターフェースに連携
並べ替えた構成音をコード図、楽譜プレビュー、または後続の楽器別ボイシング処理へ渡します。
よくある質問
転回番号はどのように数えますか?
0から数えます。0は基本形、1は第1転回形、2は第2転回形で、以降も同様です。
転回形を指定すると構成音はどうなりますか?
指定個数の音を配列の先頭から末尾へ移し、それぞれの相対的な順序は保持します。
転回番号を構成音数と同じ値にできますか?
できません。全音を移すと元の順序を繰り返すだけなので、構成音数より小さい値が必要です。
コード記号の認識や音名表記の修正は行いますか?
行いません。お客様が順序を付けて入力した音だけを処理し、その表記を正確に保持します。
移動した音にオクターブを割り当てますか?
割り当てません。音順のみを返し、オクターブ配置や楽器別のボイシングはお客様が指定します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/chord-inversion \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"notes":["C","E","G"],"inversion":1}'const res = await fetch("https://api.kit.forhosting.com/hobby/chord-inversion", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"notes": [
"C",
"E",
"G"
],
"inversion": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/chord-inversion",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"notes": [
"C",
"E",
"G"
],
"inversion": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/chord-inversion", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"notes":["C","E","G"],"inversion":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"notes":["C","E","G"],"inversion":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/chord-inversion", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"notes": [
"C",
"E",
"G"
],
"inversion": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.chord_inversion",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |