AudioX : générer de l'audio et de la musique à partir de textes, d'images et de vidéos référencés
Introduction générale
AudioX est un projet open source sur GitHub de Zeyue Tian et al. L'article officiel est publié sur arXiv (No. 2503.10522). Il est basé sur la technologie Diffusion Transformer, qui peut générer de l'audio et de la musique de haute qualité à partir d'une variété d'entrées telles que le texte, la vidéo, les images, l'audio, etc. AudioX est unique en ce sens qu'il ne prend pas seulement en charge une entrée unique, mais unifie également le traitement des données multimodales et génère les résultats par le biais du contrôle du langage naturel. Le projet fournit deux ensembles de données : vggsound-caps (190 000 descriptions audio) et V2M-caps (6 000 000 de descriptions musicales), qui résolvent le problème de l'insuffisance des données d'entraînement.AudioX ouvre le code et les modèles pré-entraînés aux développeurs, chercheurs et créateurs.

Liste des fonctions
- Prise en charge de plusieurs entrées pour générer de l'audio : vous pouvez utiliser du texte, de la vidéo, des images ou de l'audio pour générer l'audio ou la musique correspondante.
- Contrôle du langage naturel : Ajustez le contenu ou le style audio à l'aide de descriptions textuelles, par exemple "musique légère de piano".
- Sortie de haute qualité : la qualité du son audio et musical généré est élevée et proche du niveau professionnel.
- Traitement multimodal unifié : capacité à traiter simultanément différents types d'entrées et à produire des résultats cohérents.
- Ressources open source : un code complet, des modèles pré-entraînés et des ensembles de données sont disponibles pour faciliter le développement secondaire.
- Support démo natif : interface interactive via Gradio pour tester facilement les fonctionnalités.
Utiliser l'aide
AudioX nécessite quelques connaissances en programmation et convient aux utilisateurs ayant une expérience de Python. Vous trouverez ci-dessous un guide d'installation et d'utilisation détaillé pour vous aider à démarrer.
Processus d'installation
- Télécharger le code
Clonez le dépôt AudioX en entrant la commande suivante dans le terminal :
git clone https://github.com/ZeyueT/AudioX.git
Allez ensuite dans le répertoire du projet :
cd AudioX
- Créer l'environnement
AudioX nécessite Python 3.8.20. Utilisez Conda pour créer un environnement virtuel :
conda create -n AudioX python=3.8.20
Activer l'environnement :
conda activate AudioX
- Installation des dépendances
Installer les bibliothèques nécessaires au projet :
pip install git+https://github.com/ZeyueT/AudioX.git
Réinstallez les outils de traitement audio :
conda install -c conda-forge ffmpeg libsndfile
- Télécharger le modèle pré-entraîné
Créer un dossier modèle :
mkdir -p model
Télécharger les modèles et les fichiers de configuration :
wget https://huggingface.co/HKUSTAudio/AudioX/resolve/main/model.ckpt -O model/model.ckpt
wget https://huggingface.co/HKUSTAudio/AudioX/resolve/main/config.json -O model/config.json
- Vérifier l'installation
Vérifier que l'environnement est normal :
python -c "import audiox; print('AudioX installed successfully')"
Si aucune erreur n'est signalée, l'installation a réussi.
Principales fonctions
AudioX prend en charge une variété de tâches de génération, y compris la conversion de texte en audio (T2A), de vidéo en musique (V2M), etc. La méthode d'opération spécifique est décrite ci-dessous.
Générer de l'audio à partir d'un texte
- Créer un fichier Python tel que
text_to_audio.py
. - Entrez le code suivant :
from audiox import AudioXModel
model = AudioXModel.load("model/model.ckpt", "model/config.json")
text = "敲击键盘的声音"
audio = model.generate(text=text)
audio.save("keyboard.wav")
- Exécutez le script :
python text_to_audio.py
- L'audio généré est enregistré en tant que
keyboard.wav
Vous pouvez vérifier l'effet avec le lecteur.
Générer de la musique à partir d'une vidéo
- Préparer un fichier vidéo tel que
sample.mp4
. - Création de scripts
video_to_music.py
Entrée :
from audiox import AudioXModel
model = AudioXModel.load("model/model.ckpt", "model/config.json")
audio = model.generate(video="sample.mp4", text="为视频生成音乐")
audio.save("video_music.wav")
- La course à pied :
python video_to_music.py
- La musique générée est enregistrée sous le nom de
video_music.wav
.
Lancer la démo locale de Gradio
- Saisissez-le dans le terminal :
python3 run_gradio.py --model-config model/config.json --share
- Après l'exécution de la commande, un lien local est généré (par exemple http://127.0.0.1:7860). Ouvrez le lien et vous pourrez tester l'AudioX à travers l'interface web.
- Saisissez un texte (par exemple "Musique pour piano et violon") ou téléchargez une vidéo sur l'interface et cliquez sur "Générer" pour écouter les résultats.
Exemple de raisonnement scénarisé
Un script de raisonnement détaillé est officiellement fourni pour les tâches de génération plus complexes :
- Création de documents
generate.py
Entrée :
import torch
from stable_audio_tools import get_pretrained_model, generate_diffusion_cond
device `Truncated`torch.torch.torch.torch.torch.torch.torch.torch.torch_torch.torch.torch_torch.torch.torch
device = "cuda" if torch.cuda.is_available() else "cpu"
model, config = get_pretrained_config("HKUSTAudio/AudioX")
model = model.to(device)
sample_rate = config["sample_rate"]
sample_size = config["sample_size"]
video_path = "sample.mp4"
text_prompt = "为视频生成钢琴音乐"
conditioning = [{"video_prompt": [read_video(video_path, 0, 10, config["video_fps"]).unsqueeze(0)],
"text_prompt": text_prompt,
"seconds_start": 0,
"seconds_total": 10}]
output = generate_diffusion_cond(model, steps=250, cfg_scale=7, conditioning=conditioning, sample_size=sample_size, device=device)
output = output.to(torch.float32).div(torch.max(torch.abs(output))).clamp(-1, 1).mul(32767).to(torch.int16).cpu()
torchaudio.save("output.wav", output, sample_rate)
- La course à pied :
python generate.py
- L'audio généré est enregistré en tant que
output.wav
.
Exemple de configuration
Voici les configurations d'entrée pour les différentes tâches :
- Du texte à l'audio: :
text="敲击键盘的声音"
,video=None
- De la vidéo à la musique: :
video="sample.mp4"
,text="为视频生成音乐"
- entrée mixte: :
video="sample.mp4"
,text="海浪声和笑声"
mise en garde
- Les GPU augmentent considérablement la vitesse de génération et sont recommandés.
- Le format vidéo doit être mp4 et la sortie audio doit être wav.
- Assurez-vous que votre réseau est stable, le téléchargement du modèle peut prendre quelques minutes.
scénario d'application
- composition musicale
Saisissez une description textuelle, telle que "air de violon triste", pour générer rapidement un clip musical. - Bande sonore vidéo
Téléchargez des vidéos pour générer une musique de fond ou des effets sonores adaptés. - la recherche et le développement (R&D)
Amélioration des techniques de génération audio à l'aide de codes et d'ensembles de données à source ouverte.
QA
- Prend-il en charge le chinois ?
Oui, il prend en charge la saisie en chinois, par exemple "musique légère de piano". - Quel est l'espace de stockage nécessaire ?
Le code et le modèle représentent environ 2 à 3 Go, et l'ensemble des données nécessite plusieurs dizaines de Go supplémentaires. - Combien de temps cela prend-il pour produire ?
Quelques secondes à une minute pour le GPU, le CPU peut prendre quelques minutes.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...