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