- 型号
- XFS5152CE
- 厂家
- 科大讯飞
- 封装
- LQFP64
- 种类
- 芯片  -  语音合成芯片
- 简介
- XFS5152CE是科大讯飞出品的一款语音合成芯片。语音合成的英文是"Text To Speech",缩写为TTS,即“从文本到语音”,对于XFS5152CE来说就是,我们给芯片的输入接口(比如UART)输入文本数据,芯片就会生成语音声音信号,可接音响播放出来。
- 这是语音合成芯片的基本功能,但国外出品的语音合成芯片只能合成英文文本,XFS5152CE作为科大讯飞出品的一款国产芯片,自然是能支持我们中文的合成。它最让人惊喜的是,它不仅能支持中文的合成,而且支持的还相当好,很多我们工程师没想到的情况它都已经可以巧妙的支持了,比如 对多音字可根据语境正确判断读法,对常见的数字、号码、时间、日期、度量衡符号也能够正确的读出,中英文混读也符合日常习惯,如此等等。可谓是科大讯飞在语音领域多年耕耘的结晶,可惜的是科大讯飞近年来不再出品芯片产品了。
- 我们使用这款芯片制作了一款“语音合成+MP3编解码”的语音模块板:
- https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.25911debRuHIyQ&ft=t&id=561913509320
特点
- 支持任意中文文本、英文文本的合成,并且支持中英文混读;
- 支持语音编解码功能,用户可以使用芯片直接进行录音和播放;
- 集成简单的语音识别功能,可以支持30个命令词的识别并可定制;
- 芯片内部集成80种常用提示音效,可适用于不同场合的信息提示、铃声、警报等功能;
- 支持UART、I2C 、SPI三种通讯方式;UART串口支持4种通讯波特率:4800 bps、9600 bps、57600 bps、115200 bps 。
- 可采用GB2312、GBK、BIG5和UNICODE四种编码方式;
- 每次合成的文本量最多可达4K字节;
- 能对文本进行智能分析,对常见的数字、号码、时间、日期、度量衡符号等格式的文本,芯片能够根据内置的文本匹配规则进行正确的识别和处理;
- 对一般多音字也可以依据其语境正确判断读法;
- 可通过“文本控制标记”,实现对语音合成中复杂多变需求的参数设置,可满足用户对语音合成发音人、音量、语速、语调等的变化调节。
- 男女发音人各2人。
详细描述
芯片系统结构图
一般应用中语音合成系统最小系统需要包括:控制器模块、XFS5152CE 芯片、功放模块、喇叭。如果需要使用语音识别功能、或者语音编解码功能,系统中还需要增加麦克风。
语音合成系统中,主控制器和 XFS5152CE 芯片之间可以通过 UART 接口、或者 I2C 接口、或者 SPI 接口连接,控制器可通过上述通讯接口向 XFS5152CE 芯片发送控制命令和文本,XFS5152CE 芯片接收到文本后合成为语音信号输出,输出的信号经功率放大器进行放大后连接到喇叭进行播放。
用户在使用语音识别功能时,上位机发送启动语音识别功能的命令给语音芯片,芯片把从麦克风采集到的语音数据,通过内部的识别模块进行转换成相应的识别结果,通过通讯接口回传给控制器。
用户在使用语音编解码功能时(通讯接口必须选择 UART 接口,并且波特率设置为115200bps),上位机发送启动编解码的命令给语音芯片,芯片内部的语音编解码模块把采集到的音频数据进行编码并通过 UART 接口实时传送给上位机,或者对上位机传送来的音频数据进行解码并实时播放出来。
封装信息
封装名称 | 封装描述 |
LQFP64 | 64 脚,芯片 10mmx10mmx1.4mm |
功能描述
支持任意中文文本、英文文本的合成,并且支持中英文混读
芯片支持任意中文、英文文本的合成,可以采用 GB2312、GBK、BIG5 和 UNICODE 四种编码方式。每次合成的文本量最多可达 4K 字节。
芯片对文本进行分析,对常见的数字、号码、时间、日期、度量衡符号等格式的文本,能够根据内置的文本匹配规则进行正确的识别和处理;对一般多音字也可以依据其语境正确判断读法;另外针对同时有中文和英文的文本,可实现中英文混读。
支持语音编解码功能,用户可以使用芯片直接进行录音和播放
芯片内部集成了语音编码单元和解码单元,可以进行语音的编码和解码,实现录音和播放功能。芯片的语音编解码具备高压缩率、低失真率、低延时的特点,并且可以支持多种语音编码解码速率。这些特性使它非常适合于数字语音通信、语音存储以及其它需要对语音进行数字处理的场合。如:车载微信、指挥中心等。
支持语音识别功能
可支持 30 个命令词的识别。芯片出默认设置的是 30 个车载、预警等行业常用识别命令词。客户如需要更改成其他的识别命令词,可进行命令词定制(这个定制是指找科大讯飞定制芯片,这一般人可承受不起)。
芯片内部集成 80 种常用提示音效
适合用于不同场合的信息提示、铃声、警报等功能
支持 UART、I2C 、SPI 三种通讯方式
UART 串口支持 4 种通讯波特率可设:4800 bps、9600 bps、57600 bps、115200 bps, 用户可以依据情况通过硬件配置选择自己所需的波特率。
支持多种控制命令
如合成文本、停止合成、暂停合成、恢复合成、状态查询、进入省电模式、唤醒等。
控制器通过通讯接口发送控制命令可以对芯片进行相应的控制。芯片的控制命令非常简单易用,例如:芯片可通过统一的“合成命令”接口播放提示音和中文文本,还可以通过标记文本实现对合成的参数设置。
支持多种方式查询芯片的工作状态
包括:查询状态管脚电平、通过读芯片自动返回的工作状态字、发送查询命令获得芯片工作状态的回传数据。
引脚定义
芯片供64个引脚,每个引脚的定义这里没必要赘述,详见资料下载中的芯片数据手册的第9页。
通讯接口
XFS5152CE 芯片支持 UART 接口、I2C 接口、SPI 接口三种通讯方式,可通过 UART 接口、I2C 或 SPI 接口接收上位机发送的命令和数据,允许发送数据的最大长度为 4k 字节。
UART通讯模式
UART 通讯接口支持 4 种通讯波特率:4800bps、9600bps、57600bps、115200bps,可以通过 XFS5152CE 芯片上的两个管脚 BAUD1(56 引脚)、BAUD2(55 引脚)上的电平来进行硬件配置。
波特率 | BAUD1 | BAUD2 |
4800bps | 0 | 0 |
9600bps | 0 | 1 |
57600bps | 1 | 0 |
115200bps | 1 | 1 |
I2C 通讯模式
XFS5152CE 采用标准 I2C 总线接口,作为 Slave 身份, 设备地址为: 0x80。
为保证通讯的稳定性,XFS5152CE 的 I2C 接口通信速度要求不高于 15KHz。详见数据手册。
SPI 通讯模式
XFS5152CE芯片的SPI接口是4线全双工同步串行通讯接口,上位机作为SPI通讯中的Master身份,XFS5152CE 在 SPI 通讯中设为 Slave 身份,SPI 通讯所需的时钟信号由上位机提供。
为保证通讯的稳定性,XFS5152CE 的 SPI 接口通信速度要求不高于 25KHz。上位机在和 XFS5152CE 的通讯中,由上位机提供同步时钟信号,在同步时钟的上升沿XFS5152CE锁存1bit数据,每传输8bits数据完成一个字节数据的传输。详见数据手册。
芯片空控制方式
控制命令
XFS5152CE 支持多种控制命令,列表如下:
命令功能 | 说明 | |
语音合成相关 | 合成命令 | 合成本次发送的命令 |
停止合成命令 | 停止当前的合成动作 | |
暂停合成命令 | 暂停正在进行的合成 | |
恢复合成命令 | 继续合成被暂停的文本 | |
文本缓存相关 | 发送缓存文本命令 | 把需要缓存的文本发送到芯片缓存区特定的区段 |
播放缓存文本命令 | 播放缓存区内已存储的多段文本 | |
语音编解码相关 | 开始语音编码命令 | 设置语音编码的参数,并启动语音编码 |
开始语音解码命令 | 设置语音解码的参数,并启动语音解码 | |
发送数据到芯片进行解码命令 | 根据指定的压缩等级发送一帧数据给芯片进行解码播放 | |
停止语音编解码命令 | 停止执行语音编码或解码操作 | |
语音识别相关 | 启动语音识别命令 | 启动语音识别功能 |
停止语音识别命令 | 停止当前的识别 | |
状态查询命令 | 查询当前芯片的工作状态 | |
进入省电模式 | 使芯片从正常工作模式进入省电模式 | |
唤醒命令 | 使芯片从省电模式进入正常工作模式 |
芯片回传
上电初始化成功时或者收到上位机的控制命令帧时,XFS5152CE 芯片都会向上位机发送 1个字节的回传数据,上位机可根据这个回传来判断芯片目前的状态。
名称 | 回传信息 | 触发条件 |
初始化成功回传 | 0x4A | 上电芯片初始化成功后,芯片自动发送回传 |
收到正确的命令帧回传 | 0x41 | 收到正确的命令帧 |
收到不能识别命令帧回传 | 0x45 | 收到错误的命令帧 |
芯片忙碌状态回传 | 0x4E | 芯片处在正在合成状态,收到状态查询命令帧 |
芯片空闲状态回传 | 0x4F | 芯片处在空闲状态,收到状态查询命令帧;或一帧数据合成结束,芯片处于空闲状态 |
另,详细的通讯协议,还是请参见 芯片数据手册。
文本控制标记
XFS5152CE 芯片的语音合成功能支持多种文本控制标记,可以满足用户对语音合成发音人、音量、语速、语调等的设置。
文本控制标记的格式一般是半角中括号(即“[]”)内一个小写字母、一个阿拉伯数字,如:[m3],标记的使用方法和合成文本完全一致。通讯协议详见本开发指南的“8.2.1 语音合成命令”章节。
用户可以把标记作为文本单独发送到芯片上,如:只发送“[v3]”到芯片上设置合成音量为3 级,或者把标记和其他要合成的文本放在一起发送给芯片上,如:“[v3]我在小声说话,[v10]我在大声说话”。
标记只是作为控制标记实现设置功能,不会合成为声音输出。如:“[s1]我慢条斯理。[s8]我快言快语”中,经过标记的设置,前一句合成语速会很慢,后一句合成语速会很快,但不会读出“s1”和“s8”。
文本控制标记列表
注意:
- 所有的控制标识均为半角字符。
- 控制标识需要按照语音合成命令的格式发送,控制标记作为文本进行合成,即合成命令是“帧头 + 数据区长度 + 合成命令字 + 文本编码格式 + 控制标记文本”的格式。
- 控制标识为全局控制标识,也就是只要用了一次,在不对芯片 进行 复位 、或 断电 、或使用[d]恢复默认设置 的条件下,其后发送给芯片的所有文本都 会处于它的控制之下。
- 当芯片掉电或是复位后 ,原来的设置过的标识会失去作用 ,芯片将恢复到所有的默认值。
语音识别命令词
XFS5152CE 芯片可支持 30 个命令词的识别。芯片出默认设置的是 30 个车载、预警等行业常用识别命令词。
典型应用电路
同系列介绍
XFS3031CNP
科大讯飞在语音合成方面,只出品了2款芯片,除了XFS5152CE,另一款是XFS3031CNP,功能就要逊色很多,是个简易版本的中英文语音合成芯片。
- 文本合成量仅199字节
- 仅支持音量调节
- 发音人只有一个 女声
- 封装也是LQFP64