Pues he dado con la tecla. En Mac , usando terminal y con algo de código , tenemos
La herramienta perfecta. Convierte lotes de samples de estereo a mono.
Dejo el código aquí pegado: (gracias a ChatGPT)
Puedes copiar y pegar cada bloque directamente en Terminal de macOS.
Ejemplo de carpeta ficticia usada:
📁 ~/Desktop/samples stereo/modern electro 2025
⸻
🧩 GUÍA COMPLETA: DE INSTALACIÓN A CONVERSIÓN Y DURACIÓN TOTAL
⸻
🧰 1️⃣ Instalar Homebrew (si no lo tienes)
Homebrew es el gestor de paquetes de macOS.
Pega esto en tu Terminal:
/bin/bash -c "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Cuando termine, activa Homebrew con estos comandos:
echo >> /Users/$USER/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/$USER/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Comprueba que funciona:
brew help
⸻
🎧 2️⃣ Instalar FFmpeg
Una vez tengas Homebrew, instala FFmpeg:
brew install ffmpeg
Verifica que está instalado correctamente:
ffmpeg -version
✅ Si ves algo como ffmpeg version 7.x, ya está listo.
⸻
🪶 3️⃣ Ir a la carpeta donde tienes tus samples
(En este ejemplo: samples stereo/modern electro 2025 en el Escritorio)
cd ~/Desktop/"samples stereo/modern electro 2025"
Comprueba que estás dentro:
ls
Deberías ver tus carpetas y archivos de audio.
⸻
🎚️ 4️⃣ Convertir todos los archivos estéreo a mono (incluye subcarpetas)
Este comando convierte todos los .wav, .aiff, .flac y .mp3 a mono WAV,
manteniendo la estructura de subcarpetas y añadiendo el prefijo mono_:
find . -type f \( -iname "*.wav" -o -iname "*.aiff" -o -iname "*.flac" -o -iname "*.mp3" \) | while read f; do
dir=$(dirname "$f")
base=$(basename "$f")
name="${base%.*}"
ffmpeg -i "$f" -ac 1 "$dir/mono_${name}.wav"
done
🧠 Qué hace:
• Busca todos los archivos de audio en todas las subcarpetas.
• Mezcla los canales L+R en mono.
• Guarda los nuevos archivos junto a los originales con nombre tipo:
kick.wav → mono_kick.wav
loop1.aiff → mono_loop1.wav
⸻
⏱️ 5️⃣ Calcular la duración total de todos los audios
Para saber cuánto duran todos los samples juntos:
find . -type f \( -iname "*.wav" -o -iname "*.aiff" -o -iname "*.flac" -o -iname "*.mp3" \) -print0 | while IFS= read -r -d '' f; do
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$f"
done | awk '{s+=$1} END {printf "Duración total: %.2f segundos (%.2f minutos, %.2f horas)\n", s, s/60, s/3600}'
📊 Ejemplo de salida:
Duración total: 3726.85 segundos (62.11 minutos, 1.04 horas)
⸻