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
Fangjun Kuang
2025-01-29 22:43:17 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2025-01-29 22:43:17 +0800
Commit
59ff854222302c55ee1e25bcf6538b38bdf5bcff
59ff8542
1 parent
88471518
Add Flutter example for Kokoro TTS (#1776)
隐藏空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
35 行增加
和
8 行删除
flutter-examples/tts/lib/model.dart
flutter-examples/tts/lib/model.dart
查看文件 @
59ff854
...
...
@@ -24,13 +24,14 @@ Future<sherpa_onnx.OfflineTts> createOfflineTts() async {
String
modelDir
=
''
;
String
modelName
=
''
;
String
voices
=
''
;
// for Kokoro only
String
ruleFsts
=
''
;
String
ruleFars
=
''
;
String
lexicon
=
''
;
String
dataDir
=
''
;
String
dictDir
=
''
;
// You can select an example below and change it according to match your
// You can select an example below and change it according
ly
to match your
// selected tts model
// ============================================================
...
...
@@ -84,6 +85,13 @@ Future<sherpa_onnx.OfflineTts> createOfflineTts() async {
// lexicon = 'lexicon.txt';
// dictDir = 'vits-melo-tts-zh_en/dict';
// Example 8
// https://k2-fsa.github.io/sherpa/onnx/tts/pretrained_models/kokoro.html#kokoro-en-v0-19-english-11-speakers
// modelDir = 'kokoro-en-v0_19';
// modelName = 'model.onnx';
// voices = 'voices.bin';
// dataDir = 'kokoro-en-v0_19/espeak-ng-data';
// ============================================================
// Please don't change the remaining part of this function
// ============================================================
...
...
@@ -126,17 +134,36 @@ Future<sherpa_onnx.OfflineTts> createOfflineTts() async {
}
final
tokens
=
p
.
join
(
directory
.
path
,
modelDir
,
'tokens.txt'
);
if
(
voices
!=
''
)
{
voices
=
p
.
join
(
directory
.
path
,
modelDir
,
voices
);
}
final
vits
=
sherpa_onnx
.
OfflineTtsVitsModelConfig
(
model:
modelName
,
lexicon:
lexicon
,
tokens:
tokens
,
dataDir:
dataDir
,
dictDir:
dictDir
,
);
late
final
sherpa_onnx
.
OfflineTtsVitsModelConfig
vits
;
late
final
sherpa_onnx
.
OfflineTtsKokoroModelConfig
kokoro
;
if
(
voices
!=
''
)
{
vits
=
sherpa_onnx
.
OfflineTtsVitsModelConfig
();
kokoro
=
sherpa_onnx
.
OfflineTtsKokoroModelConfig
(
model:
modelName
,
voices:
voices
,
tokens:
tokens
,
dataDir:
dataDir
,
);
}
else
{
vits
=
sherpa_onnx
.
OfflineTtsVitsModelConfig
(
model:
modelName
,
lexicon:
lexicon
,
tokens:
tokens
,
dataDir:
dataDir
,
dictDir:
dictDir
,
);
kokoro
=
sherpa_onnx
.
OfflineTtsKokoroModelConfig
();
}
final
modelConfig
=
sherpa_onnx
.
OfflineTtsModelConfig
(
vits:
vits
,
kokoro:
kokoro
,
numThreads:
2
,
debug:
true
,
provider:
'cpu'
,
...
...
请
注册
或
登录
后发表评论