分段录音母片制作
今年夏,因产品需要,原来的ISD1400系列的语音芯片,已经不能在产品上使用了。迫不得已,改用ISD1700系列的了。 跑遍深圳市场,没有一家能够提供ISD1700系列语音芯片的开发工具,如编程序器、烧录音器什么的,没办法,只好自己做。 在制作(ISD1700TOOLS)过程着,也对ISD1700系列芯片有新的认识,现将一些心得,记录下来。主要目的是给自己做一个笔记,以便日后有需要时,好有个查找。如果这些笔记,对新接触ISD系列的人,有些帮助,本人不胜荣幸。 关于ISD的资料,网上google一下,还是不少,这里对其功能、指令等不再赘述。姑且拿本人在一个产品中的应用部分,做为本次讲解的主要内容吧。 在看下面的内容前,建议读者,对ISD1700系列的指令系统,有一个初步的了解。 好像有许多要说的,不知从何说起。就先所说昨天对ISD1700分段语音的录制说起吧。 【应用背景】 这是一个应用在监控报警设备上的案例。有一监控设备,共有42个防区。单片机监控这些防区,发现防区状态改变时,发出语音信息。 报警信息通过西门子无线模块TC35i发送到手机,报警信息分短信和电话拨号两部分。其中电话拨号部分,当电话接通后,通过ISD1700播放预先录好的语音信息,输出到TC35i的MIC输入端。 【报警语音】 例,当第三防区(财务中心)检测到异常时,单片机通过SPI指令,控制ISD1700播放如下语音: 香江大楼03防区财务中心报警 我们将上面的语句,分解成如下字段: 主机名称: 香江大楼 防区代码:03 防区名称:财务中心 防区状态:报警 这样,我们预先录制好各种语音段(叫做语音元素吧),需要时,进行组合播放。 本例中,需要预先路子的语音元素为: ①主机名称:香江大楼 ②防区代码:0、1、2、3、4、5、6、7、8、9,共10段 ③防区名称:本例中共有42个防区,所以预先录制好这42个防区的名称,分别为: 第一防区、第二防区、第三防区、第四防区、…、第四十一防区 上面42个防区名称的语音信息,有些用户可能只用到少数几个防区,而不需要那么多的防区。考虑到产品的批量生产,这里还是以42个防区为例。当然,在编制单片机程序时,须开放用户更改防区名称的功能。 就是说,用户可现场录音,对“防区名称”的语音段,进行更改。所以,必须预留42个防区的语音空间,且这些“防区名称”的空间大小保持一致,即所有的“防区名称”其长度一致,以方便单片机播放“防区名称”,计算其起止地址。 ④防区状态:报警、正常 【采样频率与空间安排】 本案例中,采用ISD1740语音芯片,正常8K采样时,可存储40秒语音信息。本人在制作样机时,用4K的采样频率,使得可录放的语音长度为80秒。 关于采样频率,ISD1700系列可设置为12K,8K,6.3K,5.4K,4K,通常推荐8K。本例中,笔者采用4K采用频率(读者可根据需要,选择不同的采样频率。 在4K采样频率下,每秒占用的空间为4字节。即4字节/秒 下面规划语音空间(见下表),其中: SH、SL、EH、EL:语音元素的起始高地址、起始低地址、结束高地址、结束低地址。 在制作下表时,笔者顺便将指定地址的播放、录音、删除(SetPlay/SetRec/SetDel)指令一并列出,后面用得上。
好了,下面将各分段的“语音元素”(嘿嘿,我这样称呼),规划如下。原文件是用Excel做的,加上几个公式,得到如下的表格: ISD语音元素空间分配表 采样频率4K,速率:4Byte/s Name 内容 秒 字节 SH SL EH EL SetPlay SetRec SetDel Isd0 0 0.5 2 00 10 00 11 900010001100 910010001100 920010001100 Isd1 1 0.5 2 00 12 00 13 900012001300 910012001300 920012001300 Isd2 2 0.5 2 00 14 00 15 900014001500 910014001500 920014001500 Isd3 3 0.5 2 00 16 00 17 900016001700 910016001700 920016001700 Isd4 4 0.5 2 00 18 00 19 900018001900 910018001900 920018001900 Isd5 5 0.5 2 00 1A 00 1B 90001A001B00 91001A001B00 92001A001B00 Isd6 6 0.5 2 00 1C 00 1D 90001C001D00 91001C001D00 92001C001D00 Isd7 7 0.5 2 00 1E 00 1F 90001E001F00 91001E001F00 92001E001F00 Isd8 8 0.5 2 00 20 00 21 900020002100 910020002100 920020002100 Isd9 9 0.5 2 00 22 00 23 900022002300 910022002300 920022002300 IsdZc 正常 1 4 00 24 00 27 900024002700 910024002700 920024002700 IsdBj 报警 1 4 00 28 00 2B 900028002B00 910028002B00 920028002B00 IsdFq 防区 1 4 00 2C 00 2F 90002C002F00 91002C002F00 92002C002F00 IsdCh0 主机名称 4 16 00 30 00 3F 900030003F00 910030003F00 920030003F00 IsdCh1 1防区 1.75 7 00 40 00 46 900040004600 910040004600 920040004600 IsdCh2 2防区 1.75 7 00 47 00 4D 900047004D00 910047004D00 920047004D00 IsdCh3 3防区 1.75 7 00 4E 00 54 90004E005400 91004E005400 92004E005400 IsdCh4 4防区 1.75 7 00 55 00 5B 900055005B00 910055005B00 920055005B00 IsdCh5 5防区 1.75 7 00 5C 00 62 90005C006200 91005C006200 92005C006200 IsdCh6 6防区 1.75 7 00 63 00 69 900063006900 910063006900 920063006900 IsdCh7 7防区 1.75 7 00 6A 00 70 90006A007000 91006A007000 92006A007000 IsdCh8 8防区 1.75 7 00 71 00 77 900071007700 910071007700 920071007700 IsdCh9 9防区 1.75 7 00 78 00 7E 900078007E00 910078007E00 920078007E00 IsdCh10 10防区 1.75 7 00 7F 00 85 90007F008500 91007F008500 92007F008500 IsdCh11 11防区 1.75 7 00 86 00 8C 900086008C00 910086008C00 920086008C00 IsdCh12 12防区 1.75 7 00 8D 00 93 90008D009300 91008D009300 92008D009300 IsdCh13 13防区 1.75 7 00 94 00 9A 900094009A00 910094009A00 920094009A00 IsdCh14 14防区 1.75 7 00 9B 00 A1 90009B00A100 91009B00A100 92009B00A100 IsdCh15 15防区 1.75 7 00 A2 00 A8 9000A200A800 9100A200A800 9200A200A800 IsdCh16 16防区 1.75 7 00 A9 00 AF 9000A900AF00 9100A900AF00 9200A900AF00 IsdCh17 17防区 1.75 7 00 B0 00 B6 9000B000B600 9100B000B600 9200B000B600 IsdCh18 18防区 1.75 7 00 B7 00 BD 9000B700BD00 9100B700BD00 9200B700BD00 IsdCh19 19防区 1.75 7 00 BE 00 C4 9000BE00C400 9100BE00C400 9200BE00C400 IsdCh20 20防区 1.75 7 00 C5 00 CB 9000C500CB00 9100C500CB00 9200C500CB00 IsdCh21 21防区 1.75 7 00 CC 00 D2 9000CC00D200 9100CC00D200 9200CC00D200 IsdCh22 22防区 1.75 7 00 D3 00 D9 9000D300D900 9100D300D900 9200D300D900 IsdCh23 23防区 1.75 7 00 DA 00 E0 9000DA00E000 9100DA00E000 9200DA00E000 IsdCh24 24防区 1.75 7 00 E1 00 E7 9000E100E700 9100E100E700 9200E100E700 IsdCh25 25防区 1.75 7 00 E8 00 EE 9000E800EE00 9100E800EE00 9200E800EE00 IsdCh26 26防区 1.75 7 00 EF 00 F5 9000EF00F500 9100EF00F500 9200EF00F500 IsdCh27 27防区 1.75 7 00 F6 00 FC 9000F600FC00 9100F600FC00 9200F600FC00 IsdCh28 28防区 1.75 7 00 FD 01 03 9000FD000301 9100FD000301 9200FD000301 IsdCh29 29防区 1.75 7 01 04 01 0A 900004010A01 910004010A01 920004010A01 IsdCh30 30防区 1.75 7 01 0B 01 11 90000B011101 91000B011101 92000B011101 IsdCh31 31防区 1.75 7 01 12 01 18 900012011801 910012011801 920012011801 IsdCh24 32防区 1.75 7 01 19 01 1F 900019011F01 910019011F01 920019011F01 IsdCh25 33防区 1.75 7 01 20 01 26 900020012601 910020012601 920020012601 IsdCh26 34防区 1.75 7 01 27 01 2D 900027012D01 910027012D01 920027012D01 IsdCh27 35防区 1.75 7 01 2E 01 34 90002E013401 91002E013401 92002E013401 IsdCh28 36防区 1.75 7 01 35 01 3B 900035013B01 910035013B01 920035013B01 IsdCh29 37防区 1.75 7 01 3C 01 42 90003C014201 91003C014201 92003C014201 IsdCh30 38防区 1.75 7 01 43 01 49 900043014901 910043014901 920043014901 IsdCh31 39防区 1.75 7 01 4A 01 50 90004A015001 91004A015001 92004A015001 IsdCh32 40防区 1.75 7 01 51 01 57 900051015701 910051015701 920051015701 IsdCh33 41防区 1.75 7 01 58 01 5E 900058015E01 910058015E01 920058015E01 IsdCh34 42防区 1.75 7 01 5F 01 65 90005F016501 91005F016501 92005F016501 小计 85.5秒 342字节 【注】该表格是EXCEL制作的,只要输入红色字部分,蓝色字部分自动生产,这样不容易出错,需要此表格的,请与我联系。
【声源准备】 预先准备好语音元素的声源,存放到电脑中。声源文件大致可通过以下几种方法获得。 a) 请播音员在录音棚录制,效果最佳 b) 利用电脑合成,笔者利用“科大迅飞”网站的语音演示,进行电脑合成,效果还行,当然有些地方还是不如播音员的音质。在使用“科大迅飞”演示时,注意版权。这里仅仅说明这一功能可制作声音文件,相关版权问题,请用户自行解决。 c) 没办法,自己录音吧,或找身边普通话叫好的同事录音。
太麻烦了,**是用WORD写的,格式乱套了,干脆传WORD上来,见附件
相关链接:https://bbs.21ic.com/upfiles/img/20082/2008225142222885.rar |