Skip to content

Commit

Permalink
Merge pull request #8728 from nightblade9/master
Browse files Browse the repository at this point in the history
Update TTS page to mention Text to Speech project setting
  • Loading branch information
mhilbrunner authored Jan 8, 2024
2 parents 3488fbd + c09945e commit afc8938
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion tutorials/audio/text_to_speech.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,19 @@ Basic Usage

Basic usage of text-to-speech involves the following one-time steps:

- Enable TTS in the Godot editor for your project
- Query the system for a list of usable voices
- Store the ID of the voice you want to use

Once you have the voice ID, you can use it to speak some text:
By default, the Godot project-level setting for text-to-speech is disabled, to avoid unnecessary overhead. To enable it:

- Go to **Project > Project Settings**
- Make sure the **Advanced Settings** toggle is enabled
- Click on **Audio > General**
- Ensure the **Text to Speech** option is checked
- Restart Godot if prompted to do so.

Text-to-speech uses a specific voice. Depending on the user's system, they might have multiple voices installed. Once you have the voice ID, you can use it to speak some text:

.. tabs::
.. code-tab:: gdscript GDScript
Expand Down Expand Up @@ -72,6 +81,13 @@ Distro-specific one-liners
| | pacman -S speech-dispatcher festival espeakup |
+------------------+-----------------------------------------------------------------------------------------------------------+

Troubleshooting
---------------

If you get the error `Invalid get index '0' (on base: 'PackedStringArray').` for the line `var voice_id = voices[0]`, check if there are any items in `voices`. If not:

- All users: make sure you enabled **Text to Speech** in project settings
- Linux users: ensure you installed the system-specific libraries for text to speech

Best practices
--------------
Expand Down

0 comments on commit afc8938

Please sign in to comment.