I think that might depend on the voice engine. I'm using Ivona, and a comma does insert a brief pause.
Scott M.
--
You received this message because you are subscribed to the Google Groups "Tasker" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tasker+un...@googlegroups.com.
Visit this group at http://groups.google.com/group/tasker.
For more options, visit https://groups.google.com/d/optout.
2nd for Ivonna. There's pauses and, i think, inflection for punctuation.
--
I am using this via tasker. I would very much like there to be a built in syntax for TTS to be able to take half a second, or even a second before continuing the next peice of text. This should surely be there.
--
You received this message because you are subscribed to a topic in the Google Groups "Tasker" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tasker/SfInbg0sx7k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tasker+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/tasker.
For instance I found the question answered but for Apple TTS where [[slnc 5000]] is a 5 second pause.The natural pauses are fine as they are but I was hoping for the ability to specify a custom pause length where needed by some method.You can change the pitch and speed.I'm not sure how I would use that in the Tasker action Say.You supply it with the text to say and the engine to use.
On 1 March 2018 at 15:11, Jeremy Harris <jharr...@gmail.com> wrote:
Acapela allows you to adjust the "natural" pauses shorter or longer if you wish. As well, the overall speed of the speech itself.
On Mar 1, 2018 6:43 AM, "Rob Fisk" <rob....@gmail.com> wrote:
Both the Google and Samsung engines do add breif pauses for commas and full stopps but you can't increase that time by increasing the number of them.I was hoping someone knew of some trick I had been unable to find to add longer pauses or even specify by milliseconds.
On 1 March 2018 at 10:50, Pent <crafty...@gmail.com> wrote:
I am using this via tasker. I would very much like there to be a built in syntax for TTS to be able to take half a second, or even a second before continuing the next peice of text. This should surely be there.It depends on the speech engine. I would think any decent engine would insert a pause when it sees a , for instance, and
a longer one for full-stop.
Pent
--
You received this message because you are subscribed to a topic in the Google Groups "Tasker" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tasker/SfInbg0sx7k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tasker+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/tasker.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Tasker" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tasker/SfInbg0sx7k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tasker+un...@googlegroups.com.
Visit this group at https://groups.google.com/group/tasker.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Tasker" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tasker/SfInbg0sx7k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tasker+un...@googlegroups.com.
At one time I needed a way to manually pause Say actions, by way of a pause button scene or on an incoming call event. I created a solution that worked for me, but it's quite complex. I can share it if you like, but im not sure it would work for you....it's intended to interrupt and resume very long Say "actions" (or in my case I parsed into smaller bits and looped them individually into the Say action).
--
You received this message because you are subscribed to a topic in the Google Groups "Tasker" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tasker/SfInbg0sx7k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tasker+unsubscribe@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to tasker+un...@googlegroups.com.
SPEECH Task Pauser (101)
A1: Say [ Text:%par1 Engine:Voice:default:default Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off Continue Task After Error:On ]
A2: If [ %PACTIVE ~ *,In Call,* ]
A3: Wait Until [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] If [ %PACTIVE !~ *,In Call,* ]
A4: Goto [ Type:Action Number Number:1 Label: ]
A5: Else If [ %PACTIVE ~ *,Pause Button,* ]
A6: Wait Until [ MS:0 Seconds:1 Minutes:0 Hours:0 Days:0 ] If [ %PACTIVE !~ *,Pause Button,* ]
A7: Goto [ Type:Action Number Number:1 Label: ]
A8: End If
I have a separate profile to detect if the phone is Off Hook, linked to a dummy task (one action that labels an anchor). If that profile becomes active, it will finish the Say action and Wait Until the profile becomes inactive....then it will repeat the last Say action and return to the parent to grab the next sentence.
Likewise, I have made a scene with a buy-in that toggles a global variable so I can manually pause. It does the same thing, except it will Wait Until the global variable toggles back to play.
And the parent task basically replaces all Say actions with a Perform Task [SPEECH Task Pauser].
Say Morning Call (39)
A1: [X] AutoVoice Continuous [ Configuration:
Stopping continuous voice recognition Timeout (Seconds):0 ]
A2: Media Volume [ Level:15 Display:Off Sound:Off ]
A3: HTTP Get [ Server:Port:http://www.mcall.com/news/breaking/ Path: Attributes: Cookies: User Agent: Timeout:10 Mime Type: Output File: Trust Any Certificate:Off ]
A4: Variable Set [ Name:%mcbreakingnews To:%HTTPD Recurse Variables:Off Do Maths:Off Append:Off ]
A5: Variable Split [ Name:%mcbreakingnews Splitter:class="trb_outfit_relatedListTitle_a"> Delete Base:Off ]
A6: Variable Set [ Name:%last To:%mcbreakingnews(#) Recurse Variables:Off Do Maths:Off Append:Off ]
A7: Array Pop [ Variable Array:%mcbreakingnews Position:%last To Var: ]
A8: Array Pop [ Variable Array:%mcbreakingnews Position:1 To Var: ]
A9: Say [ Text:Here are the latest news stories from the Morning Call. Engine:Voice:default:default Stream:3 Pitch:5 Speed:5 Respect Audio Focus:On Network:Off Continue Task Immediately:Off ]
A10: Show Scene [ Name:Speech Pauser Display As:Overlay, Blocking Horizontal Position:184 Vertical Position:100 Animation:System Show Exit Button:Off Show Over Keyguard:On Continue Task Immediately:On ]
A11: If [ %par1 Set ]
A12: For [ Variable:%newsevent Items:%mcbreakingnews(1:8) ]
A13: Variable Search Replace [ Variable:%newsevent Search:class="trb_outfit_group_list_item_brief" Ignore Case:Off Multi-Line:Off One Match Only:Off Store Matches In:%matched Replace Matches:Off Replace With: ]
A14: If [ %matched1 Set ]
A15: Variable Split [ Name:%newsevent Splitter:class="trb_outfit_group_list_item_brief" Delete Base:Off ]
A16: Variable Split [ Name:%newsevent1 Splitter:</a> Delete Base:Off ]
A17: Variable Set [ Name:%eventtitle To:%newsevent11 Recurse Variables:Off Do Maths:Off Append:Off ]
A18: Variable Split [ Name:%newsevent2 Splitter:</p Delete Base:Off ]
A19: Variable Split [ Name:%newsevent21 Splitter:> Delete Base:Off ]
A20: Variable Set [ Name:%eventstory To:%newsevent212 Recurse Variables:Off Do Maths:Off Append:Off ]
A21: Perform Task [ Name:SPEECH Task Pauser Priority:%priority + 1 Parameter 1 (%par1):%eventtitle. Here's the story. %eventstory. Parameter 2 (%par2): Return Value Variable: Stop:Off ]
A22: End If
A23: End For
A24: Else
A25: For [ Variable:%newsevent Items:%mcbreakingnews() ]
A26: Variable Search Replace [ Variable:%newsevent Search:class="trb_outfit_group_list_item_brief" Ignore Case:Off Multi-Line:Off One Match Only:Off Store Matches In:%matched Replace Matches:Off Replace With: ]
A27: If [ %matched1 Set ]
A28: Variable Split [ Name:%newsevent Splitter:class="trb_outfit_group_list_item_brief" Delete Base:Off ]
A29: Variable Split [ Name:%newsevent1 Splitter:</a> Delete Base:Off ]
A30: Variable Set [ Name:%eventtitle To:%newsevent11 Recurse Variables:Off Do Maths:Off Append:Off ]
A31: Variable Split [ Name:%newsevent2 Splitter:</p Delete Base:Off ]
A32: Variable Split [ Name:%newsevent21 Splitter:> Delete Base:Off ]
A33: Variable Set [ Name:%eventstory To:%newsevent212 Recurse Variables:Off Do Maths:Off Append:Off ]
A34: Perform Task [ Name:SPEECH Task Pauser Priority:%priority + 1 Parameter 1 (%par1):%eventtitle. Here's the story. %eventstory. Parameter 2 (%par2): Return Value Variable: Stop:Off ]
A35: End If
A36: End For
A37: End If
A38: Destroy Scene [ Name:Speech Pauser ]
A39: [X] AutoVoice Continuous [ Configuration:
Starting continuous voice recognition without headset
Persistent Notification: true Timeout (Seconds):0 ] If [ %par1 !~ true ]
So, in the parent task, I'm parsing the data I want into an array, and looping through the elements (maybe a sentence in each element)...calling the sub task SPEECH Task Pauser at each iteration instead of a Say action. The sub task has to have a greater priority, so I set it to %priority+1 but IIRC Pent may have made that default....I made this several years ago.
Sorry....the pause button toggles a profile on/off.... not a global variable.... both approaches should work though.