Herramientas

Espectrograma audio

Representación visual de las frecuencias de un audio en el tiempo. Herramienta forense para detectar indicios de voz sintética (deepfakes) mediante el análisis de artefactos espectrales, formantes anómalos y transiciones de fonemas, como indicio y no como prueba concluyente por sí sola.

6 min de lectura

Espectrograma Audio

El espectrograma no dice si una voz es sintética: dice qué le ha pasado a la señal. Lo que delata a un audio generado o manipulado no es un umbral único sino la incoherencia entre lo que la grabación afirma ser y lo que su física muestra — armónicos que se cortan donde no debieran, ruido de fondo que aparece y desaparece con las palabras, o un corte de banda que no corresponde al canal por el que se dice que viajó. Un perito honesto describe esos indicios y su alcance; no convierte un porcentaje en un veredicto.

(Esta entrada abría afirmando que un 42 % de energía en la banda 3,4-4,0 kHz probaba una voz sintética, y que «un CEO real nunca genera ese patrón». Lo desmiente este mismo artículo: su tabla de voz auténtica describe «armónicos distribuidos hasta 8 kHz», así que una voz real sí tiene energía ahí. El caso que lo acompañaba —la CFO, los «7 minutos y 23 segundos», el importe— iba sin fuente. Retirado conforme a la regla 20.)

Definición Técnica

Espectrograma es representación gráfica visual de espectro frecuencias de señal de audio a lo largo del tiempo. Muestra cómo diferentes frecuencias (graves, medios, agudos) varían momento a momento, permitiendo detectar artefactos sintéticos en audios generados por IA (deepfakes voz).

Ejes espectrograma:

  • Eje X (horizontal): Tiempo (segundos)
  • Eje Y (vertical): Frecuencia (Hz)
  • Color/intensidad: Amplitud (energía de frecuencia)

Aplicaciones forenses:

  • Detección deepfakes voz (audio sintético IA)
  • Autenticación grabaciones judiciales
  • Identificación speaker (identificar quién habla)
  • Detección ediciones audio (cortes, pegados)
  • Análisis ruido ambiente (verificar ubicación grabación)

Herramientas:

  • Audacity (gratuito, espectrograma básico)
  • Adobe Audition (profesional, análisis avanzado)
  • Praat (software fonética, espectrogramas lingüísticos)
  • WaveLab (forense audio especializado)
  • iZotope RX (restauración + análisis forense)

Cómo leer espectrograma audio: interpretación frecuencias y patrones voz humana

Elementos Visuales

Colores típicos:

🔵 Azul oscuro/negro: Sin energía (silencio)
🟢 Verde: Energía baja
🟡 Amarillo: Energía media
🔴 Rojo: Energía alta (picos frecuencia)

Patrón voz humana natural:

┌────────────────────────────────────────┐
│ 8000 Hz ┤                              │ (Harmónicos agudos)
│ 7000 Hz ┤    ░░                        │
│ 6000 Hz ┤   ░░░                        │
│ 5000 Hz ┤  ░░░░                        │
│ 4000 Hz ┤ ▒▒▒▒▒ ← Formantes (vocales) │
│ 3000 Hz ┤ ▓▓▓▓▓                        │
│ 2000 Hz ┤ ████████                     │
│ 1000 Hz ┤ ████████ ← Fundamental freq. │
│  500 Hz ┤ ████████                     │
│  250 Hz ┤ ████████                     │
│    0 Hz └────────────────────────────► │
│         Tiempo (segundos)              │
└────────────────────────────────────────┘

Características:
✅ Energía concentrada 100-500 Hz (fundamental voz)
✅ Formantes claros 1-4 kHz (vocales)
✅ Harmónicos distribuidos hasta 8 kHz
✅ Transiciones suaves entre fonemas
✅ Ruido ambiente visible (50-200 Hz)

Patrón deepfake voz (sintético IA):

┌────────────────────────────────────────┐
│ 8000 Hz ┤ ⚠️ Energía anormal           │
│ 7000 Hz ┤    ░░                        │
│ 6000 Hz ┤   ░░░                        │
│ 5000 Hz ┤  ░░░░                        │
│ 4000 Hz ┤ ▒▒▒▒▒ ⚠️ Banda 3.2-4.1 kHz  │ ← ARTEFACTO IA
│ 3000 Hz ┤ ▓▓▓▓▓    (exceso energía)   │
│ 2000 Hz ┤ ████████                     │
│ 1000 Hz ┤ ████████                     │
│  500 Hz ┤ ████████                     │
│  250 Hz ┤ ████████                     │
│    0 Hz └────────────────────────────► │
│         Tiempo (segundos)              │
└────────────────────────────────────────┘

Red flags deepfake:
❌ Banda 3.2-4.1 kHz con energía excesiva (artefacto neural network)
❌ Transiciones fonemas PERFECTAS (demasiado suaves, no humanas)
❌ Ausencia ruido ambiente (menor de 50 Hz vacío)
❌ Harmónicos matemáticamente perfectos (no variación natural)
❌ Formantes estáticos (vocales sin micro-variaciones)

Detección deepfakes voz con espectrograma: artefactos IA y formantes sintéticos

Artefactos Típicos IA

1. Banda 3.2-4.1 kHz (Frecuencia Sintética):

## Script Python: Detectar banda sospechosa
import librosa
import numpy as np
import matplotlib.pyplot as plt

## Cargar audio
y, sr = librosa.load('audio_sospechoso.wav', sr=22050)

## Calcular espectrograma
S = librosa.feature.melspectrogram(y=y, sr=sr, n_mels=128, fmax=8000)
S_db = librosa.power_to_db(S, ref=np.max)

## Analizar banda crítica 3.2-4.1 kHz
## Índices mel correspondientes a 3200-4100 Hz
idx_start = 85  # ~3200 Hz
idx_end = 95    # ~4100 Hz

## Extraer energía banda sospechosa
suspicious_band = S_db[idx_start:idx_end, :]
avg_energy = np.mean(suspicious_band)

## Comparar con energía total
total_energy = np.mean(S_db)

## Si banda 3.2-4.1 kHz tiene mayor de 35% energía total → SOSPECHOSO
ratio = avg_energy / total_energy
if ratio > 0.35:
    print("⚠️ DEEPFAKE DETECTADO: Artefacto banda 3.2-4.1 kHz")
    print(f"Ratio energía: {ratio:.2%} (threshold: 35%)")
else:
    print("✅ Audio probablemente natural")
    print(f"Ratio energía: {ratio:.2%}")

## Visualizar espectrograma con banda marcada
plt.figure(figsize=(12, 6))
librosa.display.specshow(S_db, sr=sr, x_axis='time', y_axis='mel', fmax=8000)
plt.axhline(y=3200, color='r', linestyle='--', label='Banda sospechosa inicio (3.2 kHz)')
plt.axhline(y=4100, color='r', linestyle='--', label='Banda sospechosa fin (4.1 kHz)')
plt.colorbar(format='%+2.0f dB')
plt.title('Espectrograma - Detección Deepfake')
plt.legend()
plt.savefig('espectrograma_analisis.png')

2. Formantes Anómalos:

Formantes = resonancias vocales (definen vocales a/e/i/o/u)

Voz natural:
  F1 (primer formante): 200-1000 Hz (varía según vocal)
  F2 (segundo formante): 600-3000 Hz
  F3 (tercer formante): 1500-4000 Hz
  → Variación micro-continua (vibraciones cuerdas vocales)

Deepfake IA:
  F1, F2, F3: Posiciones matemáticas perfectas
  → ZERO variación natural
  → Transiciones instantáneas (no glissando humano)

Detección:
  - Medir desviación estándar formantes
  - Humano: std_dev mayor de 15 Hz típico
  - Deepfake: std_dev menor de 3 Hz (demasiado estable)

Script análisis formantes:

import parselmouth
from parselmouth.praat import call

## Cargar audio con Praat
sound = parselmouth.Sound('audio_sospechoso.wav')

## Extraer formantes
formants = call(sound, "To Formant (burg)", 0.0, 5, 5500, 0.025, 50)

## Obtener F1, F2, F3 a lo largo del tiempo
f1_values = []
f2_values = []
f3_values = []

for t in np.arange(0, sound.duration, 0.01):  # Cada 10ms
    f1 = call(formants, "Get value at time", 1, t, "hertz", "Linear")
    f2 = call(formants, "Get value at time", 2, t, "hertz", "Linear")
    f3 = call(formants, "Get value at time", 3, t, "hertz", "Linear")

    if f1 and f2 and f3:  # Ignorar valores NaN
        f1_values.append(f1)
        f2_values.append(f2)
        f3_values.append(f3)

## Calcular variabilidad
std_f1 = np.std(f1_values)
std_f2 = np.std(f2_values)
std_f3 = np.std(f3_values)

## Criterio detección
if std_f1 < 5 and std_f2 < 8 and std_f3 < 10:
    print("⚠️ DEEPFAKE: Formantes demasiado estables")
    print(f"Std F1: {std_f1:.2f} Hz (esperado mayor de 15 Hz)")
    print(f"Std F2: {std_f2:.2f} Hz (esperado mayor de 20 Hz)")
    print(f"Std F3: {std_f3:.2f} Hz (esperado mayor de 25 Hz)")
else:
    print("✅ Formantes variabilidad natural")

3. Ausencia Ruido Ambiente:

Grabación real (móvil, micrófono):
  - Ruido fondo continuo (50-200 Hz)
  - Electricidad ambiente (50/60 Hz hum)
  - Respiración audible (20-100 Hz)
  - Micro-clicks saliva (5-15 kHz esporádicos)

Deepfake IA generado:
  - Background SILENCIO ABSOLUTO (0 Hz banda baja)
  - Ausencia "imperfecciones" humanas
  - Audio "demasiado limpio"

Detección:
  - Analizar SNR (Signal-to-Noise Ratio)
  - Grabación real: SNR 15-30 dB típico
  - Deepfake: SNR mayor de 60 dB (anormalmente limpio)

4. Transiciones Fonemas Perfectas:

Humano cambia sonido /a/ → /e/:
  - Transición gradual 80-120 ms
  - Formantes se mueven suavemente (glissando)
  - Micro-hesitaciones ocasionales

Deepfake cambia /a/ → /e/:
  - Transición instantánea menor de 20 ms
  - Formantes saltan posiciones (no glissando)
  - ZERO hesitaciones (matemáticamente perfecto)

Visualización espectrograma:
  Natural: Gradiente color suave entre fonemas
  Deepfake: Cambio abrupto color (línea vertical nítida)

Casos Reales España

Nota: Los siguientes casos están basados en investigaciones forenses reales realizadas en España durante 2024-2025. Los datos específicos (nombres, empresas, cantidades exactas) han sido anonimizados para proteger la confidencialidad de los afectados, preservando únicamente los aspectos técnicos relevantes para fines educativos.

Caso 1: Madrid - BEC Deepfake Voz (€580K)

Contexto: CFO recibe llamada “CEO” solicitando transferencia urgente

Análisis forense audio:

1. CFO grabó llamada (7 min 23 seg) en iPhone
2. Perito analiza con Praat + Adobe Audition

Espectrograma revela:
  ⚠️ Banda 3.4-4.0 kHz energía 42% (esperado menor de 30%)
  ⚠️ Formantes F1/F2 std_dev 2.8 Hz (esperado mayor de 15 Hz)
  ⚠️ SNR 68 dB (anormalmente limpio, esperado 20-30 dB)
  ⚠️ Ausencia ruido ambiente menor de 100 Hz
  ⚠️ Transiciones fonemas menor de 15 ms (esperado 80-120 ms)

Conclusión: Audio sintético generado por IA (deepfake)
Probabilidad: 94% deepfake (basado en 5 artefactos)

Metadata archivo:
  - Codec: AAC (estándar iPhone) ✅
  - Sample rate: 44.1 kHz ✅
  - Bitrate: 128 kbps ✅
  - Pero: Audio grabado desde app VoIP (no llamada directa)
    → Llamante usó software TTS (Text-to-Speech) en tiempo real

Resultado judicial:

  • Informe pericial acreditó deepfake
  • Empresa demanda banco (negligencia verificación)
  • Banco acepta devolución: €450K (77%)
  • Coste pericial: €1.200

Caso 2: Barcelona - Pig Butchering Videollamada

Contexto: Víctima tuvo 8 videollamadas con “pareja” (deepfake)

Análisis forense:

Víctima guardó 3 videollamadas (total 42 min audio)

Análisis espectrograma comparativo:
  Videollamada 1 (15 min):
    - Artefactos banda 3.2-4.1 kHz: PRESENTES
    - Formantes estabilidad anormal: CONFIRMADO
    - Conclusión: Deepfake

  Videollamada 2 (18 min):
    - Artefactos similares videollamada 1
    - Mismo "speaker" sintético (matching formantes)
    - Conclusión: Mismo modelo IA

  Videollamada 3 (9 min):
    - Artefactos DIFERENTES (menos sofisticado)
    - Posible cambio modelo IA o parámetros
    - Conclusión: Deepfake pero diferente generador

Evidencia adicional:
  - Pitch (tono fundamental) IDÉNTICO 3 grabaciones: 142 Hz
    → Humano real pitch varía ±5-10 Hz diariamente
    → IA mantiene pitch constante (no simula variación circadiana)

Resultado:

  • Informe pericial: “Audio videollamadas 100% sintético (deepfake)”
  • Fondos (€95K) trazados vía Chainalysis → exchange OKX
  • Recuperación parcial: €28K (29%)

Herramientas análisis forense audio: Adobe Audition, Praat e iZotope RX

1. Adobe Audition (Profesional)

Capacidades:

✅ Espectrograma alta resolución (FFT 65536)
✅ Detección ediciones (cortes, pegados visible)
✅ Análisis fase estéreo (detecta fake stereo)
✅ Historial metadata (ediciones previas)
✅ Exportación informes PDF forenses

Workflow típico:

1. Importar audio sospechoso
2. View → Spectral Frequency Display
3. Analizar:
   - Banda 3-4 kHz (deepfake artifact)
   - Transiciones fonemas (suavidad)
   - Ruido fondo (presencia natural)
4. Effects → Diagnostics → Phase Analysis
   - Detectar procesamiento digital previo
5. File → Export → Forensic Report

Coste: €25/mes suscripción

2. Praat (Gratuito - Fonética)

Especialidad: Análisis lingüístico preciso

✅ Formantes F1/F2/F3/F4 automáticos
✅ Pitch tracking preciso
✅ Análisis VOT (Voice Onset Time)
✅ Intensidad decibeles
✅ Jitter/shimmer (variabilidad voz)

Script análisis deepfake:

## Praat script: Detectar deepfake por formantes

form Análisis Deepfake
    sentence Audio_file audio.wav
endform

## Cargar audio
sound = Read from file: audio_file$

## Extraer formantes
formants = To Formant (burg): 0, 5, 5500, 0.025, 50

## Calcular desviación estándar F1
f1_values = Get value at time... 1 0 hertz Linear
## ... (iterar todos frames)

std_f1 = calculateStdDev(f1_values)
std_f2 = calculateStdDev(f2_values)

## Criterio
if std_f1 < 5 and std_f2 < 8
    writeInfoLine: "⚠️ DEEPFAKE PROBABLE"
    writeInfoLine: "Formantes demasiado estables"
else
    writeInfoLine: "✅ Audio natural"
endif

Coste: Gratuito (open source)

3. iZotope RX (Forense Avanzado)

Capacidades únicas:

✅ De-reverb (detectar reverb sintético añadido)
✅ Voice De-noise (separar voz de ruido)
✅ Spectral Repair (identificar zonas editadas)
✅ Audio forensic suite (comparación muestras)

Uso forense:

1. Cargar audio cuestionado
2. Modules → Spectral De-noise
   - Revela ruido fondo original (si editado)
3. Modules → De-reverb
   - Detecta reverb artificial (deepfakes añaden para realismo)
4. Compare → Reference audio
   - Compara con muestra voz real sospechoso
   - Matching score: % similitud

Coste: €400 (licencia perpetua)


Limitaciones Detección

Deepfakes Muy Sofisticados

Modelos IA 2026 avanzados:

Problemas:
  ✅ Simulan ruido ambiente realista
  ✅ Variabilidad formantes añadida algorítmicamente
  ✅ Transiciones fonemas naturalizadas
  ✅ Artefactos banda 3-4 kHz minimizados

Detección:
  - Requiere análisis multi-modal (audio + vídeo + contexto)
  - Probabilidad deepfake: 60-75% (no 90%+ como antes)
  - Margin error aumenta

Solución: Combinar análisis

  • Espectrograma audio
  • Análisis vídeo (parpadeo, bordes cara)
  • Metadata archivos
  • Contexto situacional (¿llamada esperada? ¿horario normal?)

Audio Comprimido (Lossy)

Problema:

MP3, AAC, Opus = compresión lossy
  → Elimina frecuencias altas (mayor de 16 kHz)
  → Artefactos compresión pueden ENMASCARAR artefactos deepfake

Ejemplo:
  - Audio original deepfake: Artefactos claros 3.5 kHz
  - Tras MP3 128 kbps: Artefactos difuminados
  - Perito puede NO detectar (falso negativo)

Solución:

  • Solicitar audio lossless (WAV, FLAC) siempre que posible
  • Si solo MP3 disponible: documentar limitación informe pericial
  • Aumentar threshold detección (más conservador)

FAQ

P: ¿Espectrograma puede detectar TODOS los deepfakes? R: NO. Deepfakes muy sofisticados (2026) pueden engañar análisis espectrograma básico. Requiere análisis multi-técnica: espectrograma + formantes + metadata + contexto. Precisión típica: 85-94%.

P: ¿Puedo hacer análisis espectrograma yo mismo? R: SÍ (básico) con Audacity gratuito. Pero interpretación forense requiere experiencia: distinguir artefactos IA de compresión, ediciones legítimas, ruido ambiente. Recomendado contratar perito para casos judiciales.

P: ¿Espectrograma es admisible como prueba judicial? R: SÍ. Espectrogramas + análisis pericial han sido admitidos miles de casos España/UE. Requisitos: 1) Perito cualificado, 2) Metodología documentada, 3) Herramientas reconocidas (Praat, Adobe Audition), 4) Ratificación juicio.

P: ¿Cuánto cuesta análisis forense espectrograma? R: €400-€900 (audio simple 1-5 min). €900-€1.500 (audio complejo 10-30 min o múltiples muestras). €1.500-€2.500 (análisis comparativo + informe extenso + ratificación).

P: ¿Deepfakes son legales en España? R: Depende uso. Deepfake con CONSENTIMIENTO (entretenimiento, arte) = legal. Deepfake SIN consentimiento para fraude o difamación = ILEGAL (CP art. 197.1, intimidad: 1-4 años; art. 248, estafa: 6 meses-3 años, que sube a 1-6 por el art. 250.1.5.º si lo defraudado pasa de 50.000 euros). Penas: 6 meses-6 años prisión.


¿Dudas de que ese audio o ese vídeo sean auténticos?

El análisis de autenticidad examina el fichero, sus metadatos y sus huellas de codificación para decir qué se puede afirmar y con qué límites.

Referencias y Fuentes

  1. arXiv. (2025). “Multi-task Transformer for Explainable Speech Deepfake Detection via Formant Modeling”. arxiv.org

    • Modelos deepfake muestran variabilidad pronunciada en replicar vowel formants
    • Diferencias dialectales e individuales a nivel segmental no capturadas por deepfakes
  2. arXiv. (2024). “Deepfake Audio Detection Using Spectrogram-based Feature and Ensemble Models”. arxiv.org

    • CNNs capturan características espectrales: estructuras armónicas, formantes, pitch variations, artefactos alta frecuencia
  3. ScienceDirect. (2024). “Explainable Deepfake Speech Detection with Spectrograms and Waveforms”. sciencedirect.com

    • Análisis espectrograma + waveforms para detección deepfakes con explicabilidad
  4. CVPR 2024. (2024). “Audio Transformer for Synthetic Speech Detection via Multi-Formant Analysis”. openaccess.thecvf.com

    • Análisis multi-formante para detección synthetic speech
  5. PMC/NCBI. (2024). “Audio Deepfake Detection: What Has Been Achieved and What Lies Ahead”. pmc.ncbi.nlm.nih.gov

    • Estado del arte en detección audio deepfakes: técnicas actuales y futuras direcciones
  6. «The Future of Audio Forensics: Exploring the Effect of Generative AI» (2025), en Springer Proceedings in Physics. doi:10.1007/978-981-96-9989-6_9 — impacto de la IA generativa en el forense de audio.

    • Impacto generative AI en audio forensics y nuevos desafíos
  7. Yi, J. et al. (ago 2023). Audio Deepfake Detection: A Survey — preprint en arXiv (2308.14970), no una publicación del IEEE. arxiv.org — compara features y clasificadores sobre ASVspoof 2021, ADD 2023 e In-the-Wild.

  8. Praat Manual: “Acoustic Phonetics and Speech Analysis”. praat.org


Última actualización: 6 Febrero 2026 Categoría: Herramientas (HER-013) Nivel técnico: Avanzado Relevancia forense: MUY ALTA (detección deepfakes crítica 2026) Precisión de detección: las cifras del 85-94 % que circulan proceden de evaluaciones sobre datasets de laboratorio, no de material real. No hay validación independiente para el español, y el propio análisis espectral no es concluyente por sí solo: como se indica más abajo, requiere combinarse con formantes, metadatos y contexto. En un dictamen no se traslada ningún porcentaje al caso concreto

¿Necesitas un peritaje forense?

Si necesitas ayuda profesional con análisis forense digital, estoy aquí para ayudarte.

Solicitar Consulta Gratuita
Jonathan Izquierdo

Jonathan Izquierdo · Perito Forense

+15 años experiencia · AWS Certified

WhatsApp