Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server (Not)   Client   Old   Guides
New in version: 5.4   6.0   6.1   6.2   6.3   6.4   6.5   7.0   7.1   7.2    Statistic  

Text.Speak

Speaks text.

Component: Text
Version: 6.3
Mac OS X: Yes
Windows: Yes
Server: No
FileMaker Cloud: No

MBS( "Text.Speak"; Text { ; Voice; Wait; Volume; Rate } )

Parameters

Parameter Description Example value
Text The text to speak "Hello World"
Voice Optional
The voice to use.
Can be empty to use default voice.
"Agnes"
Wait Optional
Whether to wait for completion.
Pass 1 to wait or 0 to speak while your script continues.
Default is 0.
1
Volume Optional
Available in MBS FileMaker Plugin 7.2 or newer.
The volume to use.
Default is full volume.
Range from 0.0 (silent) to 1.0 (full).
1.0
Rate Optional
Available in MBS FileMaker Plugin 7.2 or newer.
The speak rate.
Default 1.0 for normal speed.
Range from 0.0 to 2.0.
2.0 would be double speed while 0.5 is half speed.
If the voice doesn’t support rate, you hear no difference!
1.0

Result

Returns OK or error.

Description

Speaks text.
This is a function doing similar work as the speak script step in FileMaker.

If called with empty text, you can pass voice to test if voice exists. You get back OK if voice exists or an error if not.
If called without text, you stop existing speech.

Due to a bug in FM 13/14/15, the speak script step may freeze. This function is a suitable workaround until FileMaker fixes the issue.

Examples

Say Hello

MBS( "Text.Speak"; "Hello World")

Count to 100:

Set Variable [$i; Value:0]
Loop
    Set Variable [$i; Value:$i + 1]
    Set Field [Speak Test::Counter; $i]
    Set Variable [$r; Value:MBS( "Text.Speak"; $i; ""; 1)]
    Commit Records/Requests []
    Exit Loop If [$i > 100]
End Loop

Speak with Windows voice:

MBS( "Text.Speak"; "Hello World"; "Microsoft Hedda Desktop - German"; 1)

Speak with half volume:

MBS( "Text.Speak"; "Hallo Leute"; ""; 0; 0,5 )

Using embedded text commands on Mac:

# literal speaking
MBS( "Text.Speak"; "Hello [[char LTRL]] cat [[char NORM]] cat."; ""; 1)
# use emphasis:
MBS( "Text.Speak"; "Do [[emph +]] not [[emph -]] over tighten the screw.")

# see
# https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/SpeechSynthesisProgrammingGuide/FineTuning/FineTuning.html

See also


Text.SoundExGerman   -   Text.Speak.AvailableVoices

Feedback: Report problem or ask question.




Links
MBS Realbasic tutorial videos - Nachhilfe in Mendig