01 · DESDE CERO
¿Qué es DiffRhythm 2?
DiffRhythm 2 es un framework abierto de generación musical de ASLP-lab. A diferencia de un generador únicamente instrumental, su objetivo es producir canciones completas condicionadas por letra y estilo. El modelo trabaja con una arquitectura de difusión semiautorregresiva orientada a mantener la letra alineada y conservar una estructura musical coherente durante una canción de larga duración.
Canciones completas, letra + estilo, pesos públicos y licencia Apache 2.0.
La prueba española: eSpeak-NG puede procesar idiomas, pero el proyecto no garantiza calidad específica en español.
Si el README no documenta un launcher Windows de inferencia, no presentamos uno como oficial.
02 · FUENTES OFICIALES
Qué sabemos y qué no sabemos
| Pregunta | Estado | Qué significa |
|---|---|---|
| ¿Código y pesos gratuitos? | CONFIRMADO | Apache License 2.0. |
| ¿Genera canciones completas? | CONFIRMADO | El proyecto lo describe expresamente. |
| ¿Descarga pesos automáticamente? | CONFIRMADO | Primera ejecución desde Hugging Face. |
| ¿Instalación relacionada con Windows? | PARCIAL | eSpeak-NG sí se documenta para Windows. |
| ¿Inferencia Windows con .bat oficial? | NO DOCUMENTADO | El README muestra bash inference.sh para Linux. |
| ¿Español garantizado? | EXPERIMENTAL | No existe una garantía oficial específica de calidad española. |
03 · POR DENTRO
Cómo convierte una letra en una canción
Tu letra se procesa para que el modelo pueda relacionar unidades lingüísticas y estructura temporal. El estilo puede llegar como descripción o referencia, y el sistema genera la representación musical que finalmente se decodifica como audio.
lyrics = open("mi_letra.txt", encoding="utf-8").read()
style_prompt = "modern romantic bachata, warm vocal, 95 BPM"
# El repositorio convierte la letra a tokens y el estilo a embeddings.
lyrics_token = parse_lyrics(lyrics)
style_embed = mulan(texts=[style_prompt])
# Después el modelo genera y el decoder transforma el resultado en audio.
inference(
model=diffrhythm2,
decoder=decoder,
text=lyrics_token,
style_prompt=style_embed,
duration=max_secs,
)04 · ANTES DE INSTALAR
Comprueba tu PC
La documentación oficial de DiffRhythm 2 no publica en su README una tabla cerrada de VRAM mínima para todos los modos. No voy a inventarla. En esta guía recomendamos una GPU NVIDIA moderna y espacio holgado porque PyTorch, modelos y cachés ocupan varios gigabytes. El script de descarga incluye una comprobación de RAM, GPU, Python, Git y espacio.
| Elemento | Consejo de Mascoalba |
|---|---|
| Windows | 10/11 de 64 bits actualizado. |
| RAM | 16 GB como punto de partida; 32 GB ofrece más margen. |
| GPU | NVIDIA moderna recomendada. No prometemos compatibilidad universal. |
| D: | Reserva 30–50 GB para trabajar con margen durante descargas. |
| Internet | Necesario para repositorio, dependencias y pesos. |
05 · PROTEGER C:
Instalamos el proyecto en D:
La carpeta propuesta es D:\IA_MUSICA\DiffRhythm2. También dirigimos a D: la caché de Hugging Face, pip y los temporales controlados por nuestros scripts. Esto reduce mucho el riesgo de repetir un error de espacio durante una instalación pesada.
set "ROOT=D:\IA_MUSICA"
set "REPO=%ROOT%\DiffRhythm2"
set "HF_HOME=%ROOT%\hf"
set "HUGGINGFACE_HUB_CACHE=%ROOT%\hf\hub"
set "PIP_CACHE_DIR=%ROOT%\pip"
set "TEMP=%ROOT%\temp"
set "TMP=%ROOT%\temp"Windows, Git, Python, controladores o instaladores externos pueden seguir escribiendo archivos pequeños fuera de D:. Lo que hacemos es controlar las rutas pesadas que dependen de nuestro proyecto.
06 · PROYECTO
Descarga los archivos preparados
DIFFRHYTHM 2 LOCAL
Comprobación del PC, carpetas D:, clonación, entorno, caché, guía de inferencia, letra española experimental y desinstalación.
SHA-256: 6f66dcc74e39ec9e6b9f999df385791fa7b133e0a0cc0c8dd3888756b41381dc🪟 WINDOWS 10/11 · PASO A PASO
Instalar DiffRhythm 2 sin llenar el disco C:
Esta es la parte que yo mismo voy a seguir para probar DiffRhythm 2. Si tienes poco espacio en C:, no instales a ciegas: prepara primero una unidad D: y dirige allí el proyecto, el entorno virtual, las cachés, los temporales y los modelos descargados.
Ruta B · Instalar en D:
Usaremos D:\IA_MUSICA como carpeta principal. El repositorio oficial indica que los pesos se descargan automáticamente desde Hugging Face en la primera ejecución; actualmente el repositorio de pesos de DiffRhythm 2 ronda los 5,07 GB, por lo que dirigir la caché a D: es especialmente importante.
Instalar en D: reduce muchísimo lo que controlamos que termina en C:, pero no significa “cero bytes en C:”. Windows, Git, Python o componentes ya instalados pueden seguir usando pequeñas cantidades de datos del perfil del usuario. Nuestro objetivo es sacar de C: las partes pesadas del proyecto.
Comprueba cuánto espacio tienes
Abre Símbolo del sistema y ejecuta este comando. No modifica nada: solo muestra el espacio libre de tus unidades.
wmic logicaldisk get caption,freespace,sizeResultado esperado: verás C:, D: y sus cifras. Si C: está justo y D: tiene mucho espacio, continúa con la Ruta B.
Comprueba Git, Python y la GPU
Ejecuta estas líneas una por una. Si alguna responde “no se reconoce como un comando”, esa dependencia aún no está instalada o no está en PATH.
git --version
python --version
nvidia-smiQué hace cada línea: Git permitirá descargar el código; Python ejecutará el proyecto; nvidia-smi identifica una GPU NVIDIA y muestra su memoria/controlador cuando está disponible.
Crea una zona exclusiva en D:
Estos comandos crean una estructura ordenada. Puedes copiarlos completos.
D:
mkdir D:\IA_MUSICA
mkdir D:\IA_MUSICA\hf
mkdir D:\IA_MUSICA\pip
mkdir D:\IA_MUSICA\temp
mkdir D:\IA_MUSICA\proyecto
cd /d D:\IA_MUSICAQué estamos haciendo: hf guardará la caché de Hugging Face/modelos, pip la caché de paquetes, temp los temporales que podamos controlar y proyecto contendrá el código.
Redirige las descargas pesadas fuera de C:
Primero las aplicamos a la ventana CMD actual. Así podemos probar sin cambiar todavía toda la configuración de Windows.
set HF_HOME=D:\IA_MUSICA\hf
set HUGGINGFACE_HUB_CACHE=D:\IA_MUSICA\hf\hub
set PIP_CACHE_DIR=D:\IA_MUSICA\pip
set TEMP=D:\IA_MUSICA\temp
set TMP=D:\IA_MUSICA\tempImportante: usa esta misma ventana CMD para los pasos siguientes. Si la cierras, las variables set de esta sesión desaparecen.
Haz las variables permanentes para tu usuario
Cuando confirmes que D: es tu ubicación definitiva, usa setx. Esto afecta a ventanas nuevas que abras después.
setx HF_HOME "D:\IA_MUSICA\hf"
setx HUGGINGFACE_HUB_CACHE "D:\IA_MUSICA\hf\hub"
setx PIP_CACHE_DIR "D:\IA_MUSICA\pip"
setx TEMP "D:\IA_MUSICA\temp"
setx TMP "D:\IA_MUSICA\temp"Después de ejecutarlo, cierra y abre una nueva terminal para que las nuevas variables de usuario estén disponibles.
Descarga el proyecto oficial en D:
Clonamos el repositorio directamente dentro de nuestra carpeta de proyecto.
cd /d D:\IA_MUSICA\proyecto
git clone https://github.com/ASLP-lab/DiffRhythm2.git
cd DiffRhythm2Comprueba: el prompt debería terminar en D:\IA_MUSICA\proyecto\DiffRhythm2>.
Crea el entorno virtual también en D:
Así las librerías Python de este proyecto quedan aisladas dentro de D: en vez de mezclarse con otros proyectos.
python -m venv D:\IA_MUSICA\venv
D:\IA_MUSICA\venv\Scripts\activateResultado esperado: la terminal mostrará algo parecido a (venv) al principio de la línea.
Instala las dependencias
Con el entorno activado y estando dentro del repositorio:
python -m pip install --upgrade pip
pip install -r requirements.txtLa caché de pip se dirigirá a D:\IA_MUSICA\pip gracias a la variable anterior. No interrumpas el proceso solo porque tarde.
Instala eSpeak-NG en Windows
El README oficial de DiffRhythm 2 exige eSpeak-NG y, para Windows, remite al instalador .msi del proyecto eSpeak-NG. Esta es una dependencia del sistema, por lo que no vamos a inventar un instalador propio.
No confundas esto con los modelos: eSpeak-NG es una dependencia para el procesamiento fonético.
Verifica que las rutas apuntan realmente a D:
Antes de provocar la descarga de varios gigabytes, compruébalo.
echo %HF_HOME%
echo %HUGGINGFACE_HUB_CACHE%
echo %PIP_CACHE_DIR%
echo %TEMP%
echo %TMP%No continúes si aquí aparece una ruta de C: en alguna de las variables que pretendíamos redirigir. Corrígela antes de descargar los pesos.
Primera ejecución y descarga de pesos
La documentación oficial indica que los pesos se descargan automáticamente desde Hugging Face durante la primera ejecución. El repositorio de pesos publicado actualmente ocupa aproximadamente 5,07 GB (modelo de 4,55 GB más decoder y archivos auxiliares). Por eso hemos preparado D: antes de llegar aquí.
El repositorio oficial documenta bash inference.sh específicamente para Linux. No voy a presentarte un .bat inventado como si fuera oficial. En nuestra prueba de Windows verificaremos el método de inferencia que funcione con este repositorio y documentaremos exactamente el comando usado.
Ruta A · Instalar en C: si tienes espacio suficiente
Si otro lector dispone de espacio holgado en C:, puede usar una estructura equivalente como C:\IA_MUSICA. Los pasos son los mismos sustituyendo D:\IA_MUSICA por C:\IA_MUSICA. Para evitar confusiones, esta guía desarrolla D: con todo detalle porque es la opción segura cuando C: está justo.
C:
mkdir C:\IA_MUSICA
cd /d C:\IA_MUSICA
git clone https://github.com/ASLP-lab/DiffRhythm2.git
cd DiffRhythm2
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt07 · PASO A PASO
Instalación explicada para no programadores
Comprueba el PC
Ejecuta 01_COMPROBAR_PC.bat. No modifica el sistema.
Prepara D:
02_PREPARAR_CARPETAS_D.bat crea las carpetas de trabajo.
Instala eSpeak-NG
Usa el instalador Windows de su proyecto oficial.
Clona e instala
03_CLONAR_E_INSTALAR.bat crea un entorno virtual e instala requirements.
git clone https://github.com/ASLP-lab/DiffRhythm2.git
cd DiffRhythm2
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtEl README oficial actual muestra bash inference.sh para la inferencia en Linux. Aunque documenta eSpeak-NG para Windows, no voy a convertir eso en un supuesto INICIAR.bat oficial. El ZIP incluye 04_INFERENCIA_OFICIAL.txt explicando exactamente esta diferencia.
08 · APRENDE EL CÓDIGO
Qué hace cada parte de la programación
El propio inference.py carga el modelo, MuQ-MuLan para la condición de estilo, el tokenizer de letra y el decoder. Después lee cada trabajo, procesa letra y estilo y ejecuta la inferencia.
song = {
"song_name": "bajo_la_misma_luna",
"lyrics": "mi_letra.txt",
"style_prompt": "modern romantic bachata, warm vocal, 95 BPM"
}
# Conceptualmente:
# 1. cargar letra
# 2. convertir letra a tokens
# 3. convertir estilo a representación musical
# 4. generar
# 5. decodificar y guardar audiocd /d "%REPO%"
if not exist ".venv" python -m venv .venv
call .venv\Scripts\activate.bat
python -m pip install --upgrade pip
pip install -r requirements.txt09 · PRIMERA PRUEBA
Una canción original en español


[Verse]
Cuando la noche cae sobre la ciudad,
guardo una canción que quiere despertar.
Luces en la ventana, pasos al volver,
un ritmo entre las manos que no quiero perder.
[Chorus]
Bajo la misma luna vuelvo a comenzar,
una voz y una guitarra frente al ancho mar.
Bajo la misma luna quiero descubrir,
hasta dónde esta máquina me puede hacer sentir.romantic modern bachata, warm female vocal,
requinto guitar, latin percussion, melodic bass,
intimate and emotional, 95 BPMPorque una guía seria no debe convertir “el sistema procesa letras” en “el español está garantizado”. Hay que generar, escuchar la pronunciación y evaluar el resultado real.
10 · LICENCIA Y YOUTUBE
¿Se pueden monetizar las canciones?
El código y los pesos oficiales de DiffRhythm 2 están publicados bajo Apache License 2.0, una licencia permisiva que permite usar, modificar y distribuir el modelo respetando sus avisos. Pero esto no significa que cualquier audio que generes quede automáticamente libre de reclamaciones.
1. Usa letras originales
No introduzcas letras comerciales ni fragmentos de terceros sin autorización.
2. Evita pedir copias de artistas
Describe género, instrumentación y emoción sin presentar el resultado como obra o voz de una persona real.
3. Escucha y revisa el resultado
El propio model card advierte del riesgo de similitudes no intencionadas y pide mecanismos de verificación de originalidad.
4. Diferencia uso comercial y monetización de plataforma
Una licencia permisiva del modelo no garantiza que YouTube u otro distribuidor monetice un canal o acepte Content ID.
5. Transparencia sobre IA
El model card recomienda revelar la participación de IA en las obras generadas. Aplica además las reglas vigentes de la plataforma donde publiques.
11 · SOLUCIONES
Errores que debes saber interpretar
No hay espacio suficiente
Detén la instalación. Comprueba D: y elimina únicamente cachés identificadas. No borres AppData a ciegas.
python no se reconoce
Python no está instalado o no está disponible en PATH. Corrígelo antes de continuar.
git no se reconoce
Instala Git y abre una terminal nueva.
Error relacionado con eSpeak
Comprueba que eSpeak-NG está instalado. El repositorio lo declara como dependencia y enlaza su instalador para Windows.
CUDA / GPU / memoria
No instales versiones al azar. Conserva el error completo, identifica GPU y driver y contrástalo con las dependencias de la versión descargada.
La canción no pronuncia bien el español
No lo ocultes: el soporte español no está garantizado oficialmente. Prueba frases más simples y evalúa si la calidad es suficiente para tu proyecto.
12 · LIMPIEZA
Cómo desinstalar sin destrozar Windows
El ZIP incluye un desinstalador que apunta únicamente a D:\IA_MUSICA. Antes de confirmar, cierra Python, terminales y cualquier proceso que utilice la carpeta.
set "ROOT=D:\IA_MUSICA"
choice /C SN /M "Confirmas"
if errorlevel 2 exit /b 0
if exist "%ROOT%" rmdir /S /Q "%ROOT%"13 · FAQ
Preguntas frecuentes
¿DiffRhythm 2 es gratis?
El código y los pesos oficiales están publicados bajo Apache License 2.0. Ejecutarlo localmente no usa un sistema de créditos del proyecto.
¿Puedo monetizar una canción?
La licencia Apache 2.0 es permisiva, pero monetizar un resultado también exige que tus entradas y el audio final no infrinjan derechos de terceros y que cumplas las normas de la plataforma donde publiques.
¿Canta en español?
La documentación oficial no ofrece una garantía específica de calidad para español. La guía incluye una prueba en español, claramente marcada como experimental, y recomienda escuchar y revisar cada generación.
¿Funciona en Windows?
El proyecto documenta la instalación de eSpeak-NG para Windows. Sin embargo, el comando de inferencia mostrado oficialmente está presentado para Linux; por eso la guía no inventa un launcher Windows no documentado.
¿Descarga los modelos solo?
Sí. El README oficial indica que los pesos se descargan automáticamente desde Hugging Face en la primera ejecución.
¿Necesito Internet siempre?
Lo necesitas para clonar, instalar dependencias y descargar pesos. Una vez disponibles localmente, el procesamiento principal puede realizarse en tu equipo.
¿Puedo instalarlo en D:?
Sí para el repositorio, entorno y cachés controlados por nuestros scripts. Windows y herramientas externas aún pueden escribir pequeños archivos en C:.
¿Es igual que Suno?
No. Es un proyecto abierto de investigación y creación local. La experiencia, facilidad de uso y resultados no son equivalentes a un servicio comercial integrado.
🧰 Más herramientas y proyectos creados por Mascoalba
Estas utilidades forman parte del sitio y están disponibles directamente desde sus páginas. Cada tarjeta explica de forma breve para qué sirve.
Las páginas generales de herramientas reúnen y organizan más accesos del proyecto. Este directorio se irá ampliando conforme publiquemos nuevas aplicaciones.
TUTORIAL ESENCIAL
🔑 Cómo crear tu API Key de Gemini
Una guía en español sobre qué es una API Key, cómo crearla en Google AI Studio y cómo se utiliza en las herramientas compatibles de Mascoalba.
🦋 ECOSISTEMA MASCOALBA
Herramientas, plataformas y proyectos de Mascoalba
Mascoalba reúne herramientas gratuitas, proyectos educativos y tutoriales de inteligencia artificial creados para aprender, experimentar y producir desde el navegador. Aquí tienes accesos directos a las principales plataformas del ecosistema.
PLATAFORMA IA · MASCOALBA
ChatGPT Master Academy
Academia interactiva para aprender a utilizar ChatGPT con contenidos, práctica y recursos organizados.
MÚSICA + GEMINI
SUNO SONG MASTER
Convierte una idea en título, estilo, letra, características de voz y efectos vocales para Suno.
CREACIÓN PARA YOUTUBE
YouTube Brand AI
Plataforma para trabajar identidad, posicionamiento y recursos creativos para canales de YouTube con IA.
AUDIO + LETRAS + VÍDEO
Mascoalba Audio Lyrics AI
Crea vídeos de letras a partir de audio con sincronización, fondos y formatos para YouTube y redes.
YOUTUBE + GEMINI
Analizador de canales de YouTube
Analiza canales y organiza oportunidades de mejora mediante herramientas de inteligencia artificial.
MÚSICA · FORMACIÓN · CREACIÓN
Mascoalba Academia Musical
Plataforma musical interactiva para aprender, practicar y crear música desde el navegador.

