Android Question Pause in TTS engine

Discussion in 'Android Questions' started by AlpVir, Jul 5, 2015.

  1. AlpVir

    AlpVir Well-Known Member Licensed User

    You can add pauses in the output of the TTS Engine ?
    For example it would be possible to insert a 1 second pause between the word "first" and "second"?
    Msg = "first second" 
    TTS1.Speak (Msg, 
    With some symbols, such as "/" or "[1000]" or other.
    Msg = "first / second"
    Msg = "first [1000] second"
    Thanks in advance.
  2. Erel

    Erel Administrator Staff Member Licensed User

    There is no simple way to do it. You will need to use a timer to implement a pause.
  3. AlpVir

    AlpVir Well-Known Member Licensed User

    Following the suggestion of Erel I created a sub that seems to do this job: a pause in a sentence.
    For example, "one / two P1000" inserts a pause of 1000 ms between the word "one" and the word "two".
    I used the parameter "False" in the method call speak TTS
    TTS1.Speak (Phrase, False)
    I think it is essential for short sentences and short delays.

    Sub Speak (Msg As String)
    Dim ele()                     As String
    Dim i                        As Int
    Dim S                        As String
    Dim Posiz                    As Int
        ele = 
    Regex.Split(" /P",Msg)
    For i=0 To ele.Length-1
            Posiz=ele(i).IndexOf2 (
    " ",0)
    If Posiz>-1 Then
                S=ele(i).SubString2 (
    If IsNumber(S) Then
    Log ("wait " & S)
                    Sleep (S)
    Log (ele(i) & " " & DateTime.Time (DateTime.Now))
    False )
    Log (ele(i) & " " & DateTime.Time (DateTime.Now))  
    False )
    End If   
    Log (ele(i) & " " & DateTime.Time (DateTime.Now))
    False )      
    End If
    End Sub
    You can also insert a pause between each word.
    Msg.replace(" "" /P500 ")
    Last edited: Jul 6, 2015
    Phayao and Erel like this.
  4. clydebamford

    clydebamford Member Licensed User

    , , , , , , , the more comer spaces the longer the pause
  5. DonManfred

    DonManfred Expert Licensed User

    No need to push such old Threads.The Thread is two years old.