首页 > 其他分享 >FreeSWITCH给Say模块增加中文语音

FreeSWITCH给Say模块增加中文语音

时间:2022-12-29 19:55:14浏览次数:44  
标签:zh say freeswitch Say usr 模块 FreeSWITCH local mod

本文更新于2022-04-04,使用FreeSWITCH 1.10.7。

以下示例,假定源代码目录为/usr/src/freeswitch,安装目录为/usr/local/freeswitch。

  1. 安装中文Say模块(包括zh和zh_CN的Say接口):

    1. 进入源代码目录:

      cd /usr/src/freeswitch
      
    2. 修改modules.conf,将模块所在行的注释符去掉,即将#say/mod_say_zh修改为:

      say/mod_say_zh
      
    3. 编译安装:

      ./bootstrap.sh -j
      ./configure
      make mod_say_zh
      make mod_say_zh-install
      
    4. 查看模块是否已安装,即安装目录下模块文件是否存在:

      ls -l /usr/local/freeswitch/mod/ | grep mod_say_zh
      
    5. 将模块设置为服务器启动时自动加载:

      修改/usr/local/freeswitch/conf/autoload_configs/modules.conf.xml,将模块所在行的<!---->注释符去掉,即将<!-- <load module="mod_say_zh"/> -->修改为:

      <load module="mod_say_zh"/>
      
    6. 重启FreeSWITCH或如下手动加载模块:

      /usr/local/freeswitch/bin/fs_cli
      

      执行:

      load mod_say_zh
      
  2. 安装中文语音提示音文件:

    cd /usr/src/freeswitch
    make sounds-zh-cn-sinmei-8000
    make sounds-zh-cn-sinmei-8000-install
    

    可以使用查看提示音文件是否存在:

    ls -l /usr/local/freeswitch/sounds/zh/cn/sinmei
    
  3. 创建中文语言配置:

    cd /usr/local/freeswitch/conf/lang
    mkdir zh
    cd zh
    touch zh.xml
    

    修改zh.xml的内容为:

    <include>
      <language name="zh" say-module="zh" sound-prefix="$${sounds_dir}/zh/cn/sinmei" tts-engine="" tts-voice="">
        <phrases>
          <macros>
          </macros>
        </phrases>
      </language>
    </include>
    
  4. 设置FreeSWITCH加载中文语言配置:

    在/usr/local/freeswitch/conf/freeswitch.xml中<section name="languages" description="Language Management">这一节点内增加:

    <X-PRE-PROCESS cmd="include" data="lang/zh/*.xml"/>
    
  5. 重新加载配置文件:

    /usr/local/freeswitch/bin/fs_cli
    

    执行:

    reloadxml
    

可以使用以下方式验证:

  1. 修改Dialplan:

    在/usr/local/freeswitch/conf/dialplan/default.xml的<context name="default">这一节点内增加:

        <extension name="testing">
            <condition field="destination_number" expression="^1234$">
                <action application="answer"/>
                <action application="say" data="zh NUMBER ITERATED 1234567"/>
            </condition>
        </extension>
    
  2. 重新加载配置文件:

    /usr/local/freeswitch/bin/fs_cli
    

    执行:

    reloadxml
    
  3. 拨打1234,试验是否能听到“一二三四五六七”。

标签:zh,say,freeswitch,Say,usr,模块,FreeSWITCH,local,mod
From: https://www.cnblogs.com/garvenc/p/add_zh_support_to_say_module_for_freeswitch.html

相关文章

  • 车载模块——毫米波雷达介绍
    1.毫米波雷达的定义毫米波雷达是工作在毫米波频段的雷达,如图2-21所示。毫米波是指长度为1~10mm的电磁波,对应的频率范围为30~300GHz。毫米波雷达是ADAS核心传感器,主要用于自......
  • 车载模块——激光雷达介绍
    1.激光雷达的定义激光雷达是工作在光波频段的雷达,它利用光波频段的电磁波先向目标发射探测信号,然后将其接收到的同波信号与发射信号相比较,从而获得目标的位置(距离、方位......
  • 【高级软件实习】蒙特卡洛模拟 | PRNG 伪随机数发生器 | LCG 线性同余算法 | 马特赛特
    ......
  • ip网络音频传输模块EA2101T网络音频传输控制模块
    广州新悦网络设备有限公司EA2101T网络音频模块是一款高性能的10/100M网络音频模块,采用高性能ARM处理器及专业Codec,能接收网络音频数据流,转换成音频模拟信号输出,具有CD级的......
  • 重磅直播|ORB-SLAM3经典单目初始化模块原理及实现
    主讲人对该领域的核心和主流技术进行了详解,干货满满,线下的答疑更是赢得了同学们的好评。本期由在国内知名研究院就职,具有多年机器人从业经验的单鹏辉工程师分享,分享的主题为......
  • python3.7导入gevent模块报错的解决方案
    pip3install-U--force-reinstall--no-binary:all:gevent附上参数说明-U,--upgradeUpgradeallspecifiedpackagestothenewestavailableversion.Thehand......
  • freeswitch的gateway实现出中继的主备方案
      概述freeswitch是一款简单好用的VOIP开源软交换平台。某些呼叫场景中,我们有2条出中继线路可选,2条出中继需要按照主备模式来配置,优先使用主中继呼叫,当主中继出现问......
  • 如何安装vx模块如何使用太极软件
    重点在前面不要使用违法功能封号与本人无关第一步:去太极官网下载太极太极(taichi.cool)第二步:去vx官网下载vxWeXposeddownload|SourceForge.net下载这个在手机上(......
  • Day 03 http模块
    http模块一、什么是http模块http模块是官方提供,用来创建web服务器的模块。通过提供的http.createServer(),就可以将普通电脑变为服务器。导入:consthttp=require('htt......
  • 车载模块——超声波雷达介绍
    目录1.超声波传感器的定义2.超声波传感器的特点3.超声波传感器的测距原理4.超声波传感器的类型5.超声波传感器的主要参数6.超声波传感器的应用说明1.超声波传感器......