Desarrollando SongSplit AI
Me gustaria poder decir que desarrollar SongSplit fue sencillo. Realmente, realmente me gustaria.
Pero no tuve esa suerte.
Encontrando el Modelo Correcto
Despues de probar diferentes opciones para separar audio, me decidi por Demucs por la calidad. HTDemucs usa una arquitectura de transformador hibrida—procesa el audio a traves de ramas de dominio temporal y de frecuencia simultaneamente, luego las combina con atencion cruzada. El resultado es una separacion notablemente limpia.
Realmente queria que la app funcionara en mi iPad, asi que abri Xcode y comence.
El Problema de Python
Demucs corre en Python. No puedes enviar apps de Python a la App Store.
Asi que busque formas de ejecutar Demucs nativamente en iPad.
No pude hacerlo funcionar.
El Desvio por la Nube
Construi un servicio web que tomaba una solicitud del iPad, procesaba el archivo en una instancia GPU de Google Cloud Run, y devolvia las pistas separadas. Funcionaba bien, pero me dejaba con tres preocupaciones:
Privacidad. Respeto tu privacidad. No pongo anuncios ni analiticas en mis apps. No quiero copias de tus archivos en mis servidores, aunque solo esten ahi temporalmente.
Costo. No queria requerir una suscripcion para este producto. Odio pagar suscripciones por cosas que, bien disenadas, realmente no las necesitan. No podia cobrar una tarifa unica mientras ejecutaba GPUs en la nube para el procesamiento. Se habria vuelto demasiado caro.
Disponibilidad. Esta no es una app que deberia necesitar conexion a internet. Si eres un cliente de pago, deberias poder usar tu software sin importar si tu internet funciona o no. Sin importar si los servicios en la nube estan activos o no. Es molesto cuando AWS se cae y de repente las aplicaciones de escritorio dejan de funcionar.
De Vuelta al Principio
Volvi a buscar una forma de hacer que Demucs funcionara nativamente en iPad.
Despues de semanas de frustracion, me rendi.
El Avance
Entonces Anthropic lanzo Claude Opus 4.5.
Con su ayuda, pude convertir Demucs para que funcionara con el framework MLX de Apple. El modelo tiene mas de 500 tensores y una arquitectura compleja de doble rama con manejo STFT personalizado—no exactamente un port simple. Pero lo logramos.
Eso significa que la aplicacion ahora corre nativamente en todos los dispositivos con Apple Silicon. Los chips M1, M2, M3 y M4 en Macs, iPads e iPhones pueden ejecutar la red neuronal directamente en la GPU.
Deja fuera a algunos usuarios. Pero resuelve los tres problemas que me impedian lanzar:
- Tu audio nunca sale de tu dispositivo
- Sin costos recurrentes, sin suscripcion necesaria
- Funciona sin conexion, para siempre
Ahora tengo Demucs corriendo en MLX, y mi app funcionando en macOS e iOS. Los tres modos de calidad—Mas Rapido, Equilibrado y Mejor—te dan control sobre el balance entre velocidad y calidad de separacion.
Fue el camino que esperaba? Para nada. Pero a veces el camino dificil resulta ser el correcto.