Skip to content

Godot UI freezes while generating speech #75441

Open
@nightblade9

Description

@nightblade9

Godot version

4.0.0 official binaries, .NET flavour.

System information

Manjaro (Arch) with KDE Plasma; GPU = NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile] (rev a1)

Issue description

When generating speech via DisplayServer.tts_speak, on my Linux box, there's roughly a two-second pause (irrespective of audio length) while the system libraries do their thing. During this time, the Godot UI is completely frozen.

As I would like to allow users to rapidly move from, say, menu button to menu button, I really need:

  • The TTS not to freeze the Godot UI
  • .stop() immediately stopping, even if it's during this two-second period.

I tried work-around (e.g. running this in a Thread.new()) but it seems to have no effect.

Steps to reproduce

  • Create a button that calls DisplayServer.tts_speak with a message (maybe longer is better for testing) on press
  • Update things in _process like a label with the current time
  • Add extra controls you can click on
  • Click the button and try to do anything. You can't.

Minimal reproduction project

Not necessary, as this is trivially reproducible.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions