Datasets recomendados¶
Sólo materiales con licencias compatibles (CC + dominio público). Sin scraping de plataformas comerciales.
Audio musical CC¶
| Dataset | Tamaño | Licencia | Uso |
|---|---|---|---|
| FMA (Free Music Archive) | 106.574 tracks / 343 días / 917 GiB / 161 géneros | CC variadas; metadata CC-BY 4.0 | Pre-train codec. Subsets small/medium/large/full |
| MTG-Jamendo | 55.000+ tracks / 195 tags | Audio CC, metadata CC-BY-NC-SA | Auto-tagging multi-label, conditioning |
| MUSDB18 / HQ | 150 canciones, 4 stems | CC-BY-NC-SA (research) | Source separation, eval stems |
| Slakh2100 | 2.100 canciones / 145 h / hasta 31 stems sintetizados | CC-BY 4.0 | Multi-instrumento, separación |
| MagnaTagATune | 25.863 clips 29 s / 188 tags | CC | Auto-tagging baseline |
| GTZAN | 1.000 tracks 30 s / 10 géneros | Académico | Baseline histórico |
| NSynth | 305.979 notas / 1.006 instrumentos | CC-BY 4.0 | Síntesis neural por timbre |
| MedleyDB | 196 multitracks stems jerárquicos | CC-BY-NC-SA | f0 + anotaciones ricas |
| DAMP / Smule | 34 K+ vocals karaoke amateur | Research | SVS, conversión vocal |
MIDI¶
| Dataset | Tamaño | Licencia |
|---|---|---|
| Lakh MIDI (LMD) | 176.581 MIDIs / ~9.000 h | CC-BY 4.0 |
| MAESTRO v3 | ~200 h piano clásico Disklavier / 1.276 piezas | CC-BY-NC-SA |
| POP909 | 909 canciones pop chinas / ~60 h con melodía+acordes+bajo | CC-BY-NC-SA |
| GiantMIDI-Piano | 10.855 obras / 2.786 compositores / 38.7 M notas | Académico |
| MetaMIDI Dataset | 436.631 MIDIs con metadata + 10.7 M matches Spotify | CC-BY 4.0 |
| Groove MIDI | ~13.6 h drumming MIDI humanizado | CC-BY 4.0 |
| MusicNet / ASAP | Clásica con alineación nota / 1.068 perf. piano | CC-BY 4.0 / MIT |
Voz cantada (limitación crítica en español)¶
| Dataset | Idioma | Tamaño | Licencia |
|---|---|---|---|
| Opencpop | Mandarín | 5.2 h, 1 cantante | CC-BY-NC-SA |
| M4Singer | Mandarín | 29.8 h, 20 cantantes SATB | CC-BY-NC-SA |
| OpenSinger | Mandarín | 50 h multi-singer | Research |
| CSD | Coreano + Inglés | 100 canciones, 1 cantante | CC-BY 4.0 |
| NUS-48E | Inglés | 169 min, 12 cantantes | Research |
| VocalSet | Inglés a cappella | 10.1 h, 20 cantantes pro, 17 técnicas | CC-BY 4.0 |
| TONAS | Español (flamenco) | 72 excerpts ~30 s a cappella | Research only |
Limitación honesta en español¶
TONAS es prácticamente el único dataset de canto en español, y son sólo 72 fragmentos cortos de flamenco a cappella sin redistribución comercial.
Plan obligatorio para producto en español competitivo:
- Grabar dataset propio: 20–50 h con cantantes hispanohablantes consentidos.
- Contrato de cesión de derechos (Art. 51 LPI España / 17 USC §201 EE. UU.).
- 44.1 kHz / 24-bit.
- Anotaciones forzadas: lyrics + phonemes X-SAMPA + MIDI alineado + técnicas vocales.
- Cubrir variantes dialectales: neutro, mexicano, caribeño (PR/RD/Cuba), rioplatense, andaluz, andino.
- Cubrir técnicas: belt, mixed voice, falsete, melisma latino, soneo (salsa), grito ranchero, quejío flamenco.
- Transfer learning: pre-entrenar acoustic en M4Singer + Opencpop (mandarín) con mapeo IPA universal, fine-tune en español con 1-3 h.
- TTS-to-singing data augmentation: forzar F0 con WORLD/pyworld sobre TTS para crear data sintética "robótica" útil para pre-entrenar.
Letras¶
- ✅ Project Gutenberg (poesía DP: Bécquer, Darío, Lorca expired según jurisdicción, Whitman, Dickinson).
- ✅ Wikisource (canciones tradicionales/folclóricas DP).
- ✅ Cancioneros tradicionales en dominio público.
- ✅ Licenciar catálogos pequeños vía editoriales independientes.
- ✅ Synthetic generation con LLM + human-in-the-loop para letras 100 % nuevas.
- ❌ LyricsGenius / MusixMatch / Common Crawl sin filtrar: PROHIBIDO sin licencia (demandas RIAA 2024-2025).
Recomendación práctica: 80 % poesía DP + 20 % generaciones propias con estilo "letra moderna".
Pre-procesamiento y augmentation¶
- Pitch shift ±2 semitonos (cuidado con formantes vocales) — Librosa / SoX / Rubber Band.
- Time stretch ±10–15 % sin alterar pitch.
- EQ aleatorio paramétrico ±6 dB en bandas.
- Noise injection SNR 20-40 dB (vinyl crackle, room tone, white/pink).
- Reverb aleatorio con IR convolution.
- Codec augmentation: encode MP3 64-128 kbps → decode.
- SpecAugment máscaras freq/tiempo sobre mel.
- Mix-up combinación lineal.
- Stem mixing Slakh/MUSDB en proporciones diversas.
- Normalización: LUFS target -23 LUFS para training (Spotify -14, Apple -16, broadcast EBU R128 -23), peak -1 dBTP.
- Segmentación: chunks 5–30 s para audio gen, beat-aligned con madmom/librosa; VAD para SVS phrase-level 5-15 s.
Construcción de manifests¶
python -m src.data.build_manifest /datasets/fma_large \
data/manifests/fma.jsonl --label-from genre --min-duration 5
python -m src.data.build_manifest /datasets/Slakh2100/babyslakh_16k \
data/manifests/slakh.jsonl --label-from parent --min-duration 5
Cada línea del manifest: