打印

ISD1700系列应用心得

[复制链接]
4125|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kuheye|  楼主 | 2008-2-25 14:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
分段录音母片制作

今年夏,因产品需要,原来的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

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

88

帖子

2

粉丝