---
title: "SharpTalkTTS - s&box library"
description: "a formant TTS engine"
canonical: "https://sbox.watch/libraries/bytesizedfox/sharptalktts/"
generated_at: "2026-07-22T23:16:23.455Z"
---

# SharpTalkTTS

a formant TTS engine

- Type: library
- Ident: bytesizedfox.sharptalktts
- Creator: bytesizedfox
- Canonical: https://sbox.watch/libraries/bytesizedfox/sharptalktts/
- Markdown: https://sbox.watch/libraries/bytesizedfox/sharptalktts.md
- sbox.game: https://sbox.game/bytesizedfox/sharptalktts/
- Generated: 2026-07-22T23:16:23.455Z

## Stats

- 24h momentum: +0
- Terry score: 53%
- Favorites: 4
- Upvotes: 3
- Downvotes: 0
- Updated: May 13, 2026
- Created: Apr 29, 2026
- Size: 2.5 MB
- Files: 42
- Tags: wip

## Description

Getting Started:
to get started, install the library and begin with this template
(note, in my testing, i had to restart the editor before it worked, so if it breaks please try that before reporting a bug)
template code:
Add a SharpTalkSpeaker component to any GameObject in the editor, then speak from code:
public sealed class MyComponent : Component
{
 \[Property\] SharpTalkSpeaker Speaker { get; set; }

 protected override void OnStart()
 {
 \_ = Speaker.Speak( "Hello, world!" );
 }
}Runtime Voice Switching:
Speaker.SetVoice( VoiceData.WhisperVoice );
\_ = Speaker.Speak( "This is a whisper." );

Speaker.SetVoice( VoiceData.BaselineVoice );
\_ = Speaker.Speak( "Back to normal." );Lipsync:
OnPhoneme fires on the main thread as each phoneme begins playing, giving you a timeline to drive blend shapes, jaw bones, or any other animation:

Speaker.OnPhoneme += e =>
{
 Log.Info( $"Phoneme {e.Phoneme} at {e.TimeSeconds:F3}s" );
 // Drive a blend shape, animate a jaw bone, etc.
};
\_ = Speaker.Speak( "Watch my mouth move." );


