KoljaB / RealtimeTTS

Converts text to speech in realtime

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Voice cloning procedure.

BracerJack opened this issue · comments

The front page says:
to clone a voice submit the filename of a wave file containing the source voice as cloning_reference_wav to the CoquiEngine constructor.

This code works, where do I put the cloning_reference_wav? Thanks
if name == 'main':
from RealtimeTTS import TextToAudioStream, CoquiEngine

import logging
logging.basicConfig(level=logging.INFO)    
engine = CoquiEngine(level=logging.INFO)

stream = TextToAudioStream(engine)

print ("Starting to play stream")
stream.feed("Everything is going perfectly")
stream.play() #pause(), resume(), stop()

engine.shutdown()

Ups sorry. I changed the parameter name from "cloning_reference_wav " to "voice" in v0.3.40 - but forget to update it in the front page.

So in your code you'd change:

engine = CoquiEngine(level=logging.INFO)

to

engine = CoquiEngine(level=logging.INFO, voice="example_voicefile.wav")

It works! Thank you!

It is real time and it sound even better than my other local voice model projects, this is awesome.

There is still a little stutter [have to wait a little for the next few words] but it is understandable because it is real time and I am using cpu.

Is there a way to channel the output into a wav file ?

Happy to hear that it works. You can use output_wavfile parameter from the play and play_async methods to write into a file.

And yes, sadly CPU synthesis for coqui XTTS is too slow for realtime.

It works.
The sound quality is SIGNIFICANTLY BETTER than the non Realtime version that I have been using.
Please also use 44100Hz 16bit, the quality pulls through VERY WELL.

Since it is writing to file: stream.play(output_wavfile="Output1.wav"), is there a way to make it not play it out while it is writing to the wav file? The quality is SO GOOD I rather just wait for the wav file to be out.

Thank you for your excellent work.

You can set the muted parameter of the play and play_async methods to true to silently play into a file.

Thank you for your kind words.