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
2024-03-01 19:48:38 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2024-03-01 19:48:38 +0800
Commit
d56964371cbd2d53eca619bb215276b272f0e462
d5696437
1 parent
93836ff4
Support VITS models from icefall. (#625)
显示空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
13 行增加
和
4 行删除
sherpa-onnx/csrc/offline-tts-vits-impl.h
sherpa-onnx/csrc/offline-tts-vits-model-metadata.h
sherpa-onnx/csrc/offline-tts-vits-model.cc
sherpa-onnx/csrc/piper-phonemize-lexicon.cc
sherpa-onnx/csrc/session.cc
sherpa-onnx/csrc/offline-tts-vits-impl.h
查看文件 @
d569643
...
...
@@ -205,7 +205,8 @@ class OfflineTtsVitsImpl : public OfflineTtsImpl {
if
(
meta_data
.
frontend
==
"characters"
)
{
frontend_
=
std
::
make_unique
<
OfflineTtsCharacterFrontend
>
(
mgr
,
config_
.
model
.
vits
.
tokens
,
meta_data
);
}
else
if
((
meta_data
.
is_piper
||
meta_data
.
is_coqui
)
&&
}
else
if
((
meta_data
.
is_piper
||
meta_data
.
is_coqui
||
meta_data
.
is_icefall
)
&&
!
config_
.
model
.
vits
.
data_dir
.
empty
())
{
frontend_
=
std
::
make_unique
<
PiperPhonemizeLexicon
>
(
mgr
,
config_
.
model
.
vits
.
tokens
,
config_
.
model
.
vits
.
data_dir
,
...
...
@@ -231,7 +232,8 @@ class OfflineTtsVitsImpl : public OfflineTtsImpl {
if
(
meta_data
.
frontend
==
"characters"
)
{
frontend_
=
std
::
make_unique
<
OfflineTtsCharacterFrontend
>
(
config_
.
model
.
vits
.
tokens
,
meta_data
);
}
else
if
((
meta_data
.
is_piper
||
meta_data
.
is_coqui
)
&&
}
else
if
((
meta_data
.
is_piper
||
meta_data
.
is_coqui
||
meta_data
.
is_icefall
)
&&
!
config_
.
model
.
vits
.
data_dir
.
empty
())
{
frontend_
=
std
::
make_unique
<
PiperPhonemizeLexicon
>
(
config_
.
model
.
vits
.
tokens
,
config_
.
model
.
vits
.
data_dir
,
...
...
sherpa-onnx/csrc/offline-tts-vits-model-metadata.h
查看文件 @
d569643
...
...
@@ -20,6 +20,7 @@ struct OfflineTtsVitsModelMetaData {
bool
is_piper
=
false
;
bool
is_coqui
=
false
;
bool
is_icefall
=
false
;
// the following options are for models from coqui-ai/TTS
int32_t
blank_id
=
0
;
...
...
sherpa-onnx/csrc/offline-tts-vits-model.cc
查看文件 @
d569643
...
...
@@ -110,6 +110,10 @@ class OfflineTtsVitsModel::Impl {
if
(
comment
.
find
(
"coqui"
)
!=
std
::
string
::
npos
)
{
meta_data_
.
is_coqui
=
true
;
}
if
(
comment
.
find
(
"icefall"
)
!=
std
::
string
::
npos
)
{
meta_data_
.
is_icefall
=
true
;
}
}
Ort
::
Value
RunVitsPiperOrCoqui
(
Ort
::
Value
x
,
int64_t
sid
,
float
speed
)
{
...
...
sherpa-onnx/csrc/piper-phonemize-lexicon.cc
查看文件 @
d569643
...
...
@@ -236,7 +236,7 @@ std::vector<std::vector<int64_t>> PiperPhonemizeLexicon::ConvertTextToTokenIds(
std
::
vector
<
int64_t
>
phoneme_ids
;
if
(
meta_data_
.
is_piper
)
{
if
(
meta_data_
.
is_piper
||
meta_data_
.
is_icefall
)
{
for
(
const
auto
&
p
:
phonemes
)
{
phoneme_ids
=
PiperPhonemesToIds
(
token2id_
,
p
);
ans
.
push_back
(
std
::
move
(
phoneme_ids
));
...
...
sherpa-onnx/csrc/session.cc
查看文件 @
d569643
...
...
@@ -105,11 +105,13 @@ static Ort::SessionOptions GetSessionOptionsImpl(int32_t num_threads,
}
else
{
SHERPA_ONNX_LOGE
(
"Use nnapi"
);
}
#el
se
#el
if defined(__ANDROID_API__)
SHERPA_ONNX_LOGE
(
"Android NNAPI requires API level >= 27. Current API level %d "
"Fallback to cpu!"
,
(
int32_t
)
__ANDROID_API__
);
#else
SHERPA_ONNX_LOGE
(
"NNAPI is for Android only. Fallback to cpu"
);
#endif
break
;
}
...
...
请
注册
或
登录
后发表评论