分享

ISD1700应用心得(一),分段录音母片制作实例 -- kuheye's Blog

 visionary123 2011-05-02

ISD1700应用心得(一),分段录音母片制作实例

ISD1700系列应用心得()

分段录音母片制作

 

今年夏,因产品需要,原来的ISD1400系列的语音芯片,已经不能在产品上使用了。迫不得已,改用ISD1700系列的了。

跑遍深圳市场,没有一家能够提供ISD1700系列语音芯片的开发工具,如编程序器、烧录音器什么的,没办法,只好自己做。

在制作(ISD1700TOOLS)过程着,也对ISD1700系列芯片,有新的认识,现将一些心得,记录下来。主要目的是给自己做一个资料整理,以便日后有需要时,好有个查找。因断断续续写(本来就没打算要发表,权当工作记录),读取来显得零散。

这些心得,不敢说对刚刚接触ISD1700的工程师,有些帮助。只要你不嫌我行文罗嗦,你就将就着看吧,我得说声谢谢了。

好像有许多要说的,不知从何说起。就先所说昨天对ISD1700分段语音的录制说起吧。

【分段录音实例】

【应用背景】

这是一个应用在监控报警设备上的案例。有一监控设备,共有32个防区。单片机监控这些防区,发现异常(状态改变)时,发出语音报警。报警内容为:

“防区代号”+“防区”+“防区名称”+“报警”

如:03防区为“财务中心”,出现异常时,发出的报警语音为:

03防区财务中心报警

每个防区均用“防区代码”和“防区名称”映射。防区名称可由用户更改。

【思路】

根据应用要求,对语音进行分段录制和播放,需要播放时,根据报警点,进行组合放音。

本案例中,采用ISD1740语音芯片,正常8K采用时,可存储40秒语音信息。因本例中是使用电话语音播放,故用4K采样频率。这样可录放的语音长度为80秒。

好了,下面将各分段的“语音元素”(嘿嘿,我这样称呼),规划如下。原文件是用Excel做的,加上几个公式,得到如下的表格:

AddName

内容

时长(秒)

字节

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

IsdTd

停电

1

4

00

2C

00

2F

90002C002F00

91002C002F00

92002C002F00

IsdKm

开门

1

4

00

30

00

33

900030003300

910030003300

920030003300

IsdGd

供电

1

4

00

34

00

37

900034003700

910034003700

920034003700

IsdZd

红外

1

4

00

38

00

3B

900038003B00

910038003B00

920038003B00

IsdFq

防区

1

4

00

3C

00

3F

90003C003F00

91003C003F00

92003C003F00

IsdByq

变压器

1.5

6

00

40

00

45

900040004500

910040004500

920040004500

IsdKzgm

控制柜大门

1.75

7

00

46

00

4C

900046004C00

910046004C00

920046004C00

IsdXL

线路

1

4

00

4D

00

50

90004D005000

91004D005000

92004D005000

IsdCh0

00防区

1.75

7

00

51

00

57

900051005700

910051005700

920051005700

IsdCh1

01防区

1.75

7

00

58

00

5E

900058005E00

910058005E00

920058005E00

IsdCh2

02防区

1.75

7

00

5F

00

65

90005F006500

91005F006500

92005F006500

IsdCh3

03防区

1.75

7

00

66

00

6C

900066006C00

910066006C00

920066006C00

IsdCh4

04防区

1.75

7

00

6D

00

73

90006D007300

91006D007300

92006D007300

IsdCh5

05防区

1.75

7

00

74

00

7A

900074007A00

910074007A00

920074007A00

IsdCh6

06防区

1.75

7

00

7B

00

81

90007B008100

91007B008100

92007B008100

IsdCh7

07防区

1.75

7

00

82

00

88

900082008800

910082008800

920082008800

IsdCh8

08防区

1.75

7

00

89

00

8F

900089008F00

910089008F00

920089008F00

IsdCh9

09防区

1.75

7

00

90

00

96

900090009600

910090009600

920090009600

IsdCh10

10防区

1.75

7

00

97

00

9D

900097009D00

910097009D00

920097009D00

IsdCh11

11防区

1.75

7

00

9E

00

A4

90009E00A400

91009E00A400

92009E00A400

IsdCh12

12防区

1.75

7

00

A5

00

AB

9000A500AB00

9100A500AB00

9200A500AB00

IsdCh13

13防区

1.75

7

00

AC

00

B2

9000AC00B200

9100AC00B200

9200AC00B200

IsdCh14

14防区

1.75

7

00

B3

00

B9

9000B300B900

9100B300B900

9200B300B900

IsdCh15

15防区

1.75

7

00

BA

00

C0

9000BA00C000

9100BA00C000

9200BA00C000

IsdCh16

16防区

1.75

7

00

C1

00

C7

9000C100C700

9100C100C700

9200C100C700

IsdCh17

17防区

1.75

7

00

C8

00

CE

9000C800CE00

9100C800CE00

9200C800CE00

IsdCh18

18防区

1.75

7

00

CF

00

D5

9000CF00D500

9100CF00D500

9200CF00D500

IsdCh19

19防区

1.75

7

00

D6

00

DC

9000D600DC00

9100D600DC00

9200D600DC00

IsdCh20

20防区

1.75

7

00

DD

00

E3

9000DD00E300

9100DD00E300

9200DD00E300

IsdCh21

21防区

1.75

7

00

E4

00

EA

9000E400EA00

9100E400EA00

9200E400EA00

IsdCh22

22防区

1.75

7

00

EB

00

F1

9000EB00F100

9100EB00F100

9200EB00F100

IsdCh23

23防区

1.75

7

00

F2

00

F8

9000F200F800

9100F200F800

9200F200F800

IsdCh24

24防区

1.75

7

00

F9

00

FF

9000F900FF00

9100F900FF00

9200F900FF00

IsdCh25

25防区

1.75

7

01

00

01

06

900000010601

910000010601

920000010601

IsdCh26

26防区

1.75

7

01

07

01

0D

900007010D01

910007010D01

920007010D01

IsdCh27

27防区

1.75

7

01

0E

01

14

90000E011401

91000E011401

92000E011401

IsdCh28

28防区

1.75

7

01

15

01

1B

900015011B01

910015011B01

920015011B01

IsdCh29

29防区

1.75

7

01

1C

01

22

90001C012201

91001C012201

92001C012201

IsdCh30

30防区

1.75

7

01

23

01

29

900023012901

910023012901

920023012901

IsdCh31

31防区

1.75

7

01

2A

01

30

90002A013001

91002A013001

92002A013001

IsdZj

主机名称

4

16

01

31

01

40

900031014001

910031014001

920031014001

 

表格说明,只要你的ISD1700稍微熟悉,应该明白上表的内容。

【母片制作】

1步:准备声源文件

找一个录音软件,各种录音编辑软件应该不难找。我是用WindowsXP自带的“录音机”程序。就在“程序\附件\娱乐\录音机,别看它简单,可比较实用。后来,同事还送我一个Cool Edit Pro2.1,中文汉化的,也蛮好用。

录音,找个清静的地方,自己对着话筒,吼吧。不满意自己的声音,就找个漂亮妹妹当播音员吧。嘿嘿,我准备叫老婆帮忙,北京的MM,标准的普通话。

还有,登录安徽科大讯飞,利用语音合成演示软件,可以进行语音合成。不过版权问题,自己解决,你要盗版,与我无关。

总之,将声源文件准备好,看看我的:

 

2步:打开录音机,试试看播放一段语音

3步:连接硬件

                  电脑喇叭输出口,接ISD1700TOOLS编程器的LINE输入(右下角的浅绿色插座),对用线路录音的方式。

                  音响线接ISD1700TOOLS编程器的喇叭输出插孔(黑色的那个),用来做录音监听。

                  连接好串口线

                  最后别忘记连接电源

4步:打开串口调试助手,如下图设置好波特率

 

5步:插入ISD1740芯片,打开编程器电源开关

6步:调整采样频率。

将编程器选择到【功能1】,设置采样频率为4K。只需要设置一次,编程器将采样频率保存到EEPROM中,下次重新更改之前,采样频率不变。

7步:设置PC-SPI模式及声控模式。

ISD1700TOOLS编程器,选择到功能7,将“声控模式选择到SC:M,即MIC话筒声控模式。

8步:上电,设置APC寄存器。

在串口调试助手中,输出上电指令,即在发送对话框中输入“0100回车”,再点击“手动发送”,这时,应该得到回复:

MOSI:0100

MISO:0300

如果没有回复,则检查前几步是否正确。

接下来,更改APC寄存器。设置为线路输入录音,监控开。输入如下指令:“650804回车”,点击“手动发送”,同样会得到回复。

此时,点击电脑的录音机放音,声音可通过ISD1700输出的监听的音箱上,如果听不到声音,则前几步错误,返回检查或重新设置。

9步,输入指定录音指令SetRel

我们来录音“0”到ISD

在串口调试助手软件中,输入:910010001100,回车,点击手动发送。

提示:参照上表,将SetRel列中的对应的内容,复制,然后粘贴到串口调试软件中,我的表格是在EXCEL中制作的,这样不容易出错。(需要EXCEL原文件的朋友,跟我联系:TEL:13602696863,Email:isd1700@163.com,kuheye@163.com,QQ:798183213

这时,ISD1700编程器的LCD上,显示如下:

 

10步,关键一步。

先说说原理吧,因为声控模式选择为话筒声控。而录音模式选择为线路录音,乍看起来,好像不合理,其实不然。

ISD1700编程器会自动拦截录音指令,然后在根据声控模式,等待声控触发。就是说ISD1700编程器的单片机,已经将录音指令准备好,就等声控触发了。

好,关键一步操作:

同时进行下面两个操作:

     用鼠标点击“录音机”播放(你播放的声源文件要先装载好);

     对准编程器的话筒,吹一声口哨。

口哨声是标准的正弦波,可作为话筒触发的声源,如果你不会吹口哨的话(你丫的是太监不成,口哨都不会吹?),那就弄点响声出来(敲桌子摔板凳,大声咳嗽,喊救命都行)。

 

好了,一段录音完成,而且是按指定的地址录音。试听一下,按ISD1700编程器的按PLAY键(即ISD1700独立按键,小按键左边第一个),听听刚刚录制的声音满意否。

如果不满意,删除,在串口调试软件中输入:920010001100,即SetDel命令。回到第9步,重新操作。

如果满意,那就进行下一段录音,重复第9步执行。

 

如法炮制,依次录制其他分段录音。

 

母片制作完成后,可利用ISD1700TOOLS的编程器,进行整片拷贝,多备份几个母片,具体详见ISD1700【功能4

 

 

系统分类: 汽车电子   |   用户分类: 无分类   |   来源: 无分类   |   【推荐给朋友】   |   【添加到收藏夹】

0

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多