Об этом проекте

Magenta RealTime 2 (MRT2) — это модель с открытыми весами для генерации музыки в реальном времени, выпущенная проектом Magenta. Репозиторий объединяет несколько компонентов: веса модели, библиотеку вывода на Python под названием `magenta-rt` с бэкендами JAX и MLX, движок вывода на C++ (`magentart::core`), предназначенный для эффективной потоковой генерации аудио на MacBook с Apple Silicon, и набор примеров приложений, построенных на этом движке. Предполагаемые варианты использования включают прямой запуск вывода, создание плагина для DAW или встраивание модели в новые приложения. В README отмечается, что поддержка supervised fine-tuning запланирована в будущих обновлениях. Основные моменты структуры репозитория: - `magenta_rt/` — библиотека вывода на Python с бэкендами JAX / MLX. - `core/` — библиотека вывода на C++ (`magentart::core`). - `examples/mrt2/auv3` — универсальный плагин AUv3 для DAW. - `examples/mrt2/standalone` — универсальное автономное приложение для macOS. - `examples/jam/` — приложение для изучения управления нотами. - `examples/collider/` — приложение для изучения пространства промптов. - `notebooks/` — ноутбук для знакомства с Python API. Требования к оборудованию: потоковая передача в реальном времени требует Apple Silicon (серия M). Предлагаются два размера модели: `mrt2_small` (230 млн параметров), которая, как указано в README, работает в реальном времени на любом Mac с Apple Silicon, включая модели Air, и `mrt2_base` (2,4 млрд параметров), описанная как более качественная и требующая чипа Pro Max для потоковой передачи в реальном времени. В README есть таблица совместимости устройств с перечнем чипов, поддерживающих потоковую передачу в реальном времени для каждого размера модели. Обе модели также могут выполнять офлайн-вывод (не в реальном времени) на любом Mac с Apple Silicon или GPU NVIDIA через библиотеку Python. Быстрый старт на Apple Silicon включает установку `uv`, создание виртуального окружения Python 3.12, установку `magenta-rt[mlx]`, инициализацию и загрузку моделей с помощью команд `mrt models`, а также генерацию аудио командой `mrt mlx generate --prompt "disco funk" --duration 4.0 --model=mrt2_base`. Для локальной разработки README предлагает клонировать репозиторий с подмодулями и установить в редактируемом режиме. Для разработки приложений на C++ описывается установка CMake, сборка цели `hello_mrt2` и её запуск с загруженным файлом модели и каталогом ресурсов с текстовым промптом. Ссылки на документацию охватывают установку, модели и контрольные точки, вывод, экспорт моделей, измерение задержки и тестирование. Дополнительные ресурсы включают страницу для начала работы, пост в блоге и модель на Hugging Face. В README также приведена ссылка BibTeX на связанный технический отчёт под названием "Live Music Models".