Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
xuning
/
sherpaonnx
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Emmanuel Schmidbauer
2024-08-26 18:35:59 -0400
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2024-08-27 06:35:59 +0800
Commit
a8556e31ba29a8a6a2594776679b57c5d56bf98c
a8556e31
1 parent
17c8237e
add Tokens []string, Timestamps []float32, Lang string, Emotion string, Event string (#1277)
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
37 行增加
和
6 行删除
go-api-examples/non-streaming-decode-files/main.go
scripts/go/sherpa_onnx.go
go-api-examples/non-streaming-decode-files/main.go
查看文件 @
a8556e3
...
...
@@ -3,12 +3,13 @@ package main
import
(
"bytes"
"encoding/binary"
sherpa
"github.com/k2-fsa/sherpa-onnx-go/sherpa_onnx"
flag
"github.com/spf13/pflag"
"github.com/youpy/go-wav"
"log"
"os"
"strings"
sherpa
"github.com/k2-fsa/sherpa-onnx-go/sherpa_onnx"
flag
"github.com/spf13/pflag"
"github.com/youpy/go-wav"
)
func
main
()
{
...
...
@@ -80,7 +81,16 @@ func main() {
log
.
Println
(
"Decoding done!"
)
result
:=
stream
.
GetResult
()
log
.
Println
(
strings
.
ToLower
(
result
.
Text
))
log
.
Println
(
"Text: "
+
strings
.
ToLower
(
result
.
Text
))
log
.
Println
(
"Emotion: "
+
result
.
Emotion
)
log
.
Println
(
"Lang: "
+
result
.
Lang
)
log
.
Println
(
"Event: "
+
result
.
Event
)
for
_
,
v
:=
range
result
.
Timestamps
{
log
.
Printf
(
"Timestamp: %+v
\n
"
,
v
)
}
for
_
,
v
:=
range
result
.
Tokens
{
log
.
Println
(
"Token: "
+
v
)
}
log
.
Printf
(
"Wave duration: %v seconds"
,
float32
(
len
(
samples
))
/
float32
(
sampleRate
))
}
...
...
scripts/go/sherpa_onnx.go
查看文件 @
a8556e3
...
...
@@ -440,7 +440,12 @@ type OfflineStream struct {
// It contains recognition result of an offline stream.
type
OfflineRecognizerResult
struct
{
Text
string
Text
string
Tokens
[]
string
Timestamps
[]
float32
Lang
string
Emotion
string
Event
string
}
// Frees the internal pointer of the recognition to avoid memory leak.
...
...
@@ -593,7 +598,23 @@ func (s *OfflineStream) GetResult() *OfflineRecognizerResult {
defer
C
.
SherpaOnnxDestroyOfflineRecognizerResult
(
p
)
result
:=
&
OfflineRecognizerResult
{}
result
.
Text
=
C
.
GoString
(
p
.
text
)
result
.
Lang
=
C
.
GoString
(
p
.
lang
)
result
.
Emotion
=
C
.
GoString
(
p
.
emotion
)
result
.
Event
=
C
.
GoString
(
p
.
event
)
n
:=
int
(
p
.
count
)
result
.
Tokens
=
make
([]
string
,
n
)
tokens
:=
(
*
[
1
<<
28
]
*
C
.
char
)(
unsafe
.
Pointer
(
p
.
tokens_arr
))[
:
n
:
n
]
for
i
:=
0
;
i
<
n
;
i
++
{
result
.
Tokens
[
i
]
=
C
.
GoString
(
tokens
[
i
])
}
if
p
.
timestamps
==
nil
{
return
result
}
result
.
Timestamps
=
make
([]
float32
,
n
)
timestamps
:=
(
*
[
1
<<
28
]
C
.
float
)(
unsafe
.
Pointer
(
p
.
timestamps
))[
:
n
:
n
]
for
i
:=
0
;
i
<
n
;
i
++
{
result
.
Timestamps
[
i
]
=
float32
(
timestamps
[
i
])
}
return
result
}
...
...
请
注册
或
登录
后发表评论