Recherche des fréquences DTMF d’un clavier téléphonique
Une tonalité DTMF représente une touche téléphonique en diffusant simultanément deux fréquences : l’une appartient à une rangée de basses fréquences, l’autre à une colonne de hautes fréquences.
Lancer gratuitement
Saisissez un chiffre de 0 à 9, l’astérisque ou le croisillon pour obtenir sa paire standard exacte en hertz. Cette recherche déterministe et immédiate permet de vérifier des logiciels de téléphonie, des générateurs, des décodeurs, de la documentation et des jeux d’essai sans consulter manuellement une matrice de clavier.
Comment une touche devient une paire de fréquences
La signalisation multifréquence à deux tonalités, couramment appelée DTMF, organise le clavier téléphonique sous forme de matrice de fréquences. Chaque rangée horizontale possède une fréquence basse et chaque colonne verticale une fréquence haute. Lorsque vous appuyez sur une touche, les fréquences de sa rangée et de sa colonne sont combinées afin de former une paire propre à cette position. Ainsi, les touches 1, 2 et 3 partagent la même fréquence basse, mais emploient des fréquences hautes différentes. Cette recherche renvoie les deux composantes séparément, ainsi que sous forme de paire ordonnée avec la fréquence basse en premier. Cette présentation convient aussi bien à la lecture d’une spécification qu’à un programme préparant un oscillateur, un détecteur ou une assertion de test. Le résultat exprime les fréquences en hertz ; il ne synthétise pas de fichier audio, n’estime pas la durée de la tonalité et n’analyse aucun enregistrement. La matrice étant fixée par le plan DTMF usuel, une même touche acceptée fournit toujours le même résultat, sans arrondi, accès au réseau ni calcul dépendant de l’appareil.
Quels caractères du clavier sont acceptés
L’entrée doit contenir exactement un caractère d’un clavier téléphonique grand public à 12 touches : un chiffre de 0 à 9, l’astérisque ou le croisillon. Le caractère est interprété littéralement ; lors d’un appel à l’API, vous devez donc transmettre un chiffre sous forme de texte. Les espaces, les mots, les chaînes de plusieurs caractères, les signes négatifs et toute ponctuation autre que les deux symboles du clavier provoquent une erreur d’entrée. Certaines spécifications techniques DTMF décrivent également une quatrième colonne comprenant les touches de commande A, B, C et D. Ces touches ont été utilisées sur des équipements militaires et de contrôle réseau spécialisés, mais elles ne figurent pas sur le clavier téléphonique standard couvert par cette capacité et sont donc volontairement refusées. Cette définition stricte évite toute ambiguïté sur la disposition concernée. Dans un formulaire, les choix déclarés peuvent apparaître dans une liste. Dans une intégration logicielle, validez ou convertissez explicitement la touche voulue en texte avant l’envoi, sans compter sur une conversion numérique automatique.
Exploiter le résultat dans un projet de téléphonie
Les fréquences basse et haute renvoyées constituent une référence dès qu’un logiciel doit correspondre à un clavier téléphonique. Un générateur de tonalités peut employer la paire pour régler deux oscillateurs avant d’appliquer ses propres paramètres d’amplitude, de fréquence d’échantillonnage et de durée. Un test de décodeur peut associer une paire connue à la touche qui doit être reconnue. Les équipes d’assurance qualité peuvent transformer la réponse en données d’essai stables pour des serveurs vocaux interactifs, des composeurs, des téléphones logiciels, des passerelles ou des systèmes embarqués. La recherche aide également à comprendre la confusion entre touches voisines : celles d’une même rangée partagent leur composante basse, tandis que celles d’une même colonne partagent leur composante haute. Cette capacité ne vérifie ni l’écart de niveau, ni la tolérance, ni la cadence, ni l’intensité du signal, ni la conformité d’un enregistrement à une norme de télécommunication ; ces contrôles exigent des mesures sur un signal réel. Elle fournit uniquement l’identité nominale des fréquences. Utilisez-la dans votre navigateur pour une vérification ponctuelle ou appelez l’API pour $0.002 par requête lorsqu’un traitement requiert une petite réponse JSON prévisible.
Cas d’usage
Configurer un générateur de tonalités DTMF
Obtenez les fréquences nominales basse et haute des oscillateurs correspondant à la touche que votre application doit émettre.
Préparer des données de test pour un décodeur
Créez des valeurs attendues explicites associant un caractère du clavier à sa paire de fréquences standard.
Vérifier une documentation de téléphonie
Confirmez une paire de fréquences lors de l’examen de parcours IVR, de composeurs, de passerelles ou de notes techniques.
Questions fréquentes
Quels caractères pouvez-vous saisir ?
Saisissez exactement un chiffre de 0 à 9, un astérisque ou un croisillon.
Pourquoi les touches DTMF A, B, C et D sont-elles refusées ?
Elles appartiennent à une quatrième colonne DTMF spécialisée et ne figurent pas sur le clavier téléphonique standard à 12 touches traité ici.
Cet outil produit-il une tonalité audible ?
Non. Il renvoie la paire de fréquences nominales sous forme de données ; il ne synthétise, ne lit et ne télécharge aucun son.
Peut-il analyser un enregistrement de tonalités de clavier ?
Non. Une analyse audio exige un décodeur qui mesure les fréquences du signal. Cette capacité recherche seulement la paire d’une touche connue.
Quel est le prix d’une requête API ?
Chaque requête API coûte $0.002. La même recherche déterministe peut aussi être exécutée dans votre navigateur.
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/audio/dtmf-tone-lookup \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"key":"5"}'const res = await fetch("https://api.kit.forhosting.com/audio/dtmf-tone-lookup", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"key": "5"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/dtmf-tone-lookup",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"key": "5"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/dtmf-tone-lookup", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"key":"5"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"key":"5"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/dtmf-tone-lookup", 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
{
"key": "5"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.dtmf_tone_lookup",
"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_mb | 200 |
max_minutes | 180 |
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. |