Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
Speech.Speak
Speaks text.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
Speech | 6.3 | ✅ Yes | ✅ Yes | ❌ No | ❌ No | ✅ Yes |
(old name: Text.Speak)
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
Text | The text to speak | "Hello World" | |
Voice | The voice to use. Can be empty to use default voice. On macOS and iOS, this is identifier, not name. |
"Agnes" | Optional |
Wait | Whether to wait for completion. Pass 1 to wait or 0 to speak while your script continues. Default is 0. |
1 | Optional |
Volume | 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 | Optional |
Rate | 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 | Optional |
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.
You can use Speech.IsSpeaking to check if asynchronously speaking is in use.
Examples
Say Hello
MBS( "Speech.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( "Speech.Speak"; $i; ""; 1)]
Commit Records/Requests []
Exit Loop If [$i > 100]
End Loop
Speak with Windows voice:
MBS( "Speech.Speak"; "Hello World"; "Microsoft Hedda Desktop - German"; 1)
Speak with half volume:
MBS( "Speech.Speak"; "Hallo Leute"; ""; 0; 0,5 )
Using embedded text commands on Mac:
# literal speaking
MBS( "Speech.Speak"; "Hello [[char LTRL]] cat [[char NORM]] cat."; ""; 1)
# use emphasis:
MBS( "Speech.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
Release notes
- Version 11.0
- Fixed rate parameter for Speech.Speak function for macOS.
- Version 8.3
- Fixed Text.Speak to properly stop on Windows if called with no text.
- Renamed Text.Speak functions to Speech functions.
Example Databases
Blog Entries
- MBS Plugin Advent calendar: 4 - Speech
- Teach your solution to talk
- MBS FileMaker Plugin, version 11.0pr5
- MBS FileMaker Plugin, version 8.3pr6
- MBS FileMaker Plugin, version 8.3pr5
- MBS FileMaker Plugin, version 7.5pr3
- MBS FileMaker Plugin, version 7.3pr1
- MBS FileMaker Plugin 7.2
- MBS FileMaker Plugin, version 7.2pr3
- MBS FileMaker Plugin 6.3 for OS X/Windows
FileMaker Magazin
This function checks for a license.
Created 30th May 2016, last changed 28th December 2020