À propos du projet

YuE2 est un projet de génération musicale du groupe multimodal-art-projection (HKUST, M·A·P, Tokenwave.AI, NYU, Stanford, MBZUAI, NOIZ, ACE Studio). Son objectif annoncé est d'unifier la génération musicale symbolique et audio : à partir de paroles et d'un prompt de style, il écrit d'abord un plan mélodie-accords, puis réalise ce plan sous forme de chanson complète avec voix et accompagnement. Capacités clés décrites dans le README : - La planification symbolique comme interface en boîte blanche. La composition générée est une partition éditable (notation ABC) qu'une personne ou un agent peut lire, jouer, inspecter et modifier avant le rendu. La mélodie et les accords deviennent des contrôles explicites. - Reprises zero-shot. Un enregistrement source peut être transcrit avec le modèle compagnon SheetSage2, et la partition mélodique obtenue peut être re-rendue dans un nouveau style. Le README recommande cot="melody" avec une partition dépourvue de symboles d'accords afin que l'accompagnement s'adapte au nouveau style. - Édition musicale agentique. Un plan peut être exporté, révisé (harmonie, mélodie, tempo, forme, paroles) et re-rendu comme un nouvel enregistrement complet. Le README précise que l'édition génère un nouvel enregistrement et ne préserve pas la forme d'onde originale en dehors d'une édition. - Un paquet de compétences pour agent (skills/yue2-music/SKILL.md) qui documente comment un agent peut générer des chansons, transcrire et reprendre des enregistrements, éditer des partitions ABC, vérifier des invariants musicaux et organiser des comparaisons d'écoute. Architecture et pipeline : un unique backbone AR–NAR Mixture-of-Transformers prédit les tokens de partition et sémantiques de manière autorégressive, puis génère des latents acoustiques par flow matching ; un VAE décode les latents en audio stéréo 48 kHz. L'API Python par étapes expose plan() → generate_semantic() → synthesize() → decode(). Les modes de génération incluent cot="full" (plan mélodie-accords éditable, par défaut), cot="melody" (plan mélodique avec accompagnement libre, recommandé pour les reprises), cot="off" (directement à partir des paroles et du style), et abc=... pour fournir votre propre partition. Prérequis et démarrage rapide : Linux, Python 3.12, un GPU NVIDIA avec prise en charge BF16 et 24 Go de VRAM. L'installation se fait via pip install . depuis un clone du dépôt, puis examples/generate.py. Les fichiers de modèle se téléchargent depuis Hugging Face à la première utilisation. Les sorties conservent la partition, les tokens sémantiques, les latents acoustiques, les paramètres de génération et les identités des modèles aux côtés de l'audio. Modèles compagnons et ressources : YuE2-3B (génération, planification, reprise, édition), YuE2-Vae et YuE2-Vae-legacy (décodeurs), SheetSage2 (transcription audio-vers-partition), MERT-v2-FullSong et MERT-v2-30s (représentations musicales), et le jeu de données d'évaluation WildSongBench. L'extraction de caractéristiques MERT2 est optionnelle pour la génération. Le README rapporte des résultats de benchmark sur WildSongBench (192 prompts, évaluation automatique) comparant YuE2 à plusieurs systèmes propriétaires et ouverts, et rapporte des résultats de reprises zero-shot sur 948 œuvres. Il rapporte aussi des résultats MERT2 sur MARBLE et GTZAN, et des résultats SheetSage2 sur des benchmarks de transcription. Ce sont les chiffres rapportés par le projet lui-même ; le README note lui-même que les classements varient selon la métrique et que de petits écarts entre les meilleures moyennes n'établissent pas de signification statistique. Licences : le code first-party, la compétence d'agent et la documentation sont sous Apache 2.0 ; les poids de modèle sont sous licence séparée CC BY-NC 4.0 ; les composants tiers conservent leurs licences d'origine. Le code, la documentation et la licence de YuE-v1 antérieur sont préservés sur une branche séparée.