IC卡電子語(yǔ)音書(shū)

圖1 IC卡電子語(yǔ)音書(shū)電氣原理圖本設(shè)計(jì)中設(shè)有6個(gè)按鍵,分別為"播放"(BUTTON0)、"快進(jìn)"(BUTTON1)、"慢進(jìn)"(BUTTON2)、"快退"(BUTTON3)、"慢退"(BUTTON4)和"停止"(BUTTON5)。為了能夠在下一次開(kāi)機(jī)時(shí)從上一次中止處繼續(xù)播放,需要一個(gè)掉電保持的數(shù)據(jù)存儲(chǔ)器,本文中使用了AT24C01A。為使播放裝置的體積和重量盡可能減小,本裝置僅使用一節(jié)AA型(即5號(hào))電池,因此需采用升壓式開(kāi)關(guān)型穩(wěn)壓電源,本文采用的是MAX856。為了節(jié)省電池消耗,本裝置應(yīng)具有自動(dòng)斷電的功能。按下"播放"鍵時(shí),MAX856芯片1腳將抬高為高電平,裝置上電。以后每隔16秒由單片機(jī)向MAX856芯片1腳發(fā)送一個(gè)高電平脈沖,讓裝置繼續(xù)被供電。當(dāng)定時(shí)時(shí)間(60分鐘)到時(shí),裝置停止向MAX856芯片發(fā)送高電平脈沖,則裝置自動(dòng)斷電。本設(shè)計(jì)中采用的AT45D041型大容量IC存儲(chǔ)卡的主要功能和技術(shù)參數(shù)如下:(1)具有與SPI兼容的串行接口;(2)4325376位;(3)低功耗,動(dòng)態(tài)電流為15mA,靜態(tài)待機(jī)電流為20μA;(4)最大時(shí)鐘頻率為10MHz。AT45D041型大容量IC存儲(chǔ)卡的引腳及命令請(qǐng)參閱參考文獻(xiàn)[1]。圖1中IC_CARD的1~8腳對(duì)應(yīng)于AT45D041的1~8引腳;9和10為IC卡座的輔助觸點(diǎn),用于檢測(cè)IC卡是否已插入。本設(shè)計(jì)中采用的ISD4004語(yǔ)音芯片的主要功能和技術(shù)參數(shù)如下:(1)16分鐘語(yǔ)音錄放,最小段長(zhǎng)200~400ms(本設(shè)計(jì)采用300ms);(2)最大段數(shù)2400段;(3)SPI接口方式。ISD4004語(yǔ)音芯睡的主要引腳及與單片機(jī)的連接方法描述如下:AUD OUT--輸出音頻信號(hào),為了得到較大的輸出,采用功率放大器LM386進(jìn)行放大再提供給耳機(jī)或喇叭。SS--片選,低電平有效,兩條指令之間為高電平。MOSI--串行輸入端,主控制器應(yīng)在串行時(shí)鐘上升沿之前半個(gè)周期將數(shù)據(jù)放到本端。MIS0--串行輸出端。SCLK--串行時(shí)鐘輸入端,由主控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)傳輸。上述4個(gè)端子分別接單片機(jī)的P1.7~P1.4。/INT--中斷,本端為漏極開(kāi)路輸出,在任何操作中檢測(cè)到EOM或OVF時(shí),本端變低并保持;接單片機(jī)的INT0。RAC--行地址時(shí)鐘,漏極開(kāi)路輸出,用于存儲(chǔ)管理,接單片機(jī)的P1.3。2 語(yǔ)音碼文件的形成ISD4004語(yǔ)音芯片是按段存放聲音的,每段一個(gè)音,每個(gè)音300ms。但應(yīng)注意到有許多字具有相同的發(fā)音(如ye3:也、冶、野);而有些發(fā)音并無(wú)漢字(如:wai2、sai3、ka2等)。對(duì)于每一個(gè)不同的音,又有5個(gè)基本的發(fā)聲(即陰平1、陽(yáng)平2、上聲3、去聲4和輕聲5)順序。只要有漢字與之對(duì)應(yīng)(相同發(fā)音只取一個(gè)),則賦予其一個(gè)編碼,如此即可得到全部語(yǔ)音碼。漢字現(xiàn)有發(fā)音共計(jì)1311個(gè)。設(shè)計(jì)時(shí),把所有不同的音按英文字節(jié)和發(fā)聲順序排列,共有1337個(gè)(1311漢字+26英文字母)語(yǔ)音碼,亦即1337個(gè)語(yǔ)音。用1.5個(gè)字節(jié)可存儲(chǔ)一個(gè)語(yǔ)音碼(亦即1個(gè)漢字讀音),則4M位的IC卡可存儲(chǔ)近349500個(gè)漢字語(yǔ)音。語(yǔ)音碼確定后,即可將1337個(gè)語(yǔ)音按語(yǔ)音碼的順序?qū)懛臝SD4004語(yǔ)音芯片中。首先按GB2312-80給出兩級(jí)漢字的內(nèi)碼與語(yǔ)音碼的轉(zhuǎn)換表,參見(jiàn)表1。對(duì)于給定的文本文件中的每個(gè)字,只需查出其區(qū)位碼,然后通過(guò)查表即可得到其拼音碼,最后將拼音碼寫(xiě)入大容量IC卡。對(duì)于標(biāo)點(diǎn)符號(hào),將其處理為停頓(不發(fā)聲)。值得注意的是,有些漢字(如:和,he2、he4、huo2、huo4、hu2)有多種發(fā)音,對(duì)于這些漢字將有多個(gè)語(yǔ)音碼與之對(duì)應(yīng)。究竟轉(zhuǎn)換為哪個(gè)語(yǔ)音碼,則需參考該漢字的前一漢字或后一漢字。仍不能確定時(shí),應(yīng)取出現(xiàn)概率為最大的音(如和,取he2)。
表1 區(qū)位碼與拼音碼的轉(zhuǎn)換表(片段)區(qū)位碼漢字發(fā)音拼音碼(16進(jìn)制)拼音順序號(hào)(十進(jìn)制)……………1712爆bao401F311713杯bei1020321714碑bei1020321715悲bei1020321716卑bei1020321717北bei302133……………采用VB程序?qū)㈦娔X中的文本文件轉(zhuǎn)換成本文的語(yǔ)音碼,并將其寫(xiě)入IC卡中,從而形成了"電子語(yǔ)音書(shū)"。不同IC卡裝有不同的內(nèi)容,即不同的"書(shū)"。注意到IC卡的內(nèi)容是可以改寫(xiě)的,一本書(shū)聽(tīng)過(guò)之后,還可以到特約的服務(wù)點(diǎn)換一本新的"書(shū)"來(lái)聽(tīng)。按照本文給出方案所設(shè)計(jì)的IC卡電子語(yǔ)音書(shū)插放裝量的體積約為120mm×80mm×14mm。本裝置的語(yǔ)音發(fā)音略顯生硬。如能進(jìn)一步引入智能處理算法,使各漢字發(fā)音之間的連接變得柔和一些,發(fā)聲效果將得到改善。
|
|
|
|