Consulta de frecuencias DTMF para teclas telefónicas
Un tono DTMF representa una tecla telefónica reproduciendo dos frecuencias a la vez: una procede de una fila de baja frecuencia y la otra de una columna de alta frecuencia.
Ejecutar — gratis
Introduzca cualquier dígito del 0 al 9, el asterisco o la almohadilla para obtener su par estándar exacto en hercios. La consulta es determinista e inmediata, y permite comprobar software de telefonía, generadores, decodificadores, documentación y juegos de pruebas sin revisar manualmente una matriz de teclado.
Cómo se convierte una tecla en dos frecuencias
La señalización multifrecuencia de doble tono, conocida como DTMF, organiza el teclado telefónico en una matriz de frecuencias. Cada fila horizontal tiene una frecuencia baja y cada columna vertical tiene una frecuencia alta. Al pulsar una tecla se combinan las frecuencias de su fila y su columna, lo que proporciona a esa posición un par distintivo. Por ejemplo, las teclas 1, 2 y 3 comparten la frecuencia baja de la misma fila, pero emplean frecuencias altas diferentes. Esta consulta devuelve ambos componentes por separado y también como un par ordenado, con la frecuencia baja en primer lugar. Esa estructura resulta práctica tanto para quien lee una especificación como para el código que prepara un oscilador, un detector o una aserción de prueba. El resultado expresa las frecuencias en hercios; no sintetiza un archivo de audio, no calcula la duración del tono ni analiza una grabación. Como la tabla está fijada por el plan habitual de teclados DTMF, una misma tecla aceptada siempre produce el mismo resultado, sin redondeos, solicitudes de red ni cálculos dependientes del dispositivo.
Qué caracteres del teclado se aceptan
La entrada debe ser exactamente un carácter de un teclado telefónico estándar de 12 teclas: los dígitos del 0 al 9, el asterisco o la almohadilla. El carácter se interpreta literalmente, por lo que un número debe enviarse como texto al llamar a la API. Los espacios, palabras, cadenas de varios caracteres, signos negativos y cualquier signo de puntuación distinto de los dos símbolos del teclado se rechazan con un error de entrada. Algunas especificaciones técnicas de DTMF también describen una cuarta columna con las teclas de control A, B, C y D. Esas teclas se utilizaron en equipos militares y de control de red especializados, pero no aparecen en el teclado telefónico estándar que cubre esta capacidad; por ello, se rechazan expresamente. Limitar el conjunto aceptado evita suposiciones accidentales sobre el diseño utilizado. Si crea un formulario, puede presentar las opciones declaradas mediante un selector. Si integra la función mediante código, valide o convierta expresamente la tecla prevista en texto antes de enviarla, en vez de confiar en una conversión numérica automática.
Cómo usar el resultado en trabajos de telefonía
Las frecuencias baja y alta devueltas sirven como datos de referencia siempre que un programa deba coincidir con un teclado telefónico. Un generador de tonos puede usar el par para configurar dos osciladores antes de aplicar sus propios ajustes de amplitud, frecuencia de muestreo y duración. Una prueba de decodificador puede asociar un par conocido con la tecla que debe reconocer. Los equipos de control de calidad pueden convertir la respuesta en datos de prueba estables para menús de respuesta de voz interactiva, marcadores, teléfonos de software, pasarelas y dispositivos integrados. La consulta también ayuda a explicar por qué un detector confunde teclas vecinas: las teclas de una misma fila comparten el componente bajo y las de una misma columna comparten el alto. Esta capacidad no evalúa el desequilibrio de niveles, la tolerancia, la cadencia, el nivel de señal ni si un audio grabado cumple una norma de telecomunicaciones; esas cuestiones exigen mediciones sobre una señal real. Solo proporciona la identidad de frecuencia nominal. Ejecútela en el navegador para una comprobación ocasional o llame a la API por $0.002 por solicitud cuando un flujo necesite una respuesta JSON pequeña y predecible.
Qué puede hacer con ella
Configurar un generador de tonos DTMF
Obtenga las frecuencias nominales baja y alta de los osciladores para la tecla que deba emitir su aplicación.
Crear datos de prueba para decodificadores
Prepare valores esperados claros que relacionen un carácter del teclado con su par estándar de frecuencias.
Comprobar documentación de telefonía
Confirme un par de frecuencias al revisar flujos IVR, marcadores, ajustes de pasarelas o notas técnicas.
Preguntas frecuentes
¿Qué caracteres puede introducir?
Introduzca exactamente un dígito del 0 al 9, un asterisco o una almohadilla.
¿Por qué se rechazan las teclas DTMF A, B, C y D?
Pertenecen a una cuarta columna DTMF especializada y no aparecen en el teclado telefónico estándar de 12 teclas que se cubre aquí.
¿Esta herramienta genera un tono audible?
No. Devuelve el par de frecuencias nominales como datos; no sintetiza, reproduce ni descarga audio.
¿Puede analizar una grabación de tonos de teclado?
No. El análisis de audio requiere un decodificador que mida las frecuencias de una señal. Esta capacidad solo consulta el par de una tecla conocida.
¿Cuánto cuesta una solicitud de la API?
Cada solicitud de la API cuesta $0.002. La misma consulta determinista también puede ejecutarse en su navegador.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"key": "5"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.dtmf_tone_lookup",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 200 |
max_minutes | 180 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |