Documentation
¶
Index ¶
- Constants
- func ApplyTextTransforms(text string) string
- func Close(t TTS) error
- func Collect(stream ChunkedStream) (frame *model.AudioFrame, err error)
- func EndSynthesizeStreamInput(stream SynthesizeStream) error
- func FilterEmoji(text string) string
- func FilterMarkdown(text string) string
- func FilterToolCallMarkers(text string) string
- func Model(t TTS) string
- func Prewarm(t TTS)
- func Provider(t TTS) string
- type AvailabilityChangedEvent
- type AvailabilityChangedHandler
- type ChunkedStream
- type DoneStream
- type ErrorEmitter
- type ExceptionStream
- type FallbackAdapter
- func (f *FallbackAdapter) Capabilities() TTSCapabilities
- func (f *FallbackAdapter) Close() error
- func (f *FallbackAdapter) Label() string
- func (f *FallbackAdapter) Model() string
- func (f *FallbackAdapter) NumChannels() int
- func (f *FallbackAdapter) OnAvailabilityChanged(handler AvailabilityChangedHandler) func()
- func (f *FallbackAdapter) OnError(handler TTSErrorHandler) func()
- func (f *FallbackAdapter) OnMetricsCollected(handler TTSMetricsHandler) func()
- func (f *FallbackAdapter) Prewarm()
- func (f *FallbackAdapter) Provider() string
- func (f *FallbackAdapter) SampleRate() int
- func (f *FallbackAdapter) Stream(ctx context.Context) (SynthesizeStream, error)
- func (f *FallbackAdapter) Synthesize(ctx context.Context, text string) (ChunkedStream, error)
- type FallbackAdapterOptions
- type MetricsEmitter
- type SentenceStreamPacer
- type SentenceStreamPacerOptions
- type StreamAdapter
- func (a *StreamAdapter) Capabilities() TTSCapabilities
- func (a *StreamAdapter) Close() error
- func (a *StreamAdapter) Label() string
- func (a *StreamAdapter) Model() string
- func (a *StreamAdapter) NumChannels() int
- func (a *StreamAdapter) OnError(handler TTSErrorHandler) func()
- func (a *StreamAdapter) OnMetricsCollected(handler TTSMetricsHandler) func()
- func (a *StreamAdapter) Prewarm()
- func (a *StreamAdapter) Provider() string
- func (a *StreamAdapter) SampleRate() int
- func (a *StreamAdapter) Stream(ctx context.Context) (SynthesizeStream, error)
- func (a *StreamAdapter) Synthesize(ctx context.Context, text string) (ChunkedStream, error)
- type SynthesizeStream
- type SynthesizedAudio
- type TTS
- type TTSCapabilities
- type TTSError
- type TTSErrorHandler
- type TTSMetricsHandler
- type TextReplaceBuffer
- type TextTransformBuffer
- type TimedString
Constants ¶
View Source
const TTSErrorType = "tts_error"
Variables ¶
This section is empty.
Functions ¶
func ApplyTextTransforms ¶
func Collect ¶ added in v0.0.15
func Collect(stream ChunkedStream) (frame *model.AudioFrame, err error)
func EndSynthesizeStreamInput ¶ added in v0.0.15
func EndSynthesizeStreamInput(stream SynthesizeStream) error
func FilterEmoji ¶
func FilterMarkdown ¶
func FilterToolCallMarkers ¶ added in v0.0.10
Types ¶
type AvailabilityChangedEvent ¶ added in v0.0.15
type AvailabilityChangedHandler ¶ added in v0.0.15
type AvailabilityChangedHandler func(AvailabilityChangedEvent)
type ChunkedStream ¶
type ChunkedStream interface {
Next() (*SynthesizedAudio, error)
Close() error
}
func SynthesizeWithStream ¶ added in v0.0.15
type DoneStream ¶ added in v0.0.15
type DoneStream interface {
Done() bool
}
type ErrorEmitter ¶ added in v0.0.15
type ErrorEmitter struct {
// contains filtered or unexported fields
}
func (*ErrorEmitter) EmitError ¶ added in v0.0.15
func (e *ErrorEmitter) EmitError(err TTSError)
func (*ErrorEmitter) OnError ¶ added in v0.0.15
func (e *ErrorEmitter) OnError(handler TTSErrorHandler) func()
type ExceptionStream ¶ added in v0.0.15
type ExceptionStream interface {
Exception() error
}
type FallbackAdapter ¶
type FallbackAdapter struct {
MetricsEmitter
ErrorEmitter
// contains filtered or unexported fields
}
func NewFallbackAdapter ¶
func NewFallbackAdapter(ttss []TTS) *FallbackAdapter
func NewFallbackAdapterWithOptions ¶ added in v0.0.15
func NewFallbackAdapterWithOptions(ttss []TTS, options FallbackAdapterOptions) *FallbackAdapter
func (*FallbackAdapter) Capabilities ¶
func (f *FallbackAdapter) Capabilities() TTSCapabilities
func (*FallbackAdapter) Close ¶ added in v0.0.15
func (f *FallbackAdapter) Close() error
func (*FallbackAdapter) Label ¶
func (f *FallbackAdapter) Label() string
func (*FallbackAdapter) Model ¶ added in v0.0.15
func (f *FallbackAdapter) Model() string
func (*FallbackAdapter) NumChannels ¶
func (f *FallbackAdapter) NumChannels() int
func (*FallbackAdapter) OnAvailabilityChanged ¶ added in v0.0.15
func (f *FallbackAdapter) OnAvailabilityChanged(handler AvailabilityChangedHandler) func()
func (*FallbackAdapter) OnError ¶ added in v0.0.15
func (f *FallbackAdapter) OnError(handler TTSErrorHandler) func()
func (*FallbackAdapter) OnMetricsCollected ¶ added in v0.0.15
func (f *FallbackAdapter) OnMetricsCollected(handler TTSMetricsHandler) func()
func (*FallbackAdapter) Prewarm ¶ added in v0.0.15
func (f *FallbackAdapter) Prewarm()
func (*FallbackAdapter) Provider ¶ added in v0.0.15
func (f *FallbackAdapter) Provider() string
func (*FallbackAdapter) SampleRate ¶
func (f *FallbackAdapter) SampleRate() int
func (*FallbackAdapter) Stream ¶
func (f *FallbackAdapter) Stream(ctx context.Context) (SynthesizeStream, error)
func (*FallbackAdapter) Synthesize ¶
func (f *FallbackAdapter) Synthesize(ctx context.Context, text string) (ChunkedStream, error)
type FallbackAdapterOptions ¶ added in v0.0.15
type MetricsEmitter ¶ added in v0.0.15
type MetricsEmitter struct {
// contains filtered or unexported fields
}
func (*MetricsEmitter) EmitMetricsCollected ¶ added in v0.0.15
func (e *MetricsEmitter) EmitMetricsCollected(metrics *telemetry.TTSMetrics)
func (*MetricsEmitter) OnMetricsCollected ¶ added in v0.0.15
func (e *MetricsEmitter) OnMetricsCollected(handler TTSMetricsHandler) func()
type SentenceStreamPacer ¶
type SentenceStreamPacer struct {
// contains filtered or unexported fields
}
SentenceStreamPacer buffers text from the LLM, groups it into sentences, and only forwards sentences to the underlying TTS stream when the synthesized audio buffer falls below a certain duration threshold. This prevents runaway TTS generation costs if the user interrupts early.
func NewSentenceStreamPacer ¶
func NewSentenceStreamPacer(ctx context.Context, underlying SynthesizeStream, minRemainingAudio time.Duration) *SentenceStreamPacer
func NewSentenceStreamPacerWithOptions ¶ added in v0.0.15
func NewSentenceStreamPacerWithOptions(ctx context.Context, underlying SynthesizeStream, opts SentenceStreamPacerOptions) *SentenceStreamPacer
func (*SentenceStreamPacer) Close ¶
func (p *SentenceStreamPacer) Close() error
func (*SentenceStreamPacer) EndInput ¶ added in v0.0.15
func (p *SentenceStreamPacer) EndInput() error
func (*SentenceStreamPacer) Flush ¶
func (p *SentenceStreamPacer) Flush() error
func (*SentenceStreamPacer) Next ¶
func (p *SentenceStreamPacer) Next() (*SynthesizedAudio, error)
func (*SentenceStreamPacer) PushText ¶
func (p *SentenceStreamPacer) PushText(text string) error
type SentenceStreamPacerOptions ¶ added in v0.0.15
type StreamAdapter ¶
type StreamAdapter struct {
MetricsEmitter
ErrorEmitter
// contains filtered or unexported fields
}
func NewStreamAdapter ¶
func NewStreamAdapter(t TTS) *StreamAdapter
func (*StreamAdapter) Capabilities ¶
func (a *StreamAdapter) Capabilities() TTSCapabilities
func (*StreamAdapter) Close ¶ added in v0.0.15
func (a *StreamAdapter) Close() error
func (*StreamAdapter) Label ¶
func (a *StreamAdapter) Label() string
func (*StreamAdapter) Model ¶ added in v0.0.15
func (a *StreamAdapter) Model() string
func (*StreamAdapter) NumChannels ¶
func (a *StreamAdapter) NumChannels() int
func (*StreamAdapter) OnError ¶ added in v0.0.15
func (a *StreamAdapter) OnError(handler TTSErrorHandler) func()
func (*StreamAdapter) OnMetricsCollected ¶ added in v0.0.15
func (a *StreamAdapter) OnMetricsCollected(handler TTSMetricsHandler) func()
func (*StreamAdapter) Prewarm ¶ added in v0.0.15
func (a *StreamAdapter) Prewarm()
func (*StreamAdapter) Provider ¶ added in v0.0.15
func (a *StreamAdapter) Provider() string
func (*StreamAdapter) SampleRate ¶
func (a *StreamAdapter) SampleRate() int
func (*StreamAdapter) Stream ¶
func (a *StreamAdapter) Stream(ctx context.Context) (SynthesizeStream, error)
func (*StreamAdapter) Synthesize ¶
func (a *StreamAdapter) Synthesize(ctx context.Context, text string) (ChunkedStream, error)
type SynthesizeStream ¶
type SynthesizedAudio ¶
type SynthesizedAudio struct {
Frame *model.AudioFrame
RequestID string
IsFinal bool
SegmentID string
DeltaText string
TimedTranscript []TimedString
}
type TTS ¶
type TTS interface {
Label() string
Capabilities() TTSCapabilities
SampleRate() int
NumChannels() int
Synthesize(ctx context.Context, text string) (ChunkedStream, error)
Stream(ctx context.Context) (SynthesizeStream, error)
}
type TTSCapabilities ¶
type TTSErrorHandler ¶ added in v0.0.15
type TTSErrorHandler func(TTSError)
type TTSMetricsHandler ¶ added in v0.0.15
type TTSMetricsHandler func(*telemetry.TTSMetrics)
type TextReplaceBuffer ¶ added in v0.0.15
type TextReplaceBuffer struct {
// contains filtered or unexported fields
}
func NewTextReplaceBuffer ¶ added in v0.0.15
func NewTextReplaceBuffer(replacements map[string]string, caseSensitive bool) *TextReplaceBuffer
func (*TextReplaceBuffer) Flush ¶ added in v0.0.15
func (b *TextReplaceBuffer) Flush() []string
func (*TextReplaceBuffer) Push ¶ added in v0.0.15
func (b *TextReplaceBuffer) Push(text string) []string
type TextTransformBuffer ¶ added in v0.0.15
type TextTransformBuffer struct {
// contains filtered or unexported fields
}
func NewTextTransformBuffer ¶ added in v0.0.15
func NewTextTransformBuffer() *TextTransformBuffer
func (*TextTransformBuffer) Flush ¶ added in v0.0.15
func (b *TextTransformBuffer) Flush() []string
func (*TextTransformBuffer) Push ¶ added in v0.0.15
func (b *TextTransformBuffer) Push(text string) []string
type TimedString ¶ added in v0.0.15
type TimedString struct {
Text string
StartTime float64
EndTime float64
Confidence float64
StartTimeOffset float64
SpeakerID string
}
func CollectWithTimedTranscript ¶ added in v0.0.15
func CollectWithTimedTranscript(stream ChunkedStream) (frame *model.AudioFrame, timedTranscript []TimedString, err error)
Click to show internal directories.
Click to hide internal directories.