Skip to content

Latest commit

 

History

History
68 lines (56 loc) · 5.6 KB

README_hans.md

File metadata and controls

68 lines (56 loc) · 5.6 KB

Azure Cognitive Speech Component

hacs_badge

English | 简体中文

可以先试听一下:语音合成的效果

为什么会有这个集成

是的,Home Assistant自己就包含了Microsoft TTS组件,但组件支持的功能就是普通的TTS。而该组件通过Options可以额外指定由谁说话(voice),还可以指定说话的风格、情绪(style),甚至可以让一个女生模仿一个老年人说话(roleplay)。而实现以上功能,不仅不需要修改configuration.yaml文件,并重启Home Assistant,而是在调用TTS服务时通过Options实现,使得在家庭应用时适合不同的场景。 上边的试听mp3,是让Xiaoxiao使用了新闻主播的风格发声的,听起来似乎就来自于电视中的新闻画面。

使用之前

  • 使用该组件,首先需要一个Microsoft Azure账号,如果你没有,请先注册一个。
  • 录Azure后,转到Azure主页
  • 点击资源组,新建一个资源组,如果你是Azure新用户,可以获得一年的免费使用期限。区域选择你所在区域即可,中国用户可以选择东亚或者东南亚,加快以后网络访问速度。
  • 创建资源组后,回到Azure主页,选择创建资源,搜索“语音”,在搜索到的语音标签上选择创建。
  • 订阅仍旧可以选择免费试用,定价层选择“免费 F0”,资源组选择刚才新建的资源组,区域与之前的区域保持一致。
  • 创建语音资源后,等待创建完成,返回Azure主页,你创建的语音认知服务已经出现在主页上。
  • 点击该项资源,左侧的列表中,点击“资源管理”下的“密钥和终结点”,密钥和区域,终结点就会出现在屏幕上,记下以上信息,密钥共有两个,任意使用其中一个即可。

安装

使用HACS安装自定义存储库,或者从Latest Release下载最新的发行版,并将其中的custom_components/azure_cognitive_speech目录下所有文件手动复制到你的Home Assistant下的<Home Assistant config folder>/custom_components/azure_cognitive_speech目录中,然后重启Home Assistant。

配置

基础配置

编辑你HomeAssistant中的configuration.yaml,增加以下配置行:

tts:
  - platform: azure_cognitive_speech
    api_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXX"     # 这里是你申请的Azure Cognitive Speech语音服务的密钥
    region: "eastasia"                         # 这里是你申请的Azure Cognitive Speech语音服务的区域        
    default_voice: "Xiaoxiao"                  # 这里是默认使用的语音,Xiaoxiao是一个中文语音的模型名称

更多语音,请参照这里,其中的“DisplayName”,就是可用的语音名,“VoiceType”为“Neural”的语音,都是神经网络训练后的语音模型,具有极自然的合成质量。中文相关语音,都在文件后部。

进阶配置

要更好地使用Home Assistant中的TTS服务,可以在配置项中增加以下内容:

- platform: azure_cognitive_speech
    api_key: "XXXXXXXXXXXXXXXXXXXXXXXXXXX"     # 这里是你申请的Azure Cognitive Speech语音服务的密钥
    region: "eastasia"                         # 这里是你申请的Azure Cognitive Speech语音服务的区域    
    default_voice: "Xiaoxiao"                  # 这里是默认使用的语音,Xiaoxiao是一个中文语音的模型名称
    base_url: https://XXX.XXXX.com:8123        # 如果你的Home Assistant是基于HTTPS协议的,需要配置Home Assistant的网址
    cache: true                                # 缓存文本转语音的结果,下次播放同样内容时,就不再需要访问网络,会使得TTS更快
    cache_dir: /tmp/tts                        # 缓存文件所在目录,该目录位于你Home Assistant宿主机中
    time_memory: 300                           # 内存中缓存时间

使用

Microsoft Azure Cognitive Speech服务除了一般的TTS,还可以为语音加入风格(Style)和角色模仿(Role),比如对于“Xiaoxiao”这个语音来说, "sad"风格与"newscast"风格具有巨大的区别,同时还可以让Xiaoxiao模仿诸如老年人说话。 以上功能通过语音识别时的选项(Option)功能实现,可用的选项包括

  • voice 选择的语音,可以选择默认语音之外的语音发音
  • speed 说话的速度,可选值-5到5,正常应设置到-2到2之间
  • style 风格
  • role 角色演绎

关于可用的voice及其可用哪些style或者role,仍旧是参照这里

实例

使用如下Options,播放文字“在北京时间今天凌晨3点举行的一场欧洲杯半决赛中,意大利队与西班牙队在120分钟内站成1:1平。在点球大战中,意大利队以4:2(总比分5:3)击败西班牙队,挺进决赛。”

voice: Xiaoxiao
speed: 1
style: newscast

语音合成的效果,可下载试听。