first commit

This commit is contained in:
2026-06-04 19:25:56 +07:00
parent b5c083e06f
commit 318b736244
8 changed files with 832 additions and 373 deletions
+2 -1
View File
@@ -135,7 +135,8 @@ func min32(a, b float32) float32 {
return b
}
// PunctuateSegments runs punctuation on each segment separately (preserves line breaks).
// PunctuateSegments runs punctuation per Whisper segment (legacy helper).
// Prefer punctuating the full transcript after FormatSegments (see Engine.Result).
func PunctuateSegments(segments []wpkg.Segment, restore func(text string) (string, error)) ([]wpkg.Segment, error) {
out := make([]wpkg.Segment, len(segments))
copy(out, segments)
+4 -5
View File
@@ -186,13 +186,12 @@ func (e *Engine) SetTranscriptText(text string) {
func (e *Engine) Result() TranscriptResult {
segments := e.segments
if e.runOpts.PunctuateRestore != nil {
updated, err := PunctuateSegments(segments, e.runOpts.PunctuateRestore)
if err == nil {
segments = updated
text := FormatSegments(segments, e.runOpts.Turns, e.runOpts.Format)
if e.runOpts.PunctuateRestore != nil && text != "" {
if updated, err := e.runOpts.PunctuateRestore(text); err == nil && strings.TrimSpace(updated) != "" {
text = updated
}
}
text := FormatSegments(segments, e.runOpts.Turns, e.runOpts.Format)
var words []Word
for _, segment := range segments {
words = append(words, segmentWords(segment)...)