AudioCraft par MetaAI : créer de la musique par description

Les réseaux neuronaux génératifs modernes deviennent de plus en plus intelligents. Ils écrivent des histoires, engagent des conversations avec les gens et créent des images ultra-réalistes. Aujourd'hui, ils peuvent produire de simples morceaux de musique sans faire appel à des artistes professionnels. Ce futur est devenu une réalité aujourd'hui. C'est normal, car les harmonies et les rythmes musicaux sont ancrés dans des principes mathématiques.
Meta a démontré son engagement dans le monde des logiciels libres. Ils ont mis à la disposition du public trois modèles de réseaux neuronaux qui permettent de créer des sons et de la musique à partir de descriptions textuelles :
- MusicGen - génère de la musique à partir d'un texte.
- AudioGen - génère de l'audio à partir d'un texte.
- EnCodec - compresseur audio neuronal de haute qualité.
MusicGen a été entraîné sur 20 000 heures de musique. Vous pouvez l'utiliser localement via les serveurs dédiés de LeaderGPU en tant que plateforme.
Installation standard
Mettre à jour le dépôt de cache des paquets :
sudo apt update && sudo apt -y upgrade
Installer le gestionnaire de paquets Python, pip, et les bibliothèques ffmpeg :
sudo apt -y install python3-pip ffmpeg
Installez torch 2.0 ou une version plus récente à l'aide de pip :
pip install 'torch>=2.0'
La commande suivante installe automatiquement audiocraft et toutes les dépendances nécessaires :
pip install -U audiocraft
Ecrivons une application Python simple, utilisant le grand modèle MusicGen pré-entraîné avec 3.3B paramètres :
nano generate.py
from audiocraft.models import MusicGen
from audiocraft.data.audio import audio_write
model = MusicGen.get_pretrained("facebook/musicgen-large")
model.set_generation_params(duration=30) # generate a 30 seconds sample.
descriptions = ["rock solo"]
wav = model.generate(descriptions) # generates sample.
for idx, one_wav in enumerate(wav):
# Will save under {idx}.wav, with loudness normalization at -14 db LUFS.
audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
Exécuter l'application créée :
python3 generate.py
Après quelques secondes, le fichier généré (0.wav) apparaît dans le répertoire.
Café Vampir 3
Cloner un dépôt de projet :
git clone https://github.com/CoffeeVampir3/audiocraft-webui.git
Ouvrez le répertoire cloné :
cd audiocraft-webui
Exécutez la commande qui prépare votre système et installe tous les paquets nécessaires :
pip install -r requirements.txt
Ensuite, lancez le serveur Coffee Vampire 3 avec la commande suivante :
python3 webui.py
Coffee Vampire 3 utilise Flask comme framework. Par défaut, il fonctionne sur localhost avec le port 5000. Si vous souhaitez un accès à distance, veuillez utiliser la fonction de redirection de port dans votre client SSH. Sinon, vous pouvez organiser une connexion VPN au serveur.
Attention ! Il s'agit d'une action potentiellement dangereuse ; utilisez-la à vos propres risques :
nano webui.py
Descendez jusqu'à la fin et remplacez socketio.run(app) par socketio.run(app, host=’0.0.0.0’, port=5000)
Enregistrez le fichier et exécutez le serveur à l'aide de la commande ci-dessus. Cela permet d'accéder au serveur depuis l'internet public sans aucune authentification.
N'oubliez pas disable AdBlock software, car il peut bloquer le lecteur de musique sur le côté droit de la page web. Vous pouvez commencer par saisir l'invite et confirmer en cliquant sur le bouton Submit:

TTS Generation WebUI
Étape 1. Pilotes
Mettez à jour le dépôt de cache des paquets :
sudo apt update && sudo apt -y upgrade
Installer les pilotes NVIDIA® à l'aide de l'installateur automatique ou de notre guide Installer les pilotes NVIDIA® sous Linux:
sudo ubuntu-drivers autoinstall
Redémarrer le serveur :
sudo shutdown -r now
Étape 2. Docker
L'étape suivante consiste à installer Docker. Installons quelques paquets qui doivent être ajoutés au dépôt Docker :
sudo apt -y install apt-transport-https curl gnupg-agent ca-certificates software-properties-common
Téléchargez la clé GPG de Docker et stockez-la :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Ajouter le dépôt :
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Installer Docker CE (Community Edition) avec CLI et le runtime containerd:
sudo apt -y install docker-ce docker-ce-cli containerd.io
Ajouter l'utilisateur actuel au groupe docker :
sudo usermod -aG docker $USER
Appliquer les modifications sans procédure de déconnexion et de connexion :
newgrp docker
Étape 3. Passage du GPU
Activons le passthrough des GPU NVIDIA® dans Docker. La commande suivante lit la version actuelle du système d'exploitation dans la variable distribution, que nous utiliserons à l'étape suivante :
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
Téléchargez la clé GPG du dépôt NVIDIA® et stockez-la :
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
Téléchargez la liste des dépôts NVIDIA® et stockez-la pour l'utiliser dans le gestionnaire de paquets APT standard :
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
Mettez à jour le dépôt de cache des paquets et installez le kit d'outils GPU passthrough :
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
Redémarrer le démon Docker :
sudo systemctl restart docker
Étape 4. L'interface Web
Télécharger l'archive du référentiel :
wget https://github.com/rsxdalv/tts-generation-webui/archive/refs/heads/main.zip
Décompressez-la :
unzip main.zip
Ouvrez le répertoire du projet :
cd tts-generation-webui-main
Commencer à construire l'image :
docker build -t rsxdalv/tts-generation-webui .
Exécuter le conteneur créé :
docker compose up -d
Vous pouvez maintenant ouvrir http://[server_ip]:7860, saisir votre invite, sélectionner le modèle nécessaire et cliquer sur le bouton Generate:

Le système télécharge automatiquement le modèle sélectionné lors de la première génération. Bon appétit !
Voir aussi:
Mis à jour: 12.08.2025
Publié: 22.01.2025