<!-- canonical: https://jmrplens.github.io/phonometry/es/guides/tone-prominence/ -->
Source: https://jmrplens.github.io/phonometry/es/guides/tone-prominence/

Los componentes tonales del ruido de maquinaria molestan mucho más de lo que
sugiere su nivel. ECMA-418-1:2024 (referenciada por el Anexo D de ECMA-74)
define dos métodos FFT para decidir si un tono discreto es *prominente*:
`tone_to_noise_ratio()` compara el nivel del tono con el ruido enmascarante de
su banda crítica (apartado 11) y `prominence_ratio()` compara la banda crítica
centrada en el tono con las dos bandas contiguas (apartado 12). Ambos devuelven
un veredicto estructurado frente a los criterios de prominencia dependientes de
la frecuencia.

## 1. Relación tono-ruido y relación de prominencia

```python

from phonometry import psychoacoustics

fs = 48000
rng = np.random.default_rng(0)
t = np.arange(fs) / fs
x = np.sin(2 * np.pi * 1000 * t) + 0.05 * rng.standard_normal(fs)  # tono de 1 kHz en ruido
tnr = psychoacoustics.tone_to_noise_ratio(x, fs)            # pico más alto, o tone_freq=...
pr = psychoacoustics.prominence_ratio(x, fs, tone_freq=1000.0)
print(tnr.ratio_db, tnr.criterion_db, tnr.prominent)

tnr.plot()   # el tono frente a su criterio de prominencia (necesita matplotlib)
```

Los métodos se apoyan en la **banda crítica**, el ancho de banda de análisis
del oído, $\Delta f_c = 25 + 75\ [1 + 1{,}4(f/1000)^2]^{0{,}69}$ Hz (162 Hz a
1 kHz): a un tono solo lo enmascara el ruido que hay *dentro* de su banda
crítica, así que ambos métodos se centran en esa banda y no en todo el
espectro, pero la usan de forma distinta. La relación tono-ruido trabaja
dentro de la banda, separando sus líneas espectrales en tono y ruido y
restando sus niveles (apartado 11, Fórmulas 9–11); la relación de prominencia,
en cambio, compara la banda *completa* centrada en el tono con la media de sus
dos bandas críticas contiguas (apartado 12, Fórmula 23):

$$
\mathrm{TNR} = L_t - L_n, \qquad
\mathrm{PR} = 10\,\lg\!\frac{W_M}{\tfrac{1}{2}(W_L + W_U)}\ \text{dB},
$$

donde $L_t$ es el nivel del tono (la suma en energía de las líneas tonales por
encima de la línea de base entre los bordes de la banda, Fórmula 9), $L_n$ el
nivel del ruido enmascarante que queda en la banda crítica, reescalado al ancho
de banda crítico completo (Fórmulas 10–11), y $W_M$, $W_L$, $W_U$ las potencias
de las bandas críticas central, inferior y superior (por debajo de
$f_t = 171{,}4$ Hz la banda inferior truncada se reescala a un ancho de banda
de 100 Hz, Fórmula 24).

<details>
<summary>Mostrar el código de esta figura</summary>

```python

from scipy.signal import welch
from phonometry import psychoacoustics

fs = 48000
rng = np.random.default_rng(21)
t = np.arange(30 * fs) / fs
x = (np.sqrt(2) * 0.1 * np.sin(2 * np.pi * 1000 * t)
     + 0.05 * rng.standard_normal(t.size))
res = psychoacoustics.tone_to_noise_ratio(x, fs)

# Espectro Hann promediado a 1 Hz (el front-end del apartado 11.1) y la banda
# crítica en torno al tono detectado (bordes aproximados como +/- dfc/2):
f, p = welch(x, fs, window="hann", nperseg=fs, scaling="spectrum")
dfc = 25 + 75 * (1 + 1.4 * (res.frequency / 1000) ** 2) ** 0.69
sel = (f > 700) & (f < 1400)
plt.plot(f[sel], 10 * np.log10(p[sel]))
plt.axvspan(res.frequency - dfc / 2, res.frequency + dfc / 2, alpha=0.15)
plt.title(f"TNR = {res.ratio_db:.1f} dB (criterio {res.criterion_db:.1f} dB)")
plt.xlabel("Frecuencia [Hz]"); plt.ylabel("Potencia por bin [dB]")
plt.show()
```

</details>

Un TNR igual o superior a $8 + 8{,}33\log_{10}(1000/f_t)$ dB por debajo de
1 kHz (8 dB constantes para $f_t \ge 1$ kHz) clasifica el tono como
*prominente*; el criterio del PR es $9 + 10\log_{10}(1000/f_t)$ dB por debajo
de 1 kHz y 9 dB a partir de ahí, aplicado igualmente con $\ge$. Las
frecuencias bajas reciben umbrales más altos porque unas bandas relativamente
más anchas enmascaran más.

`ToneAssessment.plot()` sitúa el veredicto en su contexto: dibuja el criterio
del método que lo ha producido en todo el rango de interés de 89,1 Hz a
11,2 kHz y marca el tono evaluado en su propia frecuencia, de modo que el
margen que decide el veredicto se ve en lugar de deducirse.

<details>
<summary>Mostrar el código de esta figura</summary>

```python

from phonometry import psychoacoustics

# Un tono de ventilador de 250 Hz en ruido de maquinaria, 10 s a 48 kHz.
fs = 48000
rng = np.random.default_rng(4)
t = np.arange(10 * fs) / fs
x = (np.sqrt(2) * 0.011 * np.sin(2 * np.pi * 250.0 * t)
     + 0.03 * rng.standard_normal(t.size))
res = psychoacoustics.tone_to_noise_ratio(x, fs)
print(round(res.ratio_db, 1), round(res.criterion_db, 1), res.prominent)
# 15.1 13.0 True

# En una línea: el tono frente a la curva de criterio de su propio método.
res.plot(language="es")
plt.show()

# A mano, reproduciendo lo que dibuja ToneAssessment.plot():
f = np.logspace(np.log10(89.1), np.log10(11200.0), 400)
criterio = np.where(f < 1000.0, 8.0 + 8.33 * np.log10(1000.0 / f), 8.0)
fig, ax = plt.subplots()
ax.semilogx(f, criterio, color="#d62728", label="criterio de prominencia")
ax.plot([res.frequency], [res.ratio_db], "o", label="tono evaluado")
ax.plot([res.frequency] * 2, [res.criterion_db, res.ratio_db], ":", color="0.6")
ax.set_xlabel("Frecuencia [Hz]")
ax.set_ylabel("Relación tono-ruido TNR [dB]")
ax.legend()
plt.show()
```

</details>

**Cuando los dos ratios discrepan.** Cerca de los criterios los veredictos
pueden diferir, porque cada ratio es frágil en una situación distinta. El TNR
tiene que *separar* primero las líneas de la banda crítica en tonales y de
ruido, así que se degrada cuando esa separación es ambigua: un tono montado
sobre una pendiente abrupta de ruido, o componentes muy juntos cuyas faldas se
solapan. El PR no necesita separación alguna, lo que lo convierte en la opción
robusta y automatizable cuando **varios tonos comparten la banda crítica**
(todos caen en $W_M$); a cambio lee de menos cuando una banda *vecina* también
lleva un tono (las bandas laterales dejan de ser ruido) y se sesga en espectros
de pendiente pronunciada, donde las dos bandas laterales ya no estiman el
enmascaramiento en el tono. En la práctica: prefiere el TNR para un tono limpio
y aislado, el PR para complejos multitono que comparten banda, y presenta ambos
cuando ronden sus criterios.

## 2. Dónde medir (ECMA-74) y práctica

ECMA-74 (que delega la evaluación tonal en ECMA-418-1) también fija dónde medir alrededor de un equipo (solo contexto): phonometry implementa las evaluaciones de ECMA-418-1, no el procedimiento de medida del Anexo D de ECMA-74:

Los tonos secundarios próximos en la misma banda crítica se combinan según el
apartado 11.6; para complejos armónicos evalúa cada componente (`tone_freq=`).
Ambos métodos trabajan sobre espectros promediados RMS con ventana Hann y no
necesitan calibración absoluta (los ratios son diferencias de nivel).

### Parámetros de `tone_to_noise_ratio()` / `prominence_ratio()`

| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
| :--- | :--- | :--- | :--- | :--- |
| `x` | array 1D | cualquiera (vale sin calibrar) | ≥ `fs/resolution_hz` muestras | Los ratios son diferencias de nivel: la calibración se cancela |
| `fs` | int | Hz | > 0 | |
| `tone_freq` | float, opcional | Hz | 89,1–11 200; por defecto `None` | `None` evalúa el pico más alto del rango de interés |
| `resolution_hz` | float | Hz | > 0; por defecto `1.0` | La banda del tono debe quedar dentro del 15 % de la banda crítica (apartado 11.2) |

Ambos devuelven un `ToneAssessment(frequency, ratio_db, criterion_db, prominent)`.

## 3. Qué métrica de tonalidad usar y cuándo

La biblioteca implementa cuatro evaluaciones de tonalidad, y no son
intercambiables: cada una pertenece a una norma distinta, con su propio
objetivo, su entrada y su salida.

| | TNR / PR | Audibilidad tonal `ΔL` | Tonalidad psicoacústica `T` | Audibilidad tonal de aerogeneradores |
| :--- | :--- | :--- | :--- | :--- |
| Norma | ECMA-418-1:2024, apartados 11 y 12 | ISO/PAS 20065:2016, adoptada por el Anexo J de ISO 1996-2:2017 | ECMA-418-2:2025, apartado 6 | IEC 61400-11:2012, apartado 9.5 |
| Pregunta que responde | ¿Es prominente este tono discreto en la emisión de un equipo? | ¿Es audible el tono por encima del ruido que lo enmascara, y en cuánto? | ¿Cuán tonal se percibe el sonido? | ¿Es audible el tono del aerogenerador en la posición de referencia, bin de viento a bin de viento? |
| Entrada | Un espectro FFT, sin necesidad de calibración | Espectros de banda estrecha con la separación entre líneas declarada | La señal de presión calibrada, a través del modelo auditivo de Sottek | Espectros de banda estrecha por bin de velocidad de viento, con la distancia de referencia |
| Salida | Un ratio en dB frente a un criterio dependiente de la frecuencia, más un veredicto prominente / no prominente | Una audibilidad en dB, cuyos valores decisivo y medio alimentan el ajuste tonal `Kt` | Una tonalidad en `tu_HMS`, una magnitud perceptiva sin criterio asociado | Una audibilidad en dB por bin, informada junto a la potencia acústica del aerogenerador |
| Se usa para | Declarar la emisión de equipos TIC (Anexo D de ECMA-74) | Evaluación de ruido ambiental: justificar, o descartar, una penalización tonal | Calidad sonora: comparar diseños, no superar un límite | Ensayos de tipo y aceptación de aerogeneradores |

La tabla se lee como una decisión: la métrica la elige el *objetivo del
informe*, no la comodidad de la entrada. La declaración de emisión de un
equipo es un veredicto de prominencia de ECMA-418-1; una queja por un tono de
una instalación es una evaluación según ISO 1996-2, así que necesita la
audibilidad `ΔL` que se traduce en `Kt`
(la [guía de audibilidad tonal](/phonometry/es/guides/tone-audibility/)); una
comparación de productos en la que nadie va a ser sancionado es donde la
tonalidad de ECMA-418-2 se gana su sitio, porque es una magnitud y no un
ensayo de umbral (la [guía de calidad sonora](/phonometry/es/guides/sound-quality/));
y un aerogenerador es un régimen propio, con un procedimiento de medida en
IEC 61400-11 que fija la geometría y los bins de viento (la
[guía de aerogeneradores](/phonometry/es/guides/wind-turbine-noise/)).

Dos consecuencias que conviene tener presentes. Primera, los números no se
convierten: un TNR de 12 dB no es una audibilidad de 12 dB, porque el modelo
de enmascaramiento, la definición de banda y la referencia son distintos.
Segunda, las métricas pueden discrepar sobre el mismo sonido, y con razón. Un
tono puede ser prominente según ECMA-418-1 en el campo próximo de la máquina y
resultar inaudible en la vivienda donde se hace la evaluación de ISO 1996-2,
mientras la tonalidad del modelo auditivo se mantiene moderada en ambos casos
porque valora el sonido completo y no una línea espectral. Informa la métrica
que exija la evaluación y cita cualquier otra solo como evidencia de apoyo.

## Qué cubre esta guía

**Cubierto.** ECMA-418-1:2024 (3.ª edición): los métodos de relación
tono-ruido (apartado 11, Fórmulas 9 a 12) y relación de prominencia
(apartado 12, Fórmulas 23 a 26) sobre espectros promediados RMS con ventana
Hann, el modelo de banda crítica del apartado 10, los criterios de
prominencia dependientes de la frecuencia y la combinación de tonos
secundarios que comparten banda del apartado 11.6, todo a través de
`tone_to_noise_ratio()` y `prominence_ratio()`.

**No cubierto.** El veredicto `prominent` que devuelven estas funciones es
solo el criterio numérico. La norma exige además que un tono prominente se
confirme por examen auditivo (apartados 11.8/12.8) y que supere el filtro
del umbral inferior de audición de los apartados 8/9, que necesita niveles
absolutos calibrados: ambas comprobaciones quedan a cargo de quien llama.
ECMA-74:2025 está cubierta solo como la norma que delega su evaluación
tonal en ECMA-418-1; su propio procedimiento de medida del Anexo D y las
posiciones de operador/observador (mostradas arriba solo como contexto) no
están implementados aquí.

## Véase también

- [Niveles](/phonometry/es/guides/levels/): los niveles de evaluación de
  ISO 1996-1 cuyos ajustes tonales (Tabla A.1) estos veredictos de prominencia
  justifican objetivamente.
- [Métricas de calidad sonora](/phonometry/es/guides/sound-quality/): la tonalidad
  psicoacústica T en tu_HMS de ECMA-418-2, la contraparte de modelo auditivo de
  estos ratios FFT.
- [Audibilidad objetiva de tonos en ruido](/phonometry/es/guides/tone-audibility/): la
  audibilidad ΔL de ISO/PAS 20065 de la que se lee el ajuste tonal Kt de ISO 1996-2.
- [Ruido de aerogeneradores](/phonometry/es/guides/wind-turbine-noise/): la audibilidad
  tonal de IEC 61400-11, la misma pregunta planteada por bin de velocidad de viento.
- [Prominencia de sonidos impulsivos](/phonometry/es/guides/impulse-prominence/):
  la contraparte NT ACOU 112 para el carácter impulsivo (en lugar de tonal).
- [Teoría](/phonometry/es/reference/theory/perception/): el modelo de banda crítica y la
  derivación de los criterios.
- Referencia de la API: [`psychoacoustics.tonality`](/phonometry/es/reference/api/psychoacoustics/tonality/).
