Skip to content

关于流式TTS(streaming TTS)多说话人synthesize_streaming.py 推理失败问题 #2965

@443127316

Description

@443127316

General Question

你好,我目前开发流式TT(多说话人)服务,信息总结如下:
1.使用了aishell3数据集,在PaddleSpeech/examples/aishell3/tts3脚本中进行训练;
2.训练阶段替换config文件为 conf/cnndecoder.yaml
3.训练正常,并且在synthesize_e2e.py中可以正常推理(多说话人);
目前正在改造synthesize_streaming.py 文件,以期可以实现流式推理,修改细节如下:
a) 增加了 --speaker_dict 和 --spk_id ;
b) 提前导入了 speaker_dict 并且计算了 spk_num
c) 在初始化 am 的时候,将 line 77 修改为: am = am_class(idim=vocab_size, odim=odim, spk_num=spk_num,**am_config["model"])
增加了 spk_num=spk_num
d) 在sentence推理的时候,将line 157 - line 159 改为:
with paddle.no_grad():
# acoustic model
spk_id = paddle.to_tensor(args.spk_id)
orig_hs = am_encoder_infer(phone_ids,spk_id=spk_id)

遇到的问题:
1)在推理的时候,返回错误:
image

2)如果去掉spk_id之后,生成语音为 静音
image

对于错误的猜想:
a) 在这个函数 line 85: am_encoder_infer = am.encoder_infer 是否要增加spk相关内容,如果是的话,应该怎么加

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions