Speak: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
Line 32: Line 32:
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.
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 ====
=== Windows 10 ===


Not supported, but it is under consideration.
Not supported, but it is under consideration.
Line 39: Line 39:


<pre>
<pre>
Rem Abs Example
Rem Speak Example
'Abs returns the absolute value of a number.
  Speak("Hello World!")
Print "Abs(-2) = " & Abs(-2)
</pre>
Print "Abs(2) = " & Abs(2)
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>
</pre>


Line 48: Line 58:


<pre>
<pre>
//Abs Example
// Speak Example
//Abs returns the absolute value of a number.
  Speak("Hello World!");
NSB.Print("Abs(-2) = " + Math.abs(-2));
</pre>
NSB.Print("Abs(2) = " + Math.abs(2));
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>
</pre>


== Output ==
== Output ==


<pre>
(no output - plays through device speaker)
Abs(-2) = 2
Abs(2) = 2
</pre>


== Related Items ==
== Related Items ==
[[sgn|Sgn]]


[[Category:Language Reference]]
[[Category:Language Reference]]


[[Category:Math]]
[[Category:Messages]]

Revision as of 18:02, 18 October 2015

Speak(text[,voice)

Description

The Speak function takes the text and reads it 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.
NSB.speech.rate The speed of the voice. A value from 0 to 10. Default is 1.
NSB.speech.volume The loudness of the voice. A value from 0 to 1. Default is 1.

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 SpeedSynthesis sample.

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 (BASIC)

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

Example (JavaScript)

// 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;

Output

(no output - plays through device speaker)

Related Items