版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DSP課程設(shè)計(jì)
實(shí)驗(yàn)報(bào)告
語(yǔ)音壓縮、存儲(chǔ)和回放
院系:電子信息工程學(xué)院
小組成員:
通信0607王穎06282023
自動(dòng)化0601王燕06212023
目錄
一、設(shè)計(jì)任務(wù)書(shū)封面1
二、設(shè)計(jì)內(nèi)容與規(guī)定3
三、設(shè)計(jì)算法原理說(shuō)明4
四、程序設(shè)計(jì)、調(diào)試與結(jié)果分析7
CMD程序,C語(yǔ)言程序7
調(diào)試過(guò)程15
波形與數(shù)據(jù)顯示16
五、設(shè)計(jì)(安裝)與調(diào)試的體會(huì)17
六、參考文獻(xiàn)18
語(yǔ)音的壓縮、存儲(chǔ)與回放
一、設(shè)計(jì)規(guī)定與目的
(1)使用DSP實(shí)現(xiàn)語(yǔ)音壓縮和解壓縮的基本算法,算法類(lèi)型自定,例如可以采用G.711、
G.729等語(yǔ)音壓縮算法。
(2)采用A/D轉(zhuǎn)換器從MIC輸入口實(shí)時(shí)采集語(yǔ)音信號(hào),進(jìn)行壓縮后存儲(chǔ)到DSP的片內(nèi)和
片外RAM存儲(chǔ)器中,存儲(chǔ)時(shí)間不小于10秒。
(3)存儲(chǔ)器存滿(mǎn)之后,使用DSP進(jìn)行實(shí)時(shí)解壓縮,并從SPEAKER輸出口進(jìn)行回放輸出。
⑷使用指示燈對(duì)語(yǔ)音存儲(chǔ)和回放過(guò)程進(jìn)行指示。
發(fā)揮部分:
使用多種算法進(jìn)行語(yǔ)音的壓縮、存儲(chǔ)和解壓縮,比較它們之間的優(yōu)缺陷。
二、實(shí)驗(yàn)?zāi)康?/p>
1、通過(guò)本實(shí)驗(yàn)掌握5402DSP片上外設(shè)多通道緩沖串行口mcbspo
2、學(xué)習(xí)掌握tic320ad50CODEC編譯碼器的內(nèi)部結(jié)構(gòu)、工作原理。
3、學(xué)習(xí)A律語(yǔ)音壓縮以及C語(yǔ)言下的編程方法。
三、實(shí)驗(yàn)原理
1.語(yǔ)音采集與輸出模塊
語(yǔ)音采集與輸出模塊采用的是TI公司推出的一款高性能的立體聲音頻Codec芯片TLC
320AD50C,內(nèi)置耳機(jī)輸出放大器,支持MIC和UNEIN兩種輸入方式(二選一),且對(duì)輸入
和輸出都具有可編程增益調(diào)節(jié)。AD50的模數(shù)轉(zhuǎn)換(ADCs)和數(shù)模轉(zhuǎn)換(DACs)部件高度集成
在芯片內(nèi)部,采用了先進(jìn)的Sigma-delta過(guò)采樣技術(shù),可以在8K到96K的頻率范圍內(nèi)提供
16bit、2Obit、24bit和32bit的采樣,ADC和DAC的輸出信噪比分別可以達(dá)成90dB和
lOOdB。與此同時(shí),AD50還具有很低的能耗,回放模式下功率僅為23mW,省電模式下
更是小于15uWe由于具有上述優(yōu)點(diǎn),使得AD50是一款非常抱負(fù)的音頻模擬I/O器件,
可以很好的應(yīng)用在隨聲聽(tīng)(如CD,MP3……)、錄音機(jī)等數(shù)字音頻領(lǐng)域⑵。由TLC320AD5
0C組成的語(yǔ)音輸入與輸出模塊不僅采樣率高最高可達(dá)96K,且外圍電路簡(jiǎn)樸,性?xún)r(jià)比高。
2.語(yǔ)音編碼
(1)概念:
語(yǔ)音編碼一般分為兩類(lèi):一類(lèi)是波形編碼,一類(lèi)是被稱(chēng)為“聲碼器技術(shù)”的編碼。
PCM編碼即脈沖編碼調(diào)制。
波形編碼的最簡(jiǎn)樸形式就是脈沖編碼調(diào)制(PulsecodemoduIation),這種方式
將語(yǔ)音變換成與其幅度成正比的二進(jìn)制序列,而二進(jìn)制數(shù)值往往采用脈沖表達(dá),并用脈沖對(duì)
采樣幅度進(jìn)行編碼,所以叫做脈沖編碼調(diào)制。
脈沖編碼調(diào)制沒(méi)有考慮語(yǔ)音的性質(zhì),所以信號(hào)沒(méi)有得到壓縮。
(2)量化:
脈沖編碼調(diào)制用同等的量化級(jí)數(shù)進(jìn)行量化,即采用均勻量化,而均勻量化是基本的量化
方式。但是均勻量化有缺陷,在信號(hào)動(dòng)態(tài)范圍較大而方差較小的時(shí)候,其信噪比會(huì)下降。
國(guó)際上有兩種非均勻量化的方法:A律和u律,u律是最常用的一種。在美國(guó),7位u律是
長(zhǎng)途電話(huà)質(zhì)量的標(biāo)準(zhǔn)。而我國(guó)采用的是A律壓縮,并且有標(biāo)準(zhǔn)的A律PCM編碼芯片。
⑶DPCM&ADPCM:
減少傳輸比特率的方法之一是減少編碼的信息量,這要消除語(yǔ)音信號(hào)中的冗余度。相鄰
的語(yǔ)音樣本之間存在明顯的相關(guān)性,因此對(duì)相鄰樣本間的差信號(hào)進(jìn)行編碼,便可使信息量得
到壓縮。由于差分信號(hào)比原語(yǔ)音信號(hào)的動(dòng)態(tài)范圍和平均能量都小。這種編碼叫Differentia
1PCM,簡(jiǎn)稱(chēng)DPCM,即差分脈沖編碼調(diào)制。
ADPCM即自適應(yīng)差分脈沖編碼調(diào)制,是涉及短時(shí)預(yù)測(cè)的編碼系統(tǒng)。CCITT(國(guó)際電報(bào)
電話(huà)征詢(xún)委員會(huì))在1984年提出的32kbit/s的編碼器建議就是采用ADPCM作為長(zhǎng)途傳輸
中的國(guó)際通用語(yǔ)音編碼方案。這種ADPCM編碼方案達(dá)成64kbit/sPCM的語(yǔ)音傳輸質(zhì)
量,并具有很好的抗誤碼性能。
(4)a律壓縮
a律壓縮示意圖
A律壓縮編碼表
A律壓縮編碼表
線(xiàn)性輸入編碼壓縮編碼
0000000wxyza000wxyz
OOOOO0Iwxyza00Iwxyz
000001wxyzab0lOwxyz
000Olwxyzabc01Iwxyz
0001wxyzabed1OOwxyz
001wxyzabede101wxyz
01wxyzabcdef11Owxyz
1wxyzabcdefg111wxyz
采用DSP可以直接對(duì)PCM編碼后的語(yǔ)音信號(hào)進(jìn)行口律和A律壓縮。圖1是DSP硬
件實(shí)現(xiàn)數(shù)據(jù)壓縮解壓的簡(jiǎn)樸流程,DSP將傳輸來(lái)的壓縮后的數(shù)據(jù)進(jìn)行解壓成16位或者3
2位,然后對(duì)解壓后的數(shù)據(jù)進(jìn)行分析、解決,最后將解決后的數(shù)據(jù)按照規(guī)定壓縮成8位的數(shù)
據(jù)格式輸出到相應(yīng)設(shè)備,供其他設(shè)備讀取。
圖1數(shù)據(jù)壓縮解壓流程
圖2是DSP將數(shù)據(jù)解壓的值,DSP將壓縮的8位數(shù)據(jù)解壓成16位的DSP通用數(shù)據(jù)格
式,其中高13位為解壓后的數(shù)據(jù),低3位補(bǔ)0。這是由于6.711的A律壓縮只能對(duì)13
位數(shù)據(jù)操作。DSP將解壓后的數(shù)據(jù)放在緩沖串口的發(fā)送寄存器中,只要運(yùn)營(yíng)發(fā)送指令,緩沖
串口就會(huì)將數(shù)據(jù)發(fā)送出去。緩沖串口對(duì)接受數(shù)據(jù)的解壓過(guò)程和壓縮過(guò)程完全相反。圖3是|J
律數(shù)據(jù)解壓的示意圖。
15320
發(fā)送緩沖器'S—I0_
A律一
圖2A律數(shù)據(jù)解壓
15210
發(fā)送緩沖器:值I0二
u律
圖3口律數(shù)據(jù)解壓
DSP內(nèi)部的緩沖串口(McBSPs)帶有硬件實(shí)現(xiàn)的p律/A律壓縮解壓,用戶(hù)只需要在相
應(yīng)寄存器中進(jìn)行設(shè)立就可以了。
在進(jìn)行A律壓縮時(shí),采樣后的12位數(shù)據(jù),默認(rèn)其最高位為符號(hào)位,壓縮時(shí)要保持最高位
即符號(hào)位不變,原數(shù)據(jù)的后11位要壓縮成7位。這7位碼由3位段落碼和4位段內(nèi)碼組
成。具體的壓縮變換后的數(shù)據(jù)根據(jù)后11位數(shù)據(jù)大小決定.
表2A律數(shù)據(jù)壓縮表
12位碼(十進(jìn)制)■階符號(hào)位段落碼(二進(jìn)制)段內(nèi)碼(二進(jìn)制)
01111
16-31100010000-1111
32?63200100000?1111
64~127400110000~1111
3?255801000000-1111
256-5111601010000-1111
51270233201100000~1111
1024~20476401110000-1111
除對(duì)串行口數(shù)據(jù)實(shí)現(xiàn)壓擴(kuò)解決外,這套硬件在McBSP不使用時(shí)還可以當(dāng)作一個(gè)特殊的
解決單元對(duì)內(nèi)部數(shù)據(jù)實(shí)現(xiàn)壓擴(kuò)解決,他有兩種實(shí)現(xiàn)方法。
法一:當(dāng)串行口的發(fā)送和接受部分都處在復(fù)位狀態(tài)時(shí),DRR1和DXR1內(nèi)部通過(guò)壓擴(kuò)邏輯
連接在一起,數(shù)據(jù)從DXR1寫(xiě)入并根據(jù)XCOMPAND解決,然后根據(jù)RCOMPAND再解決,在
4個(gè)CPU時(shí)鐘后從DRR1中讀出數(shù)據(jù)。該解決比軟件實(shí)現(xiàn)快,不利之處在于解決完后沒(méi)有同
步信息告知CPU和DMA。
法二:在數(shù)據(jù)環(huán)回模式下,McBSP也實(shí)現(xiàn)了一種內(nèi)連。數(shù)據(jù)解決與第一種方法相同,但它
可以提供中斷信號(hào)(或同步事件)給CPU(或DMA)。這里數(shù)據(jù)解決的時(shí)間是根據(jù)串行口的比
特律擬定的。
此外,在通常情況下McBSP先傳輸信號(hào)的高位后傳輸?shù)臀?,但是在字長(zhǎng)為8比特的數(shù)據(jù)傳
輸時(shí),McBSP提供了比特倒序的功能,即可以先傳輸?shù)臀缓髠鬏敻呶弧?/p>
在本實(shí)驗(yàn)中,我們通過(guò)軟件編程來(lái)完畢線(xiàn)性碼轉(zhuǎn)換成A律。
語(yǔ)音信號(hào)通常是小信號(hào)概率大,大信號(hào)出現(xiàn)的概率小,為提高小信號(hào)時(shí)的量化信躁比,
壓縮比特速率,可為非線(xiàn)性量化。語(yǔ)音壓縮是把16位的數(shù)據(jù)比特轉(zhuǎn)化為8位數(shù)據(jù)比特,從
而到達(dá)語(yǔ)音壓縮的目的。
在主程序中通過(guò)A/D抽樣量化,可以得到16位的線(xiàn)性編碼,再由編碼表通過(guò)軟件計(jì)算得
到8位A律編碼,其中最高位為符號(hào)位,第6位到第4位為段落碼,低4位為段內(nèi)碼。將8
位的壓縮結(jié)果存儲(chǔ)到系統(tǒng)RAM中進(jìn)行緩存,根據(jù)抽樣率、語(yǔ)音存儲(chǔ)時(shí)間以及系統(tǒng)RAM的容
量設(shè)立語(yǔ)音存儲(chǔ)緩沖區(qū)的大小,待緩沖區(qū)存滿(mǎn)后,將緩沖區(qū)內(nèi)的數(shù)據(jù)進(jìn)行解壓縮,然后輸出
到SPEAKER接口輸出端。
若使用A/D轉(zhuǎn)換器,必須一方面對(duì)A/D轉(zhuǎn)換器進(jìn)行初始化設(shè)立,即設(shè)立A/D轉(zhuǎn)換器的
工作模式、輸入增益以及抽樣頻率等。
3.程序設(shè)計(jì)
(1)、程序流程
存儲(chǔ)器的分派(5402.cmd)
MEMORY
PAGE0:VECS:origin=0080h,length=0080h/*Interna1
ProgramRAM*/
PRAM:origin=7600h,1ength=80OOh/*Internal
ProgramRAM*/
PAGE1:SCRATCH:origin=0060h,length=0020h/*ScratchPad
DataRAM*/
DMARAM:origin=OCOOh,length=0300h/*DMA
buffer*/
DATA:origin=1100h,1ength=0080h/*In
ternalDataRAM*/
STACK:origin=118Oh,1ength=0560h/*Stack
MemorySpace*/
INRAM:origin=19OOh,length=0100h/*Internal
DataRAM*/
HPRAM0:origin=1A00h,length=0002h/*HPImem
oryaccessiblebyIiostandDSP*/
HPRAMI:origin=1A02h,1ength=028Oh/*HPI
memoryaccessiblebyHostandDSP*/
HPRAM2:origin=1C82h,length=0280h/*HPImemory
accessib1ebyHostandDSP*/
EXRAM:origin=lFlOh,1ength=9000h/*External
DataRAM*/
)
SECTIONS
.cinit>PRAMPAGE0
.text>PRAMPAGE0
.vectors>VECSPAGE0
initvar>PRAMPAGE0
detect>PRAMPAGE0
vrcprg>PRAMPAGE0
matprg>PRAMPAGE0
,stack>STACKPAGE1
.trap>SCRATCHPAGE1
.cons>EXRAMPAGE1
.data>EXRAMPAGE1
bss>EXRAMPAGE1
,cio>EXRAMPAGE1
,switch>EXRAMPAGE1
tables>EXRAMPAGE1
var>EXRAMPAGE1
svctab>EXRAMPAGE1/*SS_VLSPtable*/
vctab>EXRAMPAGE1/*VLSPtable*/
uvctab>EXRAMPAGE1/*UVLSPtable*/
cuvtab>EXRAMPAGE1/*StochaSticcodebook*/
cdbktab>EXRAMPAGE1/*variouscodebooktabies
*/
logtab>EXRAMPAGE1/*tablefcrlog2*/
powtab>EXRAMPAGE1/*tableforp]ow2*/
hamtab>EXRAMPAGE1/*tableforhamming*/
1gwtab>EXRAMPAGE1/*tableforlagwindow*/
acostab>EXRAMPAGE1/*tab1efora;rccos*/
sqrtab>EXRAMPAGE1/*tableforsquareroot
*/
acbtab>EXRAMPAGE1/*tabieforthresho1dsina
cb*/
pm03tab>EXRAMPAGE1tableforx"(-0.3)
computation*/
costab>EXRAMPAGE1/*tableforcosine*/
V23>INRAMPAGE1
FSK>INRAMPAGE1
hpibuffO>HPRAMOPAGE1
hpibuff1>HPRAMlPAGE1
hpibuff2>HPRAM2PAGE1
dmabuff>DMARAMPAGE1
}
/*主程序設(shè)計(jì)*/
/*語(yǔ)音采集及回放程序*/
/*用A律進(jìn)行壓縮及解壓*/
/*采用AD50進(jìn)行A/D,D/A轉(zhuǎn)換*/
/火燈循環(huán)閃爍程序開(kāi)始*/
/*L0:錄音*/
/*L1:放音*/
#include<type.h>/*頭文獻(xiàn)*/
#include<board.h>
#inc1ude<codec.h>
#include<mcbsp54.h>
/*宏定義*/
#defineoSIGN_BIT(0x80)/*SignbitforaA-lawbyte.*/
#defineoQUANT_MASKO(oxf)?>/*Quantizationfieldmask.*/
#defineNSEGS*8)。/*NumberofA-lawsegments.*/
#define<>SEG_SHIFT(4)oo/*Leftshiftforsegmentnumber.
*/
#defineSEG_MASK(Ox70)“*Segmentfieldmask.*/
/*函數(shù)聲明
*/
voiddelay(sl6period);
voidled(sl6ent);
voidinitcodec(void);
voidflashenable(void);
unsignedchardata2a1aw(si6pcm_val);
intalaw2data(unsignedcharoa_va1);
staticintsearch(intval,short*?^table,intsize);
/*全局變量*/
HANDLEhHandset;
s16data;
sl6datal;
ul6i=0;
ul6temp1;
ul6j=0;
u16k,1=0;
u8temp2;
ul6buffer[20230];
staticshortseg_end[8]={OxlF,0x3F,0x7F,OxFF,0xlFF,0x3FF,0
x7FF,OxFFF);
/*主函數(shù)*/
voidmain()
if(brd_init(100))
return;
led(2);//閃燈兩次
initcodec();//初始化codec
f1ashenable();〃選擇片外FLASH為片外存儲(chǔ)器
/*
delay(100);
brdledtogg1e(BRD_LEDO):
for(i=0x9000;i<0xefff;i++)
(
REG_WRITE(i,*(volatileul6*)DRR1_ADDR(HANDSET_C0DEC));
delay(20);
)
brd_ledtoggle(BRDLED1);
delay(200);
for(i=0x9000;i<0xefff;i++)
(
*(volatileu16*)DXR1_ADDR(HANDSET_CODEC)-REG_READ(i);
delay(20);
}
brd_1ed_toggle(BRD_LED2);
*/
while(1)
(
while(!MCBSP_RRDY(HANDSET_CODEC)){};//等待接受h
andset處的采樣
brd1edtoggle(BRD_LEDO);
data=*(volatileul6*)DRR1_ADDR(HANDSET_CODEC);//從hands
et處讀取采樣
templ=data2alaw(data);〃對(duì)采樣進(jìn)行a律
壓縮
/*把低地址數(shù)據(jù)放在高八位高地址數(shù)據(jù)放在低八位*/
i=i+1;
oif(i%2==l)
00{
buffer[j]=(templ<<=8);
o/*奇數(shù)數(shù)據(jù)左移8位templ=abcdefghOOOOOOO0
g?>buffer[p1*/
oao)
else
3(
oobuffer[j]=(buffer[j]Itempi);
g/*偶數(shù)數(shù)據(jù)與temp1取或組成新的數(shù)據(jù)
buffer[j]=ab
cdefghiabcdefghi*/
gj++;〃j加1
0)
if(i>=40000)
8(
g}
oif(j>=20230)
6(
。j=0;
。wbrd_led_disab1e(BRD_LEDO);
。?>brd1ed_toggle(BRDLED1);
//點(diǎn)亮二極管1表達(dá)放
音開(kāi)始
/*放音部分
*/
for(k=0;k<40000;k++)
06(
。08if(k%2==0)
0b0(
。。temp2=(buffer[1]>>8)&OxOff;
08d}
。qelse
000{
。^temp2=buffer[l]&OxOff;
。。1++;
oo}
ooif(l>=20230)
。。1=0;
00data1=a1aw2data(temp2);//a律解壓
while(!MCBSP_XRDY(HANDSET_CODEC)){};
3"(volatileu16*)DXRIADDR(HANDSETCODEC)=datai;〃將
數(shù)據(jù)寫(xiě)入D/A轉(zhuǎn)換器
?)
/*放音結(jié)束
o。brdled_toggle(BRDLEDO);
brd_led_toggle(BRD_LED1);
00
000
)
)
)〃主程序結(jié)束
/*子函數(shù)*/
/*******延時(shí)******/
voiddelay(s16period)
inti,j;
for(i=0;i<period;i++)
for(j=0;j<period>>l;j++);
)
)
/*****大*閃燈****火*/
voidled(si6ent)
(
while(cnt—)
brd_led_toggle(BRD_LED0);//切換LED指示燈0的顯示狀
態(tài)
odelay(1000);
brd_1ed_toggle(BRD_LED1);
火lelay(1000);
obrd_led_toggle(BRD_LED2);
delay(1000);
)
)
/*****初始化codec**/
voidinitcodec(void)
/*OpenHandsetCodec獲取設(shè)立codec的句柄*/
hHandsetcodec_open(HANDSET_CODEC);/Acquirehandiet
ocodec
/*Setcodecparameters*/
codecdac_mode(hHandset,CODEC_DAC_15BIT);//DACin15-bi
tmode
codec_adc_mode(hHandset,C0DEC_ADC_15BIT);//ADCin15—
bitmode
codec_ain_gain(hHandset,CODEC_AIN6dB);//6dBgainona
na1oginputtoADC
codec_aout_gain(hHandset,C0DEC_A0UT_MINUS_6dB);
//-6dBgainonan
alogoutputfromDAC
codec_sample_rate(hllandset,SR_8000);//8KHzsa
mp1ingrate
)
/*****設(shè)立flash****/
voidflashenab1e(void)
I
CPLD_CTRL2_REGI=0x0010;
CPLD_DMCTRL_REG|=Ox0040;
}
/*****a律壓縮******/
unsignedchardata2alaw(s16pcmva1)。
tomask;
int。seg;
unsignedchareava1;
oif(pcm_va1>=0)
°(
。mask=0xD5;。//標(biāo)記(7th)bit=1
。}
oelse
°(
emask=0x55;抽//標(biāo)記bit=0
pcm_va1=-pcm_va1;
d
。//Convertthesealedmagnitudetosegmentnumber.
oseg=search(pcm_va1,seg_end,8);
//Combinethesign,segment,andquantizationbits.
if(seg>=8)o//outofran
ge,返回最大數(shù).
?>return(0x7F八mask);
?>else
aval=seg<<SEG_SHIFT;
if(seg<2)
oooavalI=(pcm_val?1)&QUANT_MASK;
oeIse
<?ava1(pcm_val>>seg)&QUANT_MASK;
oreturn(ava1mask);
。}
)
/****alaw的子程序**/
staticintsearch(intval,short沐tabie,intsize)
I
int;
ofor(i=0;i<size;i++)
°(
?if(va1<=*table++)
oreturn(i);
d
。return(size);
)
/*****a律解壓******/
intalaw2data(unsignedchar陽(yáng)_va1)
I
intt;
ointoseg;
a_val=0x55;
t=(a_val&QUANTJIASK)<<4;
?seg=((unsigned)a_val&SEG_MASK)>>SEG_SHIFT;
oif(seg==0)
。?t+=8;
?>t=(t>>3);
}
。if((seg<4)&&(seg>0))
°{
t+=0x108;
t=(t?(4-seg));
)
if(seg>3)
t+=0x108;
ot=(t<<=(seg-4));
return((a_val&SIGN_BIT)?t:—t);
)
/*結(jié)束*/
四.操作過(guò)程
1.將工程文獻(xiàn)夾放入C盤(pán)規(guī)定目錄下。
2.打開(kāi)CCS,Project-open,打開(kāi)工程文獻(xiàn)。
3.進(jìn)行編譯,連接。
4.根據(jù)錯(cuò)誤提醒,對(duì)buildoption進(jìn)行對(duì)的的設(shè)立,修改頭文獻(xiàn)途徑。
5.再編譯,連接,顯示沒(méi)有錯(cuò)誤。
6.loadprogram—run,此時(shí)三盞燈循環(huán)亮,之后程序開(kāi)始,第一盞燈亮
開(kāi)始錄音,一段時(shí)間后第二盞燈亮開(kāi)始放音,然后又開(kāi)始錄音。依次循環(huán).
五.調(diào)試過(guò)程與運(yùn)營(yíng)結(jié)果
1.觀(guān)測(cè)數(shù)據(jù)結(jié)果
Viewwatchwindow
我們輸入buffer,顯示此數(shù)組的值,如圖D所示。
2.觀(guān)測(cè)數(shù)據(jù)圖形
ViewGraphTimeFrequency
可以加入斷點(diǎn),然后按Animate動(dòng)態(tài)顯示。
分別觀(guān)測(cè)語(yǔ)音輸入(存放在變量data中)波形,壓縮后波形(tempi),解壓后輸出波形(da
ta1),圖形分別為A,B,Co
3.觀(guān)測(cè)存儲(chǔ)器中數(shù)據(jù)
ViewMemory
通過(guò)多次調(diào)試,使錄音時(shí)間在保持音質(zhì)的前提下達(dá)成5-6秒。
A.輸入波形(data)
用w□E3asE]E30?±
方
西
口
蚓
CJ
-stockoptiont。changethedefoultsize.-I
dComplete.
Errors,1Warnings,0Ramarks.
?.大回營(yíng)H
?/C54G2DSKZCFV.lDnct-Ntorosoft
B.壓縮后波形(temp1)
Z/C5402DSK/CPU_1-C54X-CodeCoaposexStudio-[GraphicalDisplay!RTj西岡
區(qū)E>1?NditYi?Eroj.ctp.bucFcefil.r<;ELOptionToolsDSF/BIOSNind。*K.lp
圖。7|>“-31。I??AW.,1iZIZI?(?-?=%.?-
inu.i>jtKiD.bo<3,掰蛆/"-*'?
用w|30醺回日回心
-stockoptiontochangethedefaultsize.
dComplete.
Errors,1Warnings,0Remarks.
],「「|\BMd廠(chǎng)1臼
陽(yáng)英。?.大通冷工|J
?c*o'X/C5402OSK/Crv_l.QBoel-Mtcrosoft々占二?叼。20。4
C.解壓縮后輸出波形(datal)
I^/CM07DSJt/CPIl_l-Cb4X-Coi!?C?i>ox?rStudio-[Crxphi<:M1n>xi>lxy]
B?回因
E>1?Kd>tY***Er?j?ct£?bucProf,1”柒LOptionX??l(D£P(guān)/BIOSn,nd”H?lp
I心第I匚工
i|D?bu(
國(guó)曲㈡國(guó)85回日畫(huà)d
變
國(guó)
口
南
幻
dComplete.
Errors,1Warnings,0Remarks.
I-J"I*hBiMW/
發(fā)英,:?大陋I5工|
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 假期打工心得體會(huì)
- 中秋節(jié)主持人活動(dòng)主持詞(10篇)
- 探究植物細(xì)胞吸水與失水的教學(xué)設(shè)計(jì)
- 探究公眾對(duì)無(wú)償獻(xiàn)血的認(rèn)知及宣傳對(duì)策研究
- 寫(xiě)給生命課件教學(xué)課件
- 影響藥物作用的因素
- 銀行業(yè)印鑒核驗(yàn)系統(tǒng)技術(shù)規(guī)范 編制說(shuō)明
- 課文金子課件教學(xué)課件
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算帶括號(hào))計(jì)算題專(zhuān)項(xiàng)練習(xí)與答案
- 購(gòu)買(mǎi)運(yùn)輸公司二手貨車(chē)協(xié)議書(shū)(2篇)
- 《教育均衡發(fā)展》課件
- 《門(mén)店選址策略》課件
- 私立民辦初中學(xué)校項(xiàng)目運(yùn)營(yíng)方案
- 試卷印制服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 1+X數(shù)字營(yíng)銷(xiāo)技術(shù)應(yīng)用題庫(kù)
- 俄羅斯禮儀完
- 小學(xué)六年級(jí)語(yǔ)文(小升初)修改病句專(zhuān)項(xiàng)練習(xí)題(含答案)
- 人教版六年級(jí)音樂(lè)上冊(cè)全冊(cè)教案
- 辦稅服務(wù)外包投標(biāo)方案(技術(shù)標(biāo))
- 冷庫(kù)是有限空間應(yīng)急預(yù)案
- 學(xué)校安全隱患排查整治表
評(píng)論
0/150
提交評(píng)論