Skip to content

Commit 48b2e72

Browse files
committed
fix:fix bug
1 parent 1afbdbc commit 48b2e72

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

internal/text/aliyun/aliyun.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (s *Speech) Recognize(ctx context.Context, fileUri string) (sRet []*srt.Srt
5757
if err != nil {
5858
return
5959
}
60-
logrus.Info("aliyun speech add task %s",fileUri)
60+
logrus.Infof("aliyun speech add task %s",fileUri)
6161
taskId, err = s.sendTask(client, fileUri)
6262
if err != nil {
6363
return
@@ -67,11 +67,11 @@ func (s *Speech) Recognize(ctx context.Context, fileUri string) (sRet []*srt.Srt
6767
if err != nil || rsp == nil {
6868
return
6969
}
70-
logrus.Infof("aliyun speech recognize result [%d]",len(rsp.Result.Sentences))
7170
if rsp.StatusText != STATUS_SUCCESS {
7271
err = errors.WithMessage(err, "recognize failed")
7372
return
7473
}
74+
logrus.Infof("aliyun speech recognize result [%d]",len(rsp.Result.Sentences))
7575
sRet, err = s.Sentence(0, rsp)
7676
wRet, err = s.BreakSentence(0, rsp)
7777
if err != nil {
@@ -217,7 +217,14 @@ func (s *Speech) BreakSentence(channelId int, rsp *Response) (ret []*srt.Srt, er
217217
sword = strings.TrimRight(sword, text.SentenceBreak)
218218
}
219219

220-
sword = strings.ToLower(strings.TrimSpace(sword))
220+
sword = strings.ToLower(strings.TrimFunc(strings.TrimSpace(sword), func(r rune) bool {
221+
if strings.ContainsRune(text.SentenceBreak,r){
222+
return true
223+
}else{
224+
return false
225+
}
226+
return false
227+
}))
221228

222229
numberFlag := false
223230
firstSetFlag := true
@@ -226,8 +233,8 @@ func (s *Speech) BreakSentence(channelId int, rsp *Response) (ret []*srt.Srt, er
226233
if rsp.Result.Words[wIdx].ChannelId != channelId {
227234
continue
228235
}
229-
230236
word := strings.ToLower(strings.TrimSpace(rsp.Result.Words[wIdx].Word))
237+
fmt.Printf("%s:%s\n",word,sword)
231238
//当前单词是数字,并且句子中的词也是数字
232239
if v, ok := s.wellKnownNumber[word]; ok && re.Match([]byte(sword)) {
233240
numberFlag = true

internal/text/aliyun/aliyun_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package aliyun
33
import (
44
"encoding/json"
55
"fmt"
6+
"io/ioutil"
67
"testing"
78
)
89

@@ -58,8 +59,9 @@ const (
5859
)
5960

6061
func TestSpeech_BreakSentence(t *testing.T) {
62+
casex, err := ioutil.ReadFile("/Users/apple/go/src/github.com/JerryZhou343/ClosedCaption/bin/log/dump_1591410628.json")
6163
rsp := &Response{}
62-
json.Unmarshal([]byte(case1), rsp)
64+
json.Unmarshal([]byte(casex), rsp)
6365
sp := NewSpeech("", "", "",
6466
wellKnownNumber, wellKnownWord)
6567
ret, err := sp.(*Speech).BreakSentence(0, rsp)

0 commit comments

Comments
 (0)