À propos du projet

Magenta RealTime 2 (MRT2) est un modèle à poids ouverts pour la génération musicale en temps réel, publié par le projet Magenta. Le dépôt regroupe plusieurs composants : les poids du modèle, une bibliothèque d'inférence Python nommée `magenta-rt` avec des backends JAX et MLX, un moteur d'inférence C++ (`magentart::core`) destiné à la génération audio en streaming efficace sur les MacBooks Apple Silicon, et un ensemble d'applications d'exemple construites sur ce moteur. Les usages prévus incluent l'exécution directe de l'inférence, la création d'un plugin DAW ou l'intégration du modèle dans de nouvelles applications. Le README indique qu'un support du fine-tuning supervisé est prévu pour de futures mises à jour. Points clés de l'organisation du dépôt : - `magenta_rt/` — bibliothèque d'inférence Python avec backends JAX / MLX. - `core/` — bibliothèque d'inférence C++ (`magentart::core`). - `examples/mrt2/auv3` — plugin AUv3 tout-en-un pour DAW. - `examples/mrt2/standalone` — application macOS autonome tout-en-un. - `examples/jam/` — application pour explorer le contrôle des notes. - `examples/collider/` — application pour explorer l'espace des prompts. - `notebooks/` — notebook pour essayer l'API Python. Configuration matérielle requise : le streaming en temps réel nécessite Apple Silicon (série M). Deux tailles de modèle sont proposées : `mrt2_small` (230 M de paramètres), dont le README indique qu'il fonctionne en temps réel sur n'importe quel Mac Apple Silicon, y compris les modèles Air, et `mrt2_base` (2,4 Md de paramètres), décrit comme de meilleure qualité et nécessitant une puce Pro Max pour le streaming en temps réel. Le README inclut un tableau de compatibilité des appareils indiquant quelles puces prennent en charge le streaming en temps réel pour chaque taille de modèle. Les deux modèles peuvent également fonctionner en inférence hors ligne (non temps réel) sur n'importe quel Mac Apple Silicon ou GPU NVIDIA via la bibliothèque Python. Le démarrage rapide sur Apple Silicon couvre l'installation de `uv`, la création d'un environnement virtuel Python 3.12, l'installation de `magenta-rt[mlx]`, l'initialisation et le téléchargement des modèles via les commandes `mrt models`, et la génération audio avec `mrt mlx generate --prompt "disco funk" --duration 4.0 --model=mrt2_base`. Pour le développement local, le README suggère de cloner le dépôt avec les sous-modules et d'installer en mode éditable. Pour le développement d'applications C++, il décrit l'installation de CMake, la compilation de la cible `hello_mrt2` et son exécution avec un fichier de modèle téléchargé et un répertoire de ressources accompagnés d'un prompt textuel. Les liens de documentation couvrent l'installation, les modèles et checkpoints, l'inférence, l'export des modèles, le benchmarking de latence et les tests. Des ressources supplémentaires incluent une page de prise en main, un article de blog et le modèle sur Hugging Face. Le README fournit également une citation BibTeX pour un rapport technique associé intitulé « Live Music Models ».