Fix (tts): reset textbuffer sooner

This commit is contained in:
Grail Finder
2025-06-09 10:54:49 +03:00
parent 3500b44b2f
commit 412a8347c3

View File

@@ -75,7 +75,7 @@ func (o *KokoroOrator) readroutine() {
sentences := tokenizer.Tokenize(text) sentences := tokenizer.Tokenize(text)
o.logger.Info("adding chunk", "chunk", chunk, "text", text, "sen-len", len(sentences)) o.logger.Info("adding chunk", "chunk", chunk, "text", text, "sen-len", len(sentences))
for i, sentence := range sentences { for i, sentence := range sentences {
if i == len(sentences)-1 { if i == len(sentences)-1 { // last sentence
o.textBuffer.Reset() o.textBuffer.Reset()
_, err := o.textBuffer.WriteString(sentence.Text) _, err := o.textBuffer.WriteString(sentence.Text)
if err != nil { if err != nil {
@@ -109,8 +109,7 @@ func (o *KokoroOrator) readroutine() {
// but keepinig in mind that remainder could be ommited by tokenizer // but keepinig in mind that remainder could be ommited by tokenizer
// Flush remaining text // Flush remaining text
remaining := o.textBuffer.String() remaining := o.textBuffer.String()
o.logger.Info("got flushchan signal", "rem", remaining) o.textBuffer.Reset()
defer o.textBuffer.Reset()
if remaining != "" { if remaining != "" {
o.logger.Info("calling Speak with remainder", "rem", remaining) o.logger.Info("calling Speak with remainder", "rem", remaining)
if err := o.Speak(remaining); err != nil { if err := o.Speak(remaining); err != nil {