开发者社区 > ModelScope模型即服务 > 语音 > 正文

iic/speech_sambert-hifigan_tts_zh-cn_16k模型实时合成

已解决

语音合成-中文-多情感领域-16k-多发音人iic/speech_sambert-hifigan_tts_zh-cn_16k这个模型看社区介绍说支持流式合成,请问如何修改参数支持?
from modelscope.outputs import OutputKeys
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

text = '待合成文本'
model_id = 'damo/speech_sambert-hifigan_tts_zh-cn_16k'
sambert_hifigan_tts = pipeline(task=Tasks.text_to_speech, model=model_id)
output = sambert_hifigan_tts(input=text, voice='zhitian_emo')
wav = output[OutputKeys.OUTPUT_WAV]
with open('output.wav', 'wb') as f:
f.write(wav)

展开
收起
游客sjgoxolfnpuvo 2024-10-14 12:00:38 63 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    要使iic/speech_sambert-hifigan_tts_zh-cn_16k模型支持流式合成,可以尝试以下方法来修改参数:

    首先,查看文档中关于该模型支持的参数选项,确定是否有与流式合成相关的参数设置。如果有明确的参数名称指示流式合成功能,那么可以在代码中进行如下修改:

    text = '待合成文本'
    model_id = 'damo/speech_sambert-hifigan_tts_zh-cn_16k'
    sambert_hifigan_tts = pipeline(task=Tasks.text_to_speech, model=model_id)
    # 假设流式合成参数为'streaming',值为 True 表示开启流式合成
    output = sambert_hifigan_tts(input=text, voice='zhitian_emo', streaming=True)
    wav = output[OutputKeys.OUTPUT_WAV]
    with open('output.wav', 'wb') as f:
        f.write(wav)
    

    如果文档中没有明确指出具体的参数名称,可以尝试查找是否有其他可能与流式合成相关的参数,比如batch_size(设置为较小的值可能有助于流式合成)、max_length等,逐步调整这些参数的值来观察是否能实现流式合成效果。

    另外,也可以检查模型的配置文件或者通过在社区中进一步搜索关于该模型流式合成的具体设置方法和示例代码,以确保正确地启用流式合成功能。

    2024-10-14 15:42:30
    赞同 203 展开评论 打赏

包括语音识别、语音合成、语音唤醒、声学设计及信号处理、声纹识别、音频事件检测等多个领域

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载