Cómo comprimir archivos de audio gratis: un script de fácil realización en Python.

Introducción.

Los volúmenes de datos suelen ser grandes en situaciones de archivos de audio: si grabas una reunión o entrevista de más de una hora, a menudo te encontrarás con límites de capacidad al subir el archivo a un servicio de transcripción. El tamaño del archivo también puede ser un cuello de botella a la hora de almacenarlo y compartirlo en la nube o transferirlo a un smartphone. Por eso es esencial comprimir los archivos de audio.

Este artículo muestra cómo utilizar la biblioteca pydub de Python para reducir el tamaño de los archivos de audio manteniendo su calidad.

También se abordan los problemas (molestias y limitaciones) del software libre y se explican los factores modificables por el usuario, como la frecuencia de muestreo y la velocidad de bits.

Escenarios en los que se requiere la compresión de archivos de audio.

Restricciones de carga para la transcripción.

  • Los archivos de audio de gran tamaño (más de una hora) están sujetos a los límites de carga (normalmente de 500 MB a 1 GB) de los servicios de transcripción.

Almacenamiento y uso compartido en la nube

  • Cuando quieras compartir archivos rápidamente y evitar los límites de capacidad de Google Drive o del correo electrónico.

Transferencia a teléfonos inteligentes y tabletas

  • Deben ser ligeros para poder reproducirse en dispositivos con poca capacidad.

Gestión de grabaciones largas

  • Para almacenar y organizar eficazmente grandes cantidades de datos grabados en reuniones, entrevistas, conferencias, etc.

Inconvenientes y retos de la conversión del software libre.

Sin embargo, al utilizar muchos sitios web gratuitos, pueden encontrarse con los siguientes problemas


Afirma ser “gratuito” pero te dirige a un plan de pago.

En muchos casos, aunque la conversión parezca gratuita al principio, hay límites de capacidad o de frecuencia, y aparece el mensaje “Es necesario pagar” en mitad de la conversión.


No es posible la conversión por lotes de varios archivos, por lo que es necesario cargarlos manualmente de uno en uno.

Muchas herramientas gratuitas en línea sólo permiten subir un archivo cada vez, lo que significa que al comprimir varios archivos de audio hay que repetir el proceso de subida, compresión y descarga.

Para solucionar estos problemas, aquí tienes un sencillo script en Python que te mostrará cómo comprimir archivos de audio rápidamente y en tu propio ordenador.

Procedimiento de compresión de audio en Python.

Preparación necesaria.

En primer lugar, instale Pydub, la biblioteca necesaria. Ejecute el siguiente comando.

pip install pydub

Pydub también requiere ffmpeg, una biblioteca de procesamiento de audio. Instala ffmpeg usando el siguiente comando (ejemplo usando Homebrew).

Mac:.

brew install ffmpeg

Windows:.

Descarga el instalador de la página oficial de ffmpeg y pásalo.

Ejemplo de script de conversión para comprimir archivos de audio.

El siguiente script permite comprimir un lote de archivos de audio en un directorio especificado, ajustando libremente la frecuencia de muestreo y la tasa de bits. Las rutas se establecen de forma genérica para que cualquiera pueda cambiarlas fácilmente para adaptarlas a su propio entorno.

from pydub import AudioSegment
import os

# 入出力ディレクトリの設定
input_directory = "./input_audio"
output_directory = "./compressed_audio"
os.makedirs(output_directory, exist_ok=True)

# MP3ファイルの一覧を取得
mp3_files = [f for f in os.listdir(input_directory) if f.endswith('.mp3')]

# 音声ファイルの圧縮処理
for mp3_file in mp3_files:
    audio = AudioSegment.from_mp3(os.path.join(input_directory, mp3_file))

    # ユーザーが変更できる部分(サンプルレートとビットレート)
    audio = audio.set_frame_rate(20000)  # サンプルレートを20kHzに変更
    output_file = os.path.join(output_directory, mp3_file)

    audio.export(output_file, format="mp3", bitrate="36k")  # ビットレート36kbpsで保存
    print(f"Compressed file saved as: {output_file}")

Valores modificables por el usuario: frecuencia de muestreo/velocidad de bits

frecuencia de muestreo

Indica cuántas veces se muestrean (graban) los datos de audio por segundo. Ejemplo: 44,1 kHz significa que se graban 44.100 muestras por segundo. Mayor frecuencia de muestreo = audio más suave y de mayor calidad.

20 kHz (recomendado) → Mantiene la inteligibilidad de la voz.

  • Ejemplo de ajuste: las conversaciones pueden entenderse incluso a 16 kHz o 12 kHz.
  • Valor por defecto: 44,1 kHz (para música y audio de alta calidad).

Como la música y el audio de alta calidad suelen proporcionarse en formato WAV mono de 44,1 kHz, resulta eficaz convertir los archivos WAV a MP3 y comprimirlos aún más a una frecuencia de muestreo y una velocidad de bits inferiores para reducir su tamaño manteniendo la calidad.

Para más información sobre ‘Cómo convertir [WAV a MP3] gratis: un script para conseguirlo fácilmente en Python’, consulta este artículo.

tasa de bits

Indica la cantidad de datos utilizados por segundo, lo que afecta a la calidad del sonido y al tamaño del archivo.

Por ejemplo, 128 kbps utiliza 128 kilobits de datos por segundo. Alta tasa de bits = alta calidad de sonido pero gran tamaño.

  • Ejemplo de ajuste: mantener una alta calidad de sonido a 64 kbps o 128 kbps.
  • Recomendado: 36-64 kbps es suficiente para un uso principalmente conversacional.

Interview AI puede transcribir un archivo de audio de una hora de duración en sólo 15 segundos, tras lo cual la IA también “degradará” y “ordenará” automáticamente el texto.

Si se ve atrapado por el límite de capacidad de carga, pruebe a comprimir los archivos de audio de este artículo y, a continuación, cárguelos en Interview AI para su transcripción automática.

resumen

Pydub, de Python, puede utilizarse para comprimir archivos de audio de forma más eficiente, optimizando su tamaño y manteniendo la calidad. Los usuarios pueden configurar libremente la frecuencia de muestreo y la tasa de bits según sus necesidades, lo que les da más control y flexibilidad que las herramientas en línea.

Gestione sus datos de audio de forma más eficaz y libérese de las tediosas tareas de compresión.

タイトルとURLをコピーしました