语音合成芯片

    所谓语音合成芯片,又称中文TTS芯片,是指一种专业的语音芯片,它可以通过串行通信接口如UART和SPI等方式,与主控CPU进行数据通信,接收CPU传送的文本信息,以合成语音的方式,驱动发声器发声,其特点是:高集成度,带串行通信接口以及需要一定的外围电路的支持(如晶振电路等)。

基本内容

    所谓语音合成芯片,又称中文TTS芯片,是指一种专业的语音芯片,它可以通过串行通信接口如UART和SPI等方式,与主控CPU进行数据通信,接收CPU传送的文本信息,以合成语音的方式,驱动发声器发声,其特点是:高集成度,带串行通信接口以及需要一定的外围电路的支持(如晶振电路等)。目前国内市场上的中文语音合成芯片(非语音芯片,就是不需要烧录而通过上位机控制)主要有两家:一为北京宇音天下科技有限公司(主要产品:SYN6188、SYN6288和SYN6658);一为安徽的科大讯飞公司(主要产品XFS3031,XFS4040和XFS4041)。

    伴随着各种家用电器设备,车载设备的功能增加,设备的操控性越来越复杂;人机交互设计在系统设计中的地位越来越重要。受到系统成本、体积等多方面的限制,应用开发人员可以选择的人机交互设计方法并不多。利用语音合成芯片来增强人机交互性能的方法又重新开始受到应用开发人员的重视。 语音合成芯片的核心技术是语音数据压缩。这项技术在二战前就开始被研究,但其转化为芯片并被实际产品采用却是在70年代末。由于受到存储器容量的限制,当时比较流行的是参数合成方式,这是一种模拟人体发声器官,建立数学模型,并以此作为参数进行压缩合成的方法。但是这种方法的实际使用效果并不能满足人们的要求,终在市场上受到认可的是基于ADPCM(Adaptive differential PCM)技术的语音压缩合成方式。OKI公司从70年代就从事ADPCM的研究开发工作,并不断进行改进,相继推出了具有更大压缩率和更高音质的OKI ADPCM、OKI ADPCM2方式。OKI语音芯片的音质,的性能得到了客户的认可,25年的累计出货量达到了4亿个。 高音质语音合成芯片增强人机交互性能 在使用语音合成芯片时,令应用开发人员头痛的问题是如何在有限的存储器当中,放入更多的语音数据。通常的做法是将播放内容中重复出现的地方进行切割,在需要利用的时候,对这些重复内容进行复用。虽然这个做法可以解决问题,但一般在使用当中,如果有大量需要复用的语音段出现时,将会使播放控制程序非常冗长。而且在不同的地方进行复用时,音调、语速等都会有微妙变化,这些变化如果不加以区分处理,就会在播放时造成不自然和失真。因此在播放不同内容时需要适当加入不同的延时。比如在实现图1的播放内容时,一般需要程序写成如下形式。 Play(Address1); Delay(xxx); Play(Address2); Delay(xxx); Play(Address4); Delay(xxx); Play(Address5); 这种实现方法无疑是对程序存储器的一种极大浪费。而且由于在播放指令发出时,MCU必须对相应的控制线或者IO进行操作,指令的反复使用也是对CPU资源的浪费。更糟糕的是在播放指令执行过程当中,一旦有中断等意外发生的话,很容易出现播放异常现象。

    图1: 基于分割播放的一般方法。 OKI的语音芯片为了使控制MCU的开销小,在语音芯片产品中加入了ROM Edit功能,通过在制作语音数据时,指定需要复用和延时的部分,把绝大部分处理工作交给语音合成芯片来完成,大幅度降低控制MCU的开销。 例如使用OKI的ROM Edit功能播放图示的两段内容时,可以使用下述程序: Play(ROM Edit area1); Play(ROM Edit area2); 语音芯片接受到这两条指令后,将自行按照ROM Edit领域的指定,自动将相应地址的语音数据进行播放连接,这些过程将无须MCU参与。由于ROM Edit领域中使用的仅仅只是地址信息,所以对于存储器的占用率是相当低的。当然在ROM Edit领域指定存储器地址的同时,也可以插入相应的延时信息,由芯片自行完成播放之间的延时处理。 简单应对多国语言产品开发 如何将同样的核心设计适用到不同地区的市场,是很多设备生产厂商都要考虑的问题。对于使用语音芯片作为人机交互手段的产品来说,首要面临的问题就是如何设计多国语言的版本。到目前为止,当提示语言改变时,将不可避免地造成控制软件的修改,而且针对不同语言的产品必须准备不同版本的语音芯片,给库存和管理都造成压力。OKI的语音产品通过存储器的库切换功能,轻松实现了在同一块芯片上整合不同语言版本的功能。 图示为在同一块芯片中存入了中英文两种语言信息。各种语言信息所对应的事件都是一样的,使用完全一样的控制软件。在设计不同语言的产品时,只需要简单地将SEL0,SEL1的设置进行相应切换,就可以轻松实现同一个设计的中英文版本。OKI的语音芯片多可以划分为4个库,也就是说使用同一块芯片可以实现4个语种的播放。

    图2:基于ROM Edit功能的分割播放。的存储器方式 语音芯片的应用开发人员面临的一个棘手问题是如何决定在开发测试阶段和规模量产阶段进行切换。语音数据需要进行较长时间音质评估和适用性测试,这个过程一般都是使用Flash或者OTP(One-timeーprogramming)方式的存储器,以便快速对语音数据进行评估。一旦评估结束后,在量产产品中一般都倾向于使用性价比更高的MaskROM存储器。但是MaskROM的漫长生产周期,起订数量的限制和不便宜的掩膜费用都加重了开发人员的压力,客户要求的频繁变更更是雪上加霜。以至于很多应用设计直接将Flash或者OTP方式的语音芯片应用到了量产产品中,而这样又对量产的效率和管理直接造成了影响。 为了更好地平衡语音芯片评估阶段的方便快捷和量产阶段高的大量廉价生产,OKI的语音芯片采用了OKI独自的P2ROM(Production programmed ROM)存储器。这种的存储器不同于MaskROM需要在芯片生产的前端工艺流程中进行写入操作,可以在芯片的封装测试阶段进行数据写入操作。因此芯片生产厂可以事先准备不同容量的芯片,等待客户的数据定好后,在芯片的封装测试阶段进行写入操作。 由于不需要经过前端工艺漫长的生产流程,工厂可以在极短的时间内(7-10天)完成数据的写入测试和出货,大大缩短了交货时间。而且极低的起订数量和零写入费用对于开发工程师来说更是吸引力。对于生产管理部门而言,P2ROM极短的交货期,的量产应对能力,以及工厂到工厂的点对点方式,减少了库存,降低了生产成本,减少了贴片前的测试流程,大大提高了生产效率。OKI使用P2ROM 存储器的语音芯片直接覆盖了开发、试产、量产的全部阶段。设计工程师再也不用发愁如何应对客户规格的突然变更和量产成本之间的矛盾了。 方便快捷的语音数据开发工具 语音芯片的应用开发人员面临的另外一个棘手的问题就是如何准备语音数据。通常语音数据的制作都需要聘请专门的播音员,租用专用的录音棚进行录音。不但费用高,而且费时费力。 有些开发商为了省事,干脆使用PC机加麦克风进行录音,导致各种讨厌的背景噪音和语音芯片如影随形。这些问题都直接或间接地限制了语音芯片的应用。 OKI新开发了利用TTS(Text to Speech)技术的语音数据生成工具“随心录”。自然流畅的中、英、韩、日等多国语言的语音数据合成引擎,大大方便了语音芯片的应用开发人员,实现了“芯”随字动。使用OKI的专用工具可以完成从语音数据的生成、波形编辑、ROM编辑、测试、烧写、声音评估等一连串的工作。大幅缩短了开发周期,节约了开发成本。弹指间完成语音数据准备的日子已经来到,应用开发工程师可以将自己的更多才智和时间放在更有创造性、更具灵动性的设计开发工作上。

    图3: 利用存储器切换功能实现多语种播放。 本文小结 为了获得更好的用户体验,通用化设计(Universal design)已经开始在以家电,游戏机,车载设备等为主的领域生根发展。作为通用化设计的一个侧面,利用语音交互的人机接口设计今后会变得越来越普遍。OKI的语音合成芯片在各个方面都已经做好准备,可以方便快速地应用到不同的设计领域中。


相关百科