-
Notifications
You must be signed in to change notification settings - Fork 525
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
Comments
This would be incredibly useful. Any thoughts on when/whether this is in train? |
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. |
@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. |
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. |
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. |
This is excellent news! I've been creating some form of emphasis by adding a slight bit of time to the --length_scale and --sentence_silence parameters, but pauses and say-as are very welcome additions!!! Thanks!
|
@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, |
Hey @synesthesiam! Looking forward to SSML support, specially to solve #401 |
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. |
@synesthesiam - That progress sounds fabulous - thank you so much. |
@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. |
Much can be done post synthesis, yes, unless the synthesis needs to output real time in a responsive or conversational system (such as a robot running some type of LLM to engage with people on its environment.) This is why I'm really looking forward to SSML support in Piper.
…________________________________
From: andrewfr ***@***.***>
Sent: Tuesday, August 20, 2024 11:47:33 PM
To: rhasspy/piper ***@***.***>
Cc: xanatos xanatos.com ***@***.***>; Comment ***@***.***>
Subject: Re: [rhasspy/piper] SSML Support? (Issue #275)
@synesthesiam<https://github.com/synesthesiam> @nitinthewiz<https://github.com/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 done some post synthesis stage.
—
Reply to this email directly, view it on GitHub<#275 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AGLWB6CEFCJ2FKTTH255AA3ZSQEVLAVCNFSM6AAAAAA7RMC5CGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBQGYZTOMRWG4>.
You are receiving this because you commented.Message ID: ***@***.***>
|
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!
The text was updated successfully, but these errors were encountered: