Rapport d’intervalle en accord pythagoricien
Ce calculateur transforme un nombre signé de quintes pures en un rapport de fréquences exact.
Lancer gratuitement
Saisissez une valeur positive pour monter dans le cycle des quintes ou négative pour descendre. Le résultat peut être ramené dans une octave sans changer sa classe de hauteur ; la fraction exacte, le rapport décimal, le décalage d’octave et la valeur en cents sont fournis. Cet outil permet d’étudier l’accordage, de vérifier des tables d’intervalles et de comparer les graphies pythagoriciennes sans perdre l’arithmétique exacte par arrondi.
Construisez un intervalle avec des quintes pures
L’accord pythagoricien repose sur la quinte pure, dont le rapport de fréquences vaut exactement 3:2. Empiler des quintes consiste à multiplier ce rapport à chaque pas ascendant ; sept quintes donnent donc (3/2)^7. Une valeur négative parcourt le chemin inverse et utilise le réciproque, (2/3), à chaque pas. Saisissez zéro pour l’unisson, un pour une quinte pure, deux pour la seconde majeure pythagoricienne après réduction d’octave, ou tout entier signé dans la limite indiquée. Le calculateur effectue l’arithmétique rationnelle avec des entiers au lieu d’arrondir successivement des décimales. Le numérateur et le dénominateur conservent ainsi le rapport théorique exact. Cette distinction devient importante lorsque de nombreuses quintes sont empilées : la décimale affichée facilite la mesure, mais reste une approximation, tandis que la fraction décrit précisément la construction. Les valeurs positives et négatives sont traitées symétriquement, afin de parcourir une chaîne de quintes dans les deux sens et de vérifier les relations inverses entre intervalles.
Comprenez la normalisation et le décalage d’octave
Les intervalles issus de plusieurs quintes dépassent vite une seule octave. La normalisation multiplie ou divise le rapport brut par des puissances de deux jusqu’à obtenir une valeur comprise entre 1:1 inclus et 2:1 exclu. Puisqu’une octave relie des hauteurs de même classe, cette réduction conserve l’identité pythagoricienne tout en présentant la plage habituelle des tables d’accordage. Le champ `octave_shift` décrit précisément l’opération : une valeur négative signifie que le rapport empilé a été divisé par ce nombre d’octaves ; une valeur positive indique qu’il a été remonté après des quintes descendantes. Désactivez la normalisation si vous avez besoin de l’intervalle composé littéral formé par la pile entière. Le décalage vaut alors zéro et la fraction reste (3/2)^n ou son réciproque. Comparer les appels normalisés et bruts sépare clairement la multiplication physique des fréquences accumulée et l’intervalle simple équivalent à l’octave auquel un nom musical courant est généralement attribué.
Associez rapports exacts, décimales et cents
Le résultat propose plusieurs représentations du même intervalle, chacune adaptée à un usage. Employez `ratio`, `numerator` et `denominator` pour reporter des valeurs exactes dans une table d’accordage, démontrer une relation ou calculer une fréquence cible par arithmétique rationnelle. Employez `decimal_ratio` pour multiplier une fréquence de référence dans un script de synthétiseur ou une feuille de calcul. Employez `cents` pour comparer le résultat au tempérament égal à douze sons ou à un autre système, car les cents transforment les rapports multiplicatifs en échelle additive. Vous pouvez ainsi calculer une hauteur pythagoricienne, la comparer au pas tempéré de 100 cents le plus proche et interpréter l’écart comme une correction. Le calculateur décrit des intervalles sans nommer les notes : l’orthographe enharmonique dépend de la note initiale et du sens de la chaîne. La fraction exacte demeure sans ambiguïté et révèle de faibles écarts, comme le comma pythagoricien, que des étiquettes arrondies peuvent masquer.
Cas d’usage
Construire une gamme pythagoricienne
Générez des rapports exacts ramenés à l’octave pour les positions successives d’une chaîne de quintes pures.
Comparer des systèmes d’accordage
Mesurez en cents l’écart entre un intervalle pythagoricien et son équivalent au tempérament égal.
Vérifier un instrument ou synthétiseur
Multipliez une fréquence de base par le rapport décimal ou convertissez les cents en correction d’accord.
Questions fréquentes
Qu’est-ce qu’une quinte pure ?
C’est un intervalle au rapport exact 3:2 : la fréquence supérieure vaut une fois et demie la fréquence inférieure.
Que signifie un nombre négatif de quintes ?
Il empile des quintes descendantes avec le rapport réciproque 2:3 avant toute normalisation d’octave facultative.
Que modifie la normalisation d’octave ?
Elle ne change que le registre par une puissance exacte de deux et place le rapport entre 1:1 et 2:1 sans modifier sa classe de hauteur.
Pourquoi le numérateur et le dénominateur sont-ils des chaînes ?
Les grands entiers exacts peuvent dépasser la plage numérique sûre de JSON en JavaScript. Les chaînes préservent chaque chiffre.
Le calculateur renvoie-t-il un nom de note ?
Non. Un nom requiert aussi une hauteur initiale et une convention d’écriture ; l’outil renvoie l’intervalle produit par les quintes.
Quel est le prix d’une requête API ?
Chaque requête API coûte $0.002. La version déterministe pour navigateur peut aussi s’exécuter localement sur la page.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/hobby/music-pythagorean-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fifths":7}'const res = await fetch("https://api.kit.forhosting.com/hobby/music-pythagorean-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fifths": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/music-pythagorean-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fifths": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/music-pythagorean-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fifths":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fifths":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/music-pythagorean-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"fifths": 7
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.music_pythagorean_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_fifths | 100 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |