AudioCraft — это фреймворк Meta для генерации аудиоконтента по текстовому описанию, который работает через командную строку или Python-интерфейс. Инструмент содержит несколько моделей (MusicGen, AudioGen, MAGNet), способные создавать музыку, звуковые эффекты и речь на основе текстовых промптов. Процесс включает установку зависимостей, загрузку моделей и запуск генерации через скрипты.
Необходимые инструменты и требования
- Python версии 3.9 или выше
- pip (менеджер пакетов Python)
- Git для клонирования репозитория
- CUDA Toolkit 11.8+ (для ускорения на GPU, опционально)
- Минимум 16 ГБ оперативной памяти
- Свободное место на диске: 50+ ГБ для моделей
- Текстовый редактор или IDE (VS Code, PyCharm)
Пошаговая инструкция по установке и использованию
- Откройте командную строку или терминал на вашем компьютере.
- Установите Git, если его ещё нет: скачайте с
https://git-scm.comи запустите инсталлятор. - Клонируйте официальный репозиторий AudioCraft: выполните команду
git clone https://github.com/facebookresearch/audiocraft.git - Перейдите в папку проекта: введите
cd audiocraft - Создайте виртуальное окружение Python: выполните
python -m venv venv - Активируйте виртуальное окружение: на Windows введите
venv\Scripts\activate, на macOS/Linux —source venv/bin/activate - Обновите pip: выполните
pip install --upgrade pip - Установите зависимости AudioCraft: введите
pip install -e . - Установите дополнительные пакеты: выполните
pip install torch torchaudio julius - Проверьте установку: выполните
python -c "import audiocraft; print(audiocraft.__version__)" - Создайте новый Python-файл
generate_audio.pyв папке проекта. - Скопируйте в файл следующий код для генерации музыки по текстовому описанию:
from audiocraft.models import MusicGen model = MusicGen.get_pretrained('facebook/musicgen-medium') descriptions = ['80s pop track with synths and drums'] wav = model.generate(descriptions, progress=True, top_k=250) # Сохраните файл import torchaudio for idx, one_wav in enumerate(wav): filename = f'generated_music_{idx}.wav' torchaudio.save(filename, one_wav.cpu(), model.sample_rate) print(f'Сохранено: {filename}') - Откройте терминал в папке проекта и выполните:
python generate_audio.py - Дождитесь завершения генерации (время зависит от мощности GPU и длины описания).
- Найдите файл
generated_music_0.wavв папке проекта — это ваш сгенерированный звук. - Для генерации звуковых эффектов вместо MusicGen используйте модель
facebook/audiogen-mediumс аналогичным кодом. - Для более длинных композиций измените параметр в коде на
model.generate(descriptions, use_sampling=True, top_k=250, duration=30)(где 30 — длительность в секундах).
Часто задаваемые вопросы
Какая модель лучше всего подходит для генерации музыки? Используйте facebook/musicgen-medium или facebook/musicgen-large — medium быстрее, large качественнее.
Как увеличить качество сгенерированного звука? Замените модель на large версию, используйте более подробное текстовое описание (включите темп, инструменты, эмоцию) и установите параметр top_k=500.
Почему процесс генерации занимает очень долго? Это нормально при использовании CPU; установите CUDA для ускорения на GPU (выполните pip install torch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia).