Speak: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
 
Line 36: Line 36:
Not supported, but it is under consideration.
Not supported, but it is under consideration.


== Example (BASIC) ==
== Example ==


<pre>
<tabber>
Rem Speak Example
JavaScript=
Speak("Hello World!")
<syntaxhighlight lang="JavaScript">
</pre>
Set volume to quiet:
<pre>
NSB.speech.volume = .2
Speak("Hello World")
NSB.speech.volume = 1
</pre>
Read in German:
<pre>
NSB.speech.lang = "de-DE"
Speak(Button3.text, "Google Deutsch")
NSB.speech.lang = navigator.language
</pre>
Use a different voice:
<pre>
Dim voice
If InStr(navigator.vendor,"Apple") Then voice = "Alex"
If InStr(navigator.vendor,"Google") Then voice = "Google UK English Male"
Speak("Hello World", voice)
</pre>
 
== Example (JavaScript) ==
 
<pre>
// Speak Example
// Speak Example
Speak("Hello World!");
Speak("Hello World!");
</pre>
 
Set volume to quiet:
// Set volume to quiet:
<pre>
NSB.speech.volume = .2;
NSB.speech.volume = .2;
Speak("Hello World");
Speak("Hello World");
NSB.speech.volume = 1;
NSB.speech.volume = 1;
</pre>
 
Read in German:
// Read in German:
<pre>
NSB.speech.lang = "de-DE";
NSB.speech.lang = "de-DE";
Speak(Button3.text, "Google Deutsch");
Speak(Button3.text, "Google Deutsch");
NSB.speech.lang = navigator.language;
NSB.speech.lang = navigator.language;
</pre>
 
Use a different voice:
// Use a different voice:
<pre>
 
var voice;
var voice;
if (InStr(navigator.vendor, "Apple")) {
if (InStr(navigator.vendor, "Apple")) {
Line 89: Line 63:
   voice = "Google UK English Male";
   voice = "Google UK English Male";
}
}
Speak("Hello World", voice);
Speak("Hello World", voice);</syntaxhighlight>
</pre>
|-|
BASIC=
<syntaxhighlight lang="vb.net">
Rem Speak Example
Speak("Hello World!")
 
' Set volume to quiet:
NSB.speech.volume = .2
Speak("Hello World")
NSB.speech.volume = 1
 
' Read in German:
NSB.speech.lang = "de-DE"
Speak(Button3.text, "Google Deutsch")
NSB.speech.lang = navigator.language
 
' Use a different voice:
Dim voice
If InStr(navigator.vendor,"Apple") Then voice = "Alex"
If InStr(navigator.vendor,"Google") Then voice = "Google UK English Male"
Speak("Hello World", voice)
 
</syntaxhighlight>
</tabber>


== Output ==
== Output ==

Latest revision as of 23:16, 24 July 2019

Speak(text[,voice)

Description

The Speak function reads the text and out loud. It uses the default browser voice, unless a different voice is specified.

The sound of a voice can be modified by setting the following global variables:

NSB.speech.lang The language code. Examples are en-US, de-DE, ar-SA.
NSB.speech.pitch The pitch of the voice. A value between 0 and 2. Default is 1. Fractions are allowed.
NSB.speech.rate The speed of the voice. A value from 0 to 10. Default is 1. Fractions are allowed.
NSB.speech.volume The loudness of the voice. A value from 0 to 1. Default is 1. Fractions are allowed.

Not all combinations of pitch, rate and volume are available for all voices.

To see the list of voices for a particular device, use the SpeedSynthesisAPI sample. You can also check the NSB.voices global variable.

There are differences in implementation between different browsers and operating systems. In particular, each OS has a different list of voices.

Safari/iOS

Support is excellent. Mac OS and iOS have about 83 different voices. Most languages are supported, including Arabic.

Chrome/Android

Support is good. There are about 20 voices. Note that the names of the voices are not the same as in Safari, so different voice names are needed. No Arabic support.

Windows 10

Not supported, but it is under consideration.

Example

// Speak Example
Speak("Hello World!");

// Set volume to quiet:
NSB.speech.volume = .2;
Speak("Hello World");
NSB.speech.volume = 1;

// Read in German:
NSB.speech.lang = "de-DE";
Speak(Button3.text, "Google Deutsch");
NSB.speech.lang = navigator.language;

// Use a different voice:

var voice;
if (InStr(navigator.vendor, "Apple")) {
  voice = "Alex";
}
if (InStr(navigator.vendor, "Google")) {
  voice = "Google UK English Male";
}
Speak("Hello World", voice);

Rem Speak Example
Speak("Hello World!")

' Set volume to quiet:
NSB.speech.volume = .2
Speak("Hello World")
NSB.speech.volume = 1

' Read in German:
NSB.speech.lang = "de-DE"
Speak(Button3.text, "Google Deutsch")
NSB.speech.lang = navigator.language

' Use a different voice:
Dim voice
If InStr(navigator.vendor,"Apple") Then voice = "Alex"
If InStr(navigator.vendor,"Google") Then voice = "Google UK English Male"
Speak("Hello World", voice)

Output

(no output - plays through device speaker)

Related Items