In den letzten Jahren haben wir enorme Fortschritte in der KI für die Bild-, Video- und Textgenerierung erlebt. Allerdings hinkt der Fortschritt im Bereich der Audioerzeugung hinterher. Diesmal steuert MetaAI ein weiteres wichtiges Produkt zu Open Source bei: AudioCraft, ein Entwicklungsframework für die Audiogenerierung, das mehrere Audiogenerierungsmodelle unterstützt.
Open-Source-Adresse von AudioCraft
Open-Source-Adresse: https://github.com/facebookresearch/audiocraft
Beachten Sie, dass das Framework Open Source ist, die drei Modelle jedoch Open Source und nicht im Handel erhältlich sind~~
Adresse des AudioGen-Modells:
https://www.datalearner.com/ai-models/pretrained-models/AudioGen
Adresse des MusicGen-Modells:
https://www.datalearner.com/ai-models/pretrained-models/MusicGen
Einführung in AudioCraft
Die Produktion von High-Fidelity-Audio-Audio jeglicher Art erfordert die Modellierung komplexer Signale und Muster in verschiedenen Maßstäben. Musik ist möglicherweise die anspruchsvollste Art von Audio, da sie aus lokalen und weitreichenden Mustern besteht, die von einer Notenfolge bis hin zu globalen Musikstrukturen mit mehreren Instrumenten reichen. Die Generierung kohärenter Musik mit KI wird häufig durch die Verwendung einer Notationsdarstellung wie MIDI oder einer Pianorolle erreicht. Allerdings können diese Methoden die Spielnuancen und Stilelemente der Musik nicht vollständig erfassen.
Zu diesem Zweck verfügt MetaAI über Open-Source-AudioCraft, ein Framework, mit dem Audio generiert werden kann. Es unterstützt eine Reihe von Modellen, erzeugt hochwertiges Audio mit langfristiger Konsistenz und Benutzer können über eine natürliche Benutzeroberfläche problemlos damit interagieren.
AudioCraft dient der Musik- und Tonerzeugung sowie der Komprimierung, alles auf derselben Plattform. Da es einfach zu erstellen und wiederzuverwenden ist, können Benutzer, die bessere Klanggeneratoren, Komprimierungsalgorithmen oder Musikgeneratoren erstellen möchten, dies alles in derselben Codebasis tun und auf dem aufbauen, was andere bereits erstellt haben.
Von AudioCraft unterstützte Modelle
AudioCraft besteht aus drei Modellen: MusicGen, AudioGen und EnCodec. MusicGen wurde mit Meta-eigener und speziell lizenzierter Musik trainiert, um Musik aus Texteingaben zu generieren, während AudioGen mit öffentlich verfügbaren Soundeffekten trainiert wurde, um Audio aus Texteingaben zu generieren. Darüber hinaus gibt es eine verbesserte Version des EnCodec-Decoders, der Musik in höherer Qualität mit weniger Artefakten erzeugen kann.
Einfach ausgedrückt ist MusicGen ein Modell für textgenerierte Musik:
https://www.datalearner.com/ai-models/pretrained-models/MusicGen
AudioGen ist ein Modell zum Generieren von beliebigem Audio aus Text:
https://www.datalearner.com/ai-models/pretrained-models/AudioGen
Der andere EnCodec bezieht sich auf einen Echtzeit-High-Fidelity-Audio-Codec, der neuronale Netze nutzt.
Das Bild unten zeigt den tatsächlichen Fall der offiziellen Demo von AudioGen und MusicGen:
Es ist ersichtlich, dass für das AudioGen-Modell nur ein Textstück angegeben werden muss, um Musik zu erzeugen. Das erste Beispiel besteht darin, das Modell mit Wind pfeifen zu lassen, und das Ergebnis ist sehr gut.
Beachten Sie, dass ich die Bilder hier nicht wirklich testen kann. Sie können die offizielle Website besuchen, um den tatsächlichen Effekt zu sehen.
Das MusicGen-Modell ist eine Beschreibung, die Musik erzeugen kann. Obwohl ich es nicht verstehe, finde ich, dass es ziemlich gut klingt.
AudioCraft verwendet
AudioCraft basiert auf Python3.9 und PyTorch2.0. Sie müssen also sicherstellen, dass Ihre Systemumgebung zufriedenstellend ist. Sie können die Installation und das Upgrade über die folgenden Befehle durchführen:
# Best to make sure you have torch installed first, in particular before installing xformers.
# Don't run this if you already have PyTorch installed.
pip install 'torch>=2.0'
# Then proceed to one of the following
pip install -U audiocraft # stable release
pip install -U git+https://[email protected]/facebookresearch/audiocraft#egg=audiocraft # bleeding edge
pip install -e .# or if you cloned the repo locally (mandatory if you want to train).
Der Beamte empfiehlt außerdem die Installation im System ffmpeg
:
sudo apt-get install ffmpeg
Wenn Sie Anaconda haben, können Sie es auch mit dem folgenden Befehl installieren:
conda install 'ffmpeg<5'-c conda-forge
Nach der Installation ist es einfach zu verwenden:
import torchaudio
from audiocraft.models importAudioGen
from audiocraft.data.audio import audio_write
model =AudioGen.get_pretrained('facebook/audiogen-medium')
model.set_generation_params(duration=5)# generate 8 seconds.
wav = model.generate_unconditional(4)# generates 4 unconditional audio samples
descriptions =['dog barking','sirene of an emergency vehicule','footsteps in a corridor']
wav = model.generate(descriptions)# generates 3 samples.
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", loudness_compressor=True)