Audio génératif

DEV - 13/10
txtai est une base de données d'intégration tout-en-un pour la recherche sémantique, l'orchestration LLM et le langage...

txtai est une base de données d'intégration tout-en-un pour les workflows de recherche sémantique, d'orchestration LLM et de modèles de langage.

txtai fonctionne avec bien plus qu’un simple texte ! Il possède de riches capacités multimédias et multimodales.

Cet article montrera comment créer des flux de travail audio génératifs. Ces flux de travail généreront un flux audio combiné avec du texte et de l'audio pertinent pour une série de poèmes.

Installer les dépendances

Installertxtaiet toutes les dépendances.

pip install txtai[pipeline-audio] autoawq
Entrer en mode plein écran Quitter le mode plein écran

Définir un workflow audio génératif

La section suivante définit un flux de travail audio génératif. Ce workflow se compose d'un ensemble de pipelines comme suit :

  • LLM
    • Modèle Lama 3 utilisé pour décrire les émotions d'une histoire ou d'un poème donné
  • Texte en audio
    • Construit de l'audio à partir d'une invite de texte
  • Synthèse vocale
    • Convertit le texte en parole
  • Mélangeur audio
    • Regroupe plusieurs flux audio en un seul flux
importer la journalisation importer un fichier son en tant que sf depuis IPython.display importer Audio, afficher depuis txtai importer LLM depuis txtai.pipeline importer AudioMixer, TextToAudio, TextToSpeech depuis txtai.workflow importer Workflow, Task, TemplateTask # Activer la journalisation DEBUG logging.basicConfig() logging.getLogger ("txtai.workflow.base").setLevel(logging.DEBUG) logging.getLogger("txtai.workflow.task.base").setLevel(logging.DEBUG) def play(audio): # Convertir en MP3 pour économiser de l'espace sf.write("audio.wav", audio[0].T, audio[1]) !ffmpeg -i audio.wav -y -b:a 64 audio.mp3 2> /dev/null # Lire l'affichage vocal ( Audio(filename="audio.mp3")) return audio # LLM llm = LLM("hugging-quants/Meta-Llama-3.1-8B-Instruct-AWQ-INT4") # Text to Audio # Important : Le code pour musicgen est sous licence MIT mais les poids des modèles sont CC-BY-NC tta = TextToAudio("facebook/musicgen-stereo-small") # Mélangeur audio = AudioMixer() # Définir un modèle d'invite = """ <|begin_of_text|>< |start_header_id|>user<|end_header_id|> Écrivez 3 à 5 émotions, mots-clés et vacances pour décrire le texte suivant. Répondez UNIQUEMENT avec une liste séparée par des virgules et sans instruction...
[Courte citation de 8% de l'article original]
Loading...