Enha(tts): split remaining text on sentences; update build tags
This commit is contained in:
1
extra.go
1
extra.go
@@ -1,5 +1,4 @@
|
|||||||
//go:build extra
|
//go:build extra
|
||||||
// +build extra
|
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
|||||||
29
extra/tts.go
29
extra/tts.go
@@ -165,17 +165,18 @@ func (o *KokoroOrator) readroutine() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// INFO: if there is a lot of text it will take some time to make with tts at once
|
// flush remaining text
|
||||||
// to avoid this pause, it might be better to keep splitting on sentences
|
|
||||||
// but keepinig in mind that remainder could be ommited by tokenizer
|
|
||||||
// Flush remaining text
|
|
||||||
remaining := o.textBuffer.String()
|
remaining := o.textBuffer.String()
|
||||||
remaining = cleanText(remaining)
|
remaining = cleanText(remaining)
|
||||||
o.textBuffer.Reset()
|
o.textBuffer.Reset()
|
||||||
if remaining != "" {
|
if remaining == "" {
|
||||||
o.logger.Debug("calling Speak with remainder", "rem", remaining)
|
continue
|
||||||
if err := o.Speak(remaining); err != nil {
|
}
|
||||||
o.logger.Error("tts failed", "sentence", remaining, "error", err)
|
o.logger.Debug("calling Speak with remainder", "rem", remaining)
|
||||||
|
sentencesRem := tokenizer.Tokenize(remaining)
|
||||||
|
for _, rs := range sentencesRem { // to avoid dumping large volume of text
|
||||||
|
if err := o.Speak(rs.Text); err != nil {
|
||||||
|
o.logger.Error("tts failed", "sentence", rs, "error", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -364,10 +365,14 @@ func (o *GoogleTranslateOrator) readroutine() {
|
|||||||
remaining := o.textBuffer.String()
|
remaining := o.textBuffer.String()
|
||||||
remaining = cleanText(remaining)
|
remaining = cleanText(remaining)
|
||||||
o.textBuffer.Reset()
|
o.textBuffer.Reset()
|
||||||
if remaining != "" {
|
if remaining == "" {
|
||||||
o.logger.Debug("calling Speak with remainder", "rem", remaining)
|
continue
|
||||||
if err := o.Speak(remaining); err != nil {
|
}
|
||||||
o.logger.Error("tts failed", "sentence", remaining, "error", err)
|
o.logger.Debug("calling Speak with remainder", "rem", remaining)
|
||||||
|
sentencesRem := tokenizer.Tokenize(remaining)
|
||||||
|
for _, rs := range sentencesRem { // to avoid dumping large volume of text
|
||||||
|
if err := o.Speak(rs.Text); err != nil {
|
||||||
|
o.logger.Error("tts failed", "sentence", rs.Text, "error", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
//go:build !extra
|
//go:build !extra
|
||||||
// +build !extra
|
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user