close
close

first Drop

Com TW NOw News 2024

Transformeer uw tekst in spraak
news

Transformeer uw tekst in spraak

Invoering

Stel je voor dat je een podcast maakt of een virtuele assistent maakt die net zo natuurlijk klinkt als een echt gesprek. Daar komt ChatTTS om de hoek kijken. Deze geavanceerde tekst-naar-spraaktool verandert je geschreven woorden in levensechte audio, waarbij nuances en emoties met ongelooflijke precisie worden vastgelegd. Stel je voor: je typt een script en ChatTTS brengt het tot leven met een stem die oprecht en expressief aanvoelt. Of je nu boeiende content ontwikkelt of gebruikersinteracties verbetert, ChatTTS biedt een blik op de toekomst van naadloze, natuurlijk klinkende dialogen. Duik erin en ontdek hoe deze tool je projecten kan transformeren en je stem op een geheel nieuwe manier kan laten horen.

Leerresultaten

  • Ontdek de unieke mogelijkheden en voordelen van ChatTTS in tekst-naar-spraaktechnologie.
  • Identificeer de belangrijkste verschillen en voordelen van ChatTTS vergeleken met andere tekst-naar-spraakmodellen zoals Bark en Vall-E.
  • Krijg inzicht in hoe tekstvoorverwerking en het verfijnen van de uitvoer de aanpasbaarheid en expressiviteit van gegenereerde spraak verbeteren.
  • Ontdek hoe u ChatTTS kunt integreren met grote taalmodellen voor geavanceerde tekst-naar-spraaktoepassingen.
  • Begrijp de praktische toepassingen van ChatTTS bij het maken van audiocontent en virtuele assistenten.

Dit artikel werd gepubliceerd als onderdeel van de Blogathon over datawetenschap.

Overzicht van ChatTTS

ChatTTS, een tool voor spraakgeneratie, is een belangrijke sprong voorwaarts in AI en maakt naadloze gesprekken mogelijk. Naarmate de vraag naar spraakgeneratie toeneemt naast tekstgeneratie en LLM’s, maakt ChatTTS audiodialogen handiger en uitgebreider. Een dialoog aangaan met deze tool is een fluitje van een cent en met uitgebreide datamining en pretraining wordt de efficiëntie van dit concept alleen maar groter.

ChatTTS is een van de beste open-source modellen voor Text-to-Speech stemgeneratie voor veel toepassingen. Deze tool is perfect in zowel Engels als Chinees. Met meer dan 100.000 uur aan trainingsdata kan dit model dialogen in beide talen leveren die natuurlijk lijken.

Transformeer uw tekst in spraak

Wat zijn de kenmerken van ChatTTS?

ChatTTS onderscheidt zich met zijn unieke functies van andere grote taalmodellen die generiek kunnen zijn en niet expressiviteit bieden. Met ongeveer 10 uur aan datatraining in het Engels en Chinees, verbetert deze tool AI enorm. Andere tekst-naar-audiomodellen, zoals Bark en Vall-E, hebben geweldige functies die vergelijkbaar zijn met deze. Maar ChatTTS steekt er in sommige opzichten met kop en schouders bovenuit.

Wanneer je bijvoorbeeld ChatTTS met Bark vergelijkt, zie je een opvallend verschil met de lange invoer.

De output is in dit geval meestal niet langer dan 13 seconden, en dat komt door de GPT-stijl architectuur. Ook kan de inferentiesnelheid van Bark langzamer zijn voor oude GPU’s, standaard collabs of CPU’s. Het werkt echter wel voor enterprise GPU’s, Pytorch en CPU’s.

ChatTTS heeft daarentegen een goede inferentiesnelheid; het kan audio genereren die overeenkomt met ongeveer zeven semantische tokens per seconde. De emotiecontrole van dit model zorgt er ook voor dat het Valle verslaat.

Laten we eens dieper ingaan op enkele unieke functies die ChatTTS tot een waardevol hulpmiddel voor AI-spraakgeneratie maken:

Conversatie-TTS

Dit model is getraind om taakdialogen expressief uit te voeren. Het draagt ​​natuurlijke spraakpatronen en behoudt ook spraaksynthese voor meerdere sprekers. Dit eenvoudige concept maakt het gemakkelijker voor gebruikers, met name voor degenen met behoefte aan spraaksynthese.

Controle en beveiliging

ChatTTS doet veel om de veiligheid en ethische zorgen van deze tool te waarborgen. Er is begrijpelijke bezorgdheid over het misbruik van dit model en sommige functies, zoals het verminderen van de beeldkwaliteit en het huidige werk aan een open-sourcetool om kunstmatige spraak te detecteren, zijn goede voorbeelden van ethische AI-ontwikkelingen.

Integratie met LLM’s

Dit is een andere evolutie richting de beveiliging en controle van dit model. Het ChatTTS-team heeft laten zien dat het de betrouwbaarheid wil behouden; het toevoegen van watermerken en het integreren ervan met grote taalmodellen is een zichtbaar teken van het waarborgen van de veiligheids- en betrouwbaarheidsproblemen die kunnen ontstaan.

Dit model heeft nog een paar opvallende kwaliteiten. Een belangrijke eigenschap is dat gebruikers de output en bepaalde spraakvariaties kunnen regelen. De volgende sectie legt dit beter uit.

Tekstvoorverwerking: speciale tokens voor meer controle

Het niveau van controleerbaarheid dat dit model gebruikers biedt, is wat het uniek maakt. Wanneer u tekst toevoegt, kunt u tokens opnemen. Deze tokens fungeren als ingebedde opdrachten die mondelinge opdrachten besturen, inclusief pauzes en lachen.

Dit tokenconcept kan worden onderverdeeld in twee fasen: zinsniveaucontrole en woordniveaucontrole. Het zinsniveau introduceert tokens zoals lachen (laugh_ (0-2)) en pauzes. Aan de andere kant introduceert de woordniveaucontrole deze pauzes rond bepaalde woorden om de zin expressiever te maken.

ChatTTS: de output verfijnen

Met behulp van enkele parameters kunt u de uitvoer verfijnen tijdens het genereren van audio. Dit is een andere cruciale functie die dit model beter controleerbaar maakt.

Dit concept is vergelijkbaar met controle op zinsniveau, omdat gebruikers specifieke identiteiten kunnen beheren, zoals de identiteit van de spreker, spraakvariaties en decoderingsstrategieën.

Over het algemeen zijn het voorbewerken van tekst en het nauwkeurig afstemmen van de uitvoer twee belangrijke functies die ChatTTS de hoge mate van aanpasbaarheid en de mogelijkheid om expressieve spraakgesprekken te genereren geven.

params_infer_code = {'prompt':'(speed_5)', 'temperature':.3}
params_refine_text = {'prompt':'(oral_2)(laugh_0)(break_6)'}

Open Source-plannen en betrokkenheid van de gemeenschap

ChatTTS heeft een krachtig potentieel, met fine-tuning-mogelijkheden en naadloze integratie met LLM. De community wil een op treinen gebaseerd model open sourcen om het verder te ontwikkelen en meer onderzoekers en ontwikkelaars te rekruteren om het te verbeteren.

Er zijn ook gesprekken geweest over het uitbrengen van een versie van dit model met meerdere emotiecontroles en een Lora-trainingscode. Deze ontwikkeling zou de moeilijkheidsgraad van de training drastisch kunnen verminderen, aangezien ChatTTS LLM-integratie heeft.

Dit model ondersteunt ook een webgebruikersinterface waar u tekst kunt invoeren, parameters kunt wijzigen en interactief audio kunt genereren. Dit is mogelijk met het webui.py-script.

 python webui.py --server_name 0.0.0.0 --server_port 8080 --local_path /path/to/local/models
 

Hoe ChatTTS te gebruiken

We lichten de eenvoudige stappen uit die dit model nodig heeft om het efficiënt te laten werken, van het downloaden van de code tot het verfijnen ervan.

De code downloaden en afhankelijkheden installeren

!rm -rf /content/ChatTTS
!git clone https://github.com/2noise/ChatTTS.git
!pip install -r /content/ChatTTS/requirements.txt
!pip install nemo_text_processing WeTextProcessing
!ldconfig /usr/lib64-nvidia

Deze code bestaat uit opdrachten om de omgeving in te stellen. Door de kloonversie van dit model te downloaden van Git Hub, wordt de nieuwste versie van het project opgehaald. De coderegels installeren ook de benodigde afhankelijkheden en zorgen ervoor dat de systeembibliotheken correct zijn geconfigureerd voor NVIDIA GPU’s.

Vereiste bibliotheken importeren

De volgende stap in het uitvoeren van inferentie voor dit model omvat het importeren van de benodigde bibliotheken voor uw script; u moet Torch, ChatTTS en audio importeren van IPython.display. U kunt naar de audio luisteren met een ipynb-bestand. Er is ook een alternatief om deze audio op te slaan als een ‘.wav’-bestand als u een bibliotheek van derden wilt gebruiken of een audiodriver zoals FFmpeg of SoundFile wilt installeren.

De code zou er als volgt uit moeten zien:

import torch
torch._dynamo.config.cache_size_limit = 64
torch._dynamo.config.suppress_errors = True
torch.set_float32_matmul_precision('high')


from ChatTTS import ChatTTS
from IPython.display import Audio

ChatTTS initialiseren

Deze stap omvat het initiëren van het model met behulp van de ‘chat’ als een instantie in de klasse. Laad vervolgens de vooraf getrainde ChatTTS-gegevens.

chat = ChatTTS.Chat()

# Use force_redownload=True if the weights updated.
chat.load_models(force_redownload=True)

# Alternatively, if you downloaded the weights manually, set source="locals" and local_path will point to your directory.

# chat.load_models(source="local", local_path="YOUR LOCAL PATH")

Batch-inferentie met ChatTTS

texts = ("So we found being competitive and collaborative was a huge way of staying motivated towards our goals, so one person to call when you fall off, one person who gets you back on then one person to actually do the activity with.",)*3 \
       + ("我觉得像我们这些写程序的人,他,我觉得多多少少可能会对开源有一种情怀在吧我觉得开源是一个很好的形式。现在其实最先进的技术掌握在一些公司的手里的话,就他们并不会轻易的开放给所有的人用。")*3


wavs = chat.infer(texts)

Dit model voert batch-inferentie uit door een lijst met tekst te verstrekken. De ‘audio’-functie in IPython kan u helpen de gegenereerde audio af te spelen.

Audio(wavs(0), rate=24_000, autoplay=True)
Audio(wavs(3), rate=24_000, autoplay=True)
wav = chat.infer('四川美食可多了,有麻辣火锅、宫保鸡丁、麻婆豆腐、担担面、回锅肉、夫妻肺片等,每样都让人垂涎三尺。', \
   params_refine_text=params_refine_text, params_infer_code=params_infer_code)

Dit laat zien hoe de parameters voor snelheid, variabiliteit en specifieke spraakkenmerken worden gedefinieerd.

Audio(wav(0), rate=24_000, autoplay=True)

Willekeurige luidsprekers gebruiken

Dit concept is een andere geweldige aanpassingsfunctie die dit model toestaat. Het samplen van een willekeurige spreker om audio te genereren met ChatTTS is naadloos, en de sample random speaker embedding maakt het ook mogelijk.

U kunt de gegenereerde audio beluisteren met behulp van een ipynb-bestand of opslaan als een .wav-bestand met behulp van een bibliotheek van derden.

rand_spk = chat.sample_random_speaker()
params_infer_code = {'spk_emb' : rand_spk, }


wav = chat.infer('四川美食确实以辣闻名,但也有不辣的选择。比如甜水面、赖汤圆、蛋烘糕、叶儿粑等,这些小吃口味温和,甜而不腻,也很受欢迎。', \
   params_refine_text=params_refine_text, params_infer_code=params_infer_code)

Hoe u twee-fasenbesturing uitvoert met ChatTTS

Met de tweetrapsregeling kunt u tekstverfijning en audiogeneratie afzonderlijk uitvoeren. Dit is mogelijk met de parameters ‘refine_text_only’ en ‘skip_refine_text’.

U kunt de twee-fase controle in ChatTTS gebruiken om tekst- en audiogeneratie te verfijnen. Deze verfijning kan ook afzonderlijk worden gedaan met enkele unieke parameters in het onderstaande codeblok:

text = "So we found being competitive and collaborative was a huge way of staying motivated towards our goals, so one person to call when you fall off, one person who gets you back on then one person to actually do the activity with."

refined_text = chat.infer(text, refine_text_only=True)
refined_text
wav = chat.infer(refined_text)
Audio(wav(0), rate=24_000, autoplay=True)

Dit is de tweede fase die de pauzes en onderbrekingen in de spraak tijdens het genereren van audio aangeeft.

text="so we found being competitive and collaborative (uv_break) was a huge way of staying (uv_break) motivated towards our goals, (uv_break) so (uv_break) one person to call (uv_break) when you fall off, (uv_break) one person who (uv_break) gets you back (uv_break) on then (uv_break) one person (uv_break) to actually do the activity with."
wav = chat.infer(text, skip_refine_text=True)
Audio(wav(0), rate=24_000, autoplay=True)

ChatTTS integreren met LLM’s

De integratie van ChatTTS met LLM’s betekent dat het tekst kan verfijnen en audio kan genereren van gebruikersvragen in deze modellen. Hier zijn een paar stappen om dit proces op te splitsen.

Noodzakelijke module importeren

 from ChatTTS.experimental.llm import llm_api

Deze functie importeert de ‘llm_api’ die is gebruikt om de API-client te maken. Vervolgens gebruiken we Deepseek om de API te maken. Deze API helpt om naadloze interacties in tekstgebaseerde applicaties te vergemakkelijken. We kunnen de API ophalen van Deepseek API. Kies de optie ‘Access API’ op de pagina, meld u aan voor een account en u kunt een nieuwe sleutel maken.

API-client maken

 API_KEY = ''
client = llm_api(api_key=API_KEY,
       base_url="https://api.deepseek.com",
       model="deepseek-chat")


 user_question = '四川有哪些好吃的美食呢?'
text = client.call(user_question, prompt_version = 'deepseek')
print(text)
text = client.call(text, prompt_version = 'deepseek_TN')
print(text)

U kunt vervolgens de audio genereren met behulp van de gegenereerde tekst. Hier is hoe u de audio toevoegt;

params_infer_code = {'spk_emb' : rand_spk, 'temperature':.3}
wav = chat.infer(text, params_infer_code=params_infer_code)

Toepassing van ChatTTS

Een spraakgeneratietool die tekst omzet in audio zal vandaag de dag waardevol zijn. De golf van AI-chatbots, virtuele assistenten en de integratie van geautomatiseerde stemmen in veel branches maakt ChatTTS een enorme deal. Hier zijn enkele van de real-life toepassingen van dit model.

  • Audioversies van tekstgebaseerde inhoud maken: Of het nu gaat om onderzoekspapers of academische artikelen, ChatTTS kan tekstinhoud efficiënt omzetten in audio. Deze alternatieve manier van het consumeren van materialen kan helpen bij een directere vorm van leren.
  • Spraakgeneratie voor virtuele assistenten en chatbots: Virtuele assistenten en chatbots zijn tegenwoordig erg populair geworden en geautomatiseerde systeemintegratie heeft hierbij geholpen. ChatTTS kan helpen bij het genereren van spraak op basis van tekst van deze virtuele assistenten.
  • Verkenning van tekst-naar-spraaktechnologie: Er zijn verschillende manieren om dit model te verkennen, waarvan sommige al in de ChatTTS-community worden toegepast. Een cruciale toepassing in dit opzicht is het bestuderen van spraaksynthese door dit model voor onderzoeksdoeleinden.
ChatTTS tekst-naar-spraak voor chat

Conclusie

ChatTTS geeft een enorme sprong in AI-generatie aan, met natuurlijke en vloeiende gesprekken in zowel Engels als Chinees. Het beste deel van dit model is de controleerbaarheid, waardoor gebruikers de spraak kunnen aanpassen en daardoor expressiviteit kunnen toevoegen. Naarmate de ChatTTS-community dit model blijft ontwikkelen en verfijnen, is het potentieel voor het verbeteren van tekst-naar-spraaktechnologie groot.

Belangrijkste punten

  • ChatTTS blinkt uit in het genereren van natuurlijke en expressieve gesproken dialogen.
  • Het model maakt nauwkeurige controle over spraakpatronen en -kenmerken mogelijk.
  • ChatTTS ondersteunt naadloze integratie met grote taalmodellen voor verbeterde functionaliteit.
  • Het model omvat mechanismen om een ​​verantwoord en veilig gebruik van tekst-naar-spraaktechnologie te garanderen.
  • Doorlopende bijdragen van de gemeenschap en toekomstige verbeteringen beloven verdere vooruitgang en veelzijdigheid.
  • Het team achter dit open-sourcemodel geeft ook prioriteit aan veiligheid en ethische overwegingen. Functies zoals hoogfrequente ruis en gecomprimeerde audiokwaliteit bieden betrouwbaarheid en controle.
  • Deze tool is ook geweldig omdat het aanpassingsmogelijkheden biedt waarmee gebruikers de uitvoer nauwkeurig kunnen afstemmen met parameters die pauzes, gelach en andere mondelinge kenmerken in de spraak introduceren.

Bronnen

Veelgestelde vragen

Vraag 1. Hoe kunnen ontwikkelaars dit model integreren in hun applicaties?

A. Ontwikkelaars kunnen chatTTS integreren in hun applicaties met behulp van API’s en SDK’s.

Vraag 2. Welke talen ondersteunt ChatTTS voor tekst-naar-spraakconversie?

A. Met meer dan 100.000 uur aan datatraining kan dit model efficiënt taken uitvoeren op het gebied van spraakgeneratie in het Engels en Chinees.

V3. Is ChatTTS geschikt voor commercieel gebruik?

A. Nee, ChatTTS is alleen bedoeld voor onderzoek en academische toepassingen. Het mag niet worden gebruikt voor commerciële of juridische doeleinden. De ontwikkeling van het model omvat ethische overwegingen om veilig en verantwoord gebruik te garanderen.

Vraag 4. Waarvoor kan ChatTTS gebruikt worden?

A. Dit model is waardevol in verschillende toepassingen. Een van de meest prominente toepassingen is een conversatietool voor assistenten van grote taalmodellen. ChatTTS kan dialoogspraak genereren voor video-introducties, educatieve trainingen en andere toepassingen die tekst-naar-spraak-inhoud vereisen.

De media die in dit artikel worden getoond, zijn geen eigendom van Analytics Vidhya en worden gebruikt naar eigen goeddunken van de auteur.