AI Personal Learning
und praktische Anleitung

Llasa 1~8B: ein quelloffenes Text-zu-Sprache-Modell für hochwertige Spracherzeugung und Klonen

Allgemeine Einführung

Llasa-3B ist ein quelloffenes Text-to-Speech-Modell (TTS), das vom Audio Lab der Hong Kong University of Science and Technology (HKUST Audio) entwickelt wurde. Das Modell basiert auf der Llama-3.2B-Architektur, die sorgfältig abgestimmt wurde, um eine qualitativ hochwertige Spracherzeugung zu ermöglichen, die nicht nur mehrere Sprachen unterstützt, sondern auch emotionalen Ausdruck und personalisiertes Klonen von Sprache ermöglicht.Llasa-3B hat die Aufmerksamkeit vieler Forscher und Entwickler wegen seiner Ausdruckskraft und Flexibilität bei der natürlichen Sprachsynthese auf sich gezogen.

Llasa 1~8B: Ein Open-Source-Text-to-Speech-Modell für hochwertige Spracherzeugung und Klonen-1

Erfahrung: https://huggingface.co/spaces/srinivasbilla/llasa-3b-tts


 

Funktionsliste

  • Text-to-SpeechKonvertiert Text in natürlichen, weichen Klang.
  • SprachklonenNur 15 Sekunden Audiomaterial werden benötigt, um eine bestimmte menschliche Stimme zu klonen, einschließlich Timbre und Emotion.
  • Mehrsprachige UnterstützungChinesisch und Englisch werden unterstützt, wobei eine Ausweitung auf weitere Sprachen angestrebt wird.
  • affektiver AusdruckDie Fähigkeit, Emotionen in die generierte Sprache einzubringen, erhöht die Authentizität der Sprache.
  • Unterstützung mehrerer Modelle1B und 3B parametrische Modelle verfügbar, 8B Modelle sollen in Zukunft eingeführt werden
  • offene GewichtungAlle Modelle bieten offene Gewichte, die Entwickler direkt verwenden oder doppelt anpassen können, und unterstützen sowohl die Transformers- als auch die vLLM-Frameworks.

 

Hilfe verwenden

Installation und Vorbereitung der Umgebung

Um das Modell Llasa-3B zu verwenden, müssen Sie zunächst die folgende Umgebung vorbereiten:

Python-UmgebungPython 3.9 oder höher wird empfohlen.
Verwandte Bibliotheken: Erfordert die Installation vonFackelTransformatorenxcodec2usw. Bibliothek.

conda erstellen -n xcodec2 python=3.9
conda aktivieren xcodec2
pip install transformers torch xcodec2==0.1.3

Herunterladen und Laden von Modellen

Besuchen Sie Hugging Face aufLlasa-3B-SeiteSie können die Modell-Download-Funktion von Hugging Face direkt nutzen:

from transformers import AutoTokenizer, AutoModelForCausalLM
importieren torch
importiere soundfile als sf
llasa_3b = 'HKUST-Audio/Llasa-3B'
tokenizer = AutoTokenizer.from_pretrained(llasa_3b)
model = AutoModelForCausalLM.from_pretrained(llasa_3b)
model.eval()
model.to('cuda') # Wenn es eine GPU gibt

Text-to-Speech-Verfahren

  1. Vorbereiteter Text::
    • Geben Sie den Text ein, den Sie in Sprache umwandeln möchten.
  2. Vorverarbeitung von Text::
    • Verwenden Sie z. B. einen bestimmten formatierten Text, um das Modell für die Spracherzeugung zu steuern:
      input_text = "Dies ist ein Testtext, bitte in Sprache umwandeln."
      formatted_text = f"{input_text}"
      
  3. Sprache generieren::
    • Wandeln Sie den Text in ein Token um, das das Modell verstehen kann:
      chat = [
      {"role": "user", "content": "Convert the text to speech:" + formatted_text},
      {"role": "assistant", "content": ""}
      ]
      input_ids = tokenizer.apply_chat_template(chat, tokenize=True, return_tensors='pt', continue_final_message=True)
      input_ids = input_ids.to('cuda')
      
    • Erzeugen Sie ein Sprach-Token:
      speech_end_id = tokenizer.convert_tokens_to_ids('')
      outputs = model.generate(input_ids, max_length=2048, eos_token_id=speech_end_id, do_sample=True, top_p=1, temperature=0.8)
      
  4. Sprachdecodierung::
    • Konvertiert das generierte Token zurück in Audio:
      from xcodec2.modelling_xcodec2 import XCodec2Model
      model_path = "HKUST-Audio/xcodec2"
      Codec_model = XCodec2Model.from_pretrained(model_path).eval().cuda()
      generierte_ids = outputs[0][input_ids.shape[1]:-1]
      speech_tokens = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
      speech_ids = [int(token[4:-2]) for Token in speech_tokens if token.startswith('')]
      speech_tokens_tensor = torch.tensor(speech_ids).cuda().unsqueeze(0).unsqueeze(0)
      gen_wav = Codec_model.decode_code(sprach_tokens_tensor)
      sf.write("output.wav", gen_wav[0, 0, :].cpu().numpy(), 16000)
      

Sprachklonen

  • Nehmen Sie etwa 15 Sekunden der Originaltonspur auf oder bereiten Sie sie vor.::
    • Verwenden Sie ein Aufnahmegerät oder stellen Sie eine vorhandene Audiodatei zur Verfügung.
  • phonetischer Klonierungsprozess::
    • Kodierung der ursprünglichen Tonfrequenzen in ein Codebuch, das das Modell verwenden kann:
      prompt_wav = sf.read("your_source_audio.wav")[0] # muss 16kHz Abtastrate haben
      vq_code_prompt = Codec_model.encode_code(torch.from_numpy(prompt_wav).unsqueeze(0).unsqueeze(0).cuda())
      
    • Ergänzen Sie den Textgenerierungsprozess um Audiohinweise:
      speech_ids_prefix = [f""foridin vq_code_prompt[0, 0, :].tolist()]
      chat = [
      {"role": "user", "content": "Convert the text to speech:" + formatted_text},
      {"role": "assistant", "content": "" + ''.join(speech_ids_prefix)}
      ]
      # Die weiteren Schritte sind die gleichen wie bei Text-to-Speech
      

caveat

  • Vergewissern Sie sich, dass das Audio-Eingangsformat korrekt ist. Der Llasa-3B unterstützt nur 16kHz-Audio.
  • Die Leistung des Modells hängt direkt von der Qualität des eingegebenen Textes und Tons ab, wodurch die Qualität der Eingabe gewährleistet wird.
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " Llasa 1~8B: ein quelloffenes Text-zu-Sprache-Modell für hochwertige Spracherzeugung und Klonen

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)