Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSML Support? #275

Open
duplaja opened this issue Nov 19, 2023 · 12 comments
Open

SSML Support? #275

duplaja opened this issue Nov 19, 2023 · 12 comments

Comments

@duplaja
Copy link

duplaja commented Nov 19, 2023

I apologize if I missed this somewhere in the documentation, but does the python install support SSML? I'm converting some of my old scripts over from Mimic3, and didn't see any flag like Mimic3's --ssml.

Alternatively, what's the best way to add a break between paragraphs, if SSML is not supported?

Thank you!

@nptrainor
Copy link

This would be incredibly useful.

Any thoughts on when/whether this is in train?

@synesthesiam
Copy link
Contributor

This is planned, but I haven't made any progress yet. Adding pauses and changing the playback speed is easy, but switching voices will require more changes.

@DaveXanatos
Copy link

@synesthesiam Another vote for SSML here. I'm especially interested in emphasizing some words/phrases. FWIW I wrote a script that allows embedding of a voice name in the speech text string that will switch the voice. I am happy to share that if there's interest. My plan is to have a "Speech Center" up and running on ZeroMQ (or any messaging thing like MQTT, Rabbit, etc) and different scripts would be able to send text to be spoken, with embedded voice commands, to the speech center via messaging. So far - these voices are AWESOME and the script I'm using makes them incredibly simple to switch between. Thank you for making all these available.

@fantnhu
Copy link

fantnhu commented May 20, 2024

That would be great :) I've been looking forward to SSML and other supplements for a long time. I don't want to use any other TTS because I am satisfied.
The SSMl, pause hold and custom tags would improve the experience a lot: [laughter], [laughs], [sighs]... like in Bark TTS. If you can first solve the pause with similar parameters, that would be great, e.g. [wait=2s]
Thanks for your work!

@synesthesiam
Copy link
Contributor

I'm finally making some progress on SSML. The next version of Piper should support breaks (pauses), word/phoneme substitutions, and some say-as forms (number, date, etc.).

I can't do laughter and sighs, unfortunately. Those would have had to be present in the original datasets.

@DaveXanatos
Copy link

DaveXanatos commented May 23, 2024 via email

@andrewfr
Copy link

andrewfr commented Jun 16, 2024

@synesthesiam I'm using Piper and think it is great! I too, am interested in SSM. I admit I know next to nothing about speech synthesis. I am having problems finding references on implementing SSML. Would it help to start by training a voice? Or would it be more feasible to apply a SSML feature to the audio stream? Closely connected, is how to implement "speech marks" - when a word starts and finishes in the audio.

Thanks,
Andrew

@nitinthewiz
Copy link

Hey @synesthesiam! Looking forward to SSML support, specially to solve #401
I was trying to get lessac high to say "COVID-19" properly, but to no avail. I reckon only SSML or IPA will make it say such things correctly.

@andrewfr
Copy link

andrewfr commented Jun 18, 2024

Hi @nitinthewiz @synesthesiam I am a newbie to all this. I have looked at #401. This may turn out to be a long shot. I am starting to learn Praat. Praat is used by linguists to study speech. Using Praat, if I can modify Piper's output to match what a SSML tag would do, that could be a start.

@nptrainor
Copy link

@synesthesiam - That progress sounds fabulous - thank you so much.
It would be wonderful to change voices too. I am enjoying writing my own novels (stories to you and me) and using Piper to read them back to me. It is such a great help for editing etc, and having different voices for different characters would be superb.

@andrewfr
Copy link

andrewfr commented Aug 21, 2024

@synesthesiam @nitinthewiz I am not sure if this helps. I started to play with pyDub. I needed to insert some silence to act as a break. I played with pyDub to alter an audio stream's pitch and volume. It is really dawning on me that a lot of SSML, provided one works on a sentence level, can be done in some post synthesis stage.

@DaveXanatos
Copy link

DaveXanatos commented Aug 21, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants