El módulo wave lee y escribe archivos WAV con audio PCM sin comprimir. Expone canales, ancho de muestra, frecuencia y frames binarios para inspecciones y transformaciones sencillas.
Inspecciona los parámetros de un WAV
import wave
with wave.open("entrada.wav", "rb") as audio:
canales = audio.getnchannels()
ancho = audio.getsampwidth()
frecuencia = audio.getframerate()
cantidad = audio.getnframes()
frames = audio.readframes(cantidad)
print(canales, ancho, frecuencia, len(frames))
Distingue frames y muestras
readframes(n) devuelve bytes de hasta n frames. Un frame contiene una muestra por canal y cada muestra ocupa el ancho declarado. La interpretación numérica debe considerar orden de bytes, signo e intercalado de canales.
Escribe una cabecera coherente
Antes de writeframes(), configura canales, ancho de muestra y frecuencia de acuerdo con los bytes. Los context managers finalizan la cabecera al cerrar. Valida tamaños y parámetros de archivos no confiables antes de reservar memoria.
Sigue aprendiendo
Consulta también interpretación de datos binarios con struct. La documentación oficial de Python, consultada el 22 de julio de 2026, detalla modos de lectura, escritura y cabeceras WAV compatibles.