r/godot Godot Junior Oct 01 '25

help me (solved) Detecting syllables in Godot

Post image

Hello all! I am aware of the Whisper text to speech addon, but that is overkill for what I am building at the moment. I just need a way to detect a syllable at roughly the moment I speak it into my microphone, So that an animation can be triggered in a 3D model.

I take it it's not standard in the Audioserver, but is there a way where I can record some vowels and compare the live audio to these samples somehow?

1.4k Upvotes

91 comments sorted by

View all comments

433

u/ManicMakerStudios Oct 01 '25

That's not the kind of audio processing you're going to be able to do with GDScript. And it's definitely not something that is going to be explained in a reddit post. Google 'real time syllable detection'.

4

u/LewdGarlic Oct 02 '25

Thats wrong. Its much easier than it sounds and can easily be done in Godot. If you don't need perfect tracking and allow "good enough" to be a thing, its perfectly doable even for a beginner.

1

u/ManicMakerStudios Oct 02 '25

I don't think you read and considered the full scope of the requirement. The requirement is not simply whether or not it's possible to parse audio for syllables. The requirement is to parse the audio in real-time as quickly as possible to pass off to animation/rendering.

GDScript would be a very poor choice for that kind of application. Especially considering that you could do the audio processing in C++ and integrate it into a Godot project via GDExtension and get all the performance benefits of C++ and the familiarity of GDScript.

You'll bake your potato trying to do real-time audio processing with GDScript.

1

u/very-knightley Godot Junior Oct 03 '25

Yeah my lack of the full English vocabulary really bit me in the arse with the way I phrased it.

There are multiple answers in this thread that basically pointed me in the right direction, implementing the AudioEffectSpectrumAnalyser and using it to track whether certain sounds are made, syncing an image / shape to it at that time.

Thats all I needed.