freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

語音信號基音周期檢測的軟件設(shè)計(jì)畢業(yè)論文-文庫吧資料

2025-06-25 13:41本頁面
  

【正文】 能,測試時(shí)無法選擇算法,對其進(jìn)行調(diào)試,修改錯(cuò)誤,從而實(shí)現(xiàn)算法選擇功能;各算法比較功能,沒有錯(cuò)誤。發(fā)現(xiàn)錯(cuò)誤后,經(jīng)過查詢,首先選擇以靜態(tài)方式編譯此EXE文件,運(yùn)行時(shí)還是顯示相同錯(cuò)誤,安裝vs sp1補(bǔ)丁后,依舊無法打開界面,再次進(jìn)行查詢,,。得出總體程序之后,對程序進(jìn)行調(diào)試及編譯,再分別檢測MFC界面各部分的性能,對主程序進(jìn)行編譯時(shí),顯示有一個(gè)錯(cuò)誤,根據(jù)提示,得出是版本問題,修正版本并為軟件添加補(bǔ)丁后,再次編譯,沒有再顯示錯(cuò)誤,從而得到可視化MFC界面。在程序中設(shè)置斷點(diǎn)的方法是,點(diǎn)擊要設(shè)置的代碼行并點(diǎn)擊設(shè)置代碼的工具欄按鈕,會出現(xiàn)在代碼行最左邊的一個(gè)小黑點(diǎn)即是斷點(diǎn)標(biāo)志,這時(shí)再選Go程序會在執(zhí)行到端點(diǎn)處停下來,如果要繼續(xù)執(zhí)行可以再選Go。在VC“組建”(Build)菜單下的“開始調(diào)試”中有4條專用的調(diào)試,在運(yùn)行程序源代碼時(shí)用Go命令(而不是Execute)才能處于調(diào)試狀態(tài),Go命令會使程序運(yùn)行變得緩慢下來,但可以更好地控制運(yùn)行程序,我們可以在任何時(shí)刻中斷程序、單步執(zhí)行、查看變量、檢查調(diào)用棧。 DEBUG 版本當(dāng)中,包含著MICROSOFT 格式的調(diào)試信息,不進(jìn)行任何代碼優(yōu)化,而在RELEASE 版本對可執(zhí)行程序的二進(jìn)制代碼進(jìn)行了優(yōu)化,但是其中不包含任何的調(diào)試信息。 有關(guān)調(diào)試的快捷鍵:F5:開始調(diào)試;Shift+F5:停止調(diào)試 ;F10:調(diào)試到下一句,這里是單步跟蹤;F11:調(diào)試到下一句,跟進(jìn)函數(shù)內(nèi)部;Shift+F11:從當(dāng)前函數(shù)中跳出;Ctrl+F10:調(diào)試到光標(biāo)所在位置;F9:設(shè)置(取消)斷點(diǎn);Alt+F9:高級斷點(diǎn)設(shè)置。;。利用成員函數(shù)on32773()畫出有聲段卷積之后的基音周期圖,能夠更加清楚地觀察出語音信號的基音周期。利用成員函數(shù)OnDraw來繪制本課題所要用界面的空白部分,為本課題所需數(shù)據(jù)添加繪制代碼,從而在界面上顯示所需數(shù)據(jù)如文件長度、通道數(shù) 、采樣率、傳輸速率、調(diào)整數(shù)、每個(gè)樣本的數(shù)據(jù)位數(shù)、語音數(shù)據(jù)的長度,并在界面的矩形區(qū)域中,顯示語音信號的時(shí)域波形。利用ApplicationWizard生成了一個(gè)SDI界面的程序代碼后,接下來的需要在CView派生類的OnDraw成員函數(shù)中加入繪圖代碼,OnDraw函數(shù)會在窗口需要重繪時(shí)自動被調(diào)用,傳入的參數(shù)CDC* pDC對應(yīng)的就是DC環(huán)境。使用資源編輯器編輯此工具欄位圖,并更新 中的 IDR_MAINFRAME TOOLBAR 數(shù)組以添加工具欄按鈕。 res\ 此位圖文件用于為工具欄創(chuàng)建平鋪圖像。  對于主框架窗口,包含標(biāo)準(zhǔn) MFC 界面。此圖標(biāo)包括在主要資源文件 中。項(xiàng)目資源位于2052中。它包括RES子目錄中存儲的圖標(biāo)、位圖和光標(biāo)。 CConvForPDApp的主要應(yīng)用程序源文件。 。 VC++ 項(xiàng)目的主項(xiàng)目文件。 可視化界面的軟件實(shí)現(xiàn) 用VC++編寫一個(gè)MFC界面時(shí),首先打開VC++,點(diǎn)擊文件新建項(xiàng)目MFC應(yīng)用程序單文檔完成。點(diǎn)擊打開文件按鈕,關(guān)聯(lián)語音信號提取程序,可打開所要檢測的語音信號,并在界面上顯示需要的各項(xiàng)數(shù)據(jù)及語音信號時(shí)域波形圖。 在MFC中對消息的處理利用了消息映射的方法,該方法的基礎(chǔ)是宏定義實(shí)現(xiàn),通過宏定義將消息分派到不同的成員函數(shù)進(jìn)行處理。 利用C++的封裝性開發(fā)者可以更容易理解和操作各種窗口對象;利用C++的派生性開發(fā)者可以減少開發(fā)自定義窗口的時(shí)間和創(chuàng)造出可重用的代碼;利用虛擬性可以在必要時(shí)更好的控制窗口的活動。MFC借助C++的優(yōu)勢為Windows開發(fā)開辟了一片新天地,同時(shí)也借助ApplicationWizard使開發(fā)者擺脫離了那些每次都必寫基本代碼,借助ClassWizard和消息映射使開發(fā)者擺脫了定義消息處理時(shí)那種混亂和冗長的代碼段。MFC提供了面向?qū)ο蟮目蚣?,程序開發(fā)員可以基于這一框架開發(fā)Windows應(yīng)用程序。將這1999個(gè)樣本點(diǎn)分成兩段,在0~999個(gè)樣本點(diǎn)里,從999開始,每150個(gè)樣本點(diǎn)里取一個(gè)最大值,直到樣本點(diǎn)數(shù)小于等于250個(gè)則跳出循環(huán),并記錄保存這些最大值的下標(biāo),跳出循環(huán)后,記錄這1000個(gè)樣本點(diǎn)中有多少個(gè)最大值的下標(biāo),用各標(biāo)下標(biāo)的后項(xiàng)減前項(xiàng),即為各下標(biāo)值間的距離,將這些間距保存起來的,如果下標(biāo)間距小于100,則將該下標(biāo)濾除,因?yàn)殚g距小于100的不屬于人的基音周期范圍,如果下標(biāo)之間的距離大于100,再對1000~1999個(gè)樣本點(diǎn)進(jìn)行上述操作,保存各最大值下標(biāo)間距,最后將所有的下標(biāo)間距加起來之后求出平均間距,即為該有聲段平均的峰峰間距。只要數(shù)據(jù)指針第K個(gè)數(shù)據(jù)小于最大值的二分之一,都把數(shù)據(jù)指針第K個(gè)數(shù)據(jù)賦值0,作用是去除噪聲,從而檢測到有聲段。九階濾波流程圖如圖4. 3所示。為了去除這些野點(diǎn),本課題中我們采用的是均值平滑處理。根據(jù)設(shè)計(jì)需要,設(shè)置濾波器參數(shù)。這通常稱為濾波器的滾降現(xiàn)象,并且使用每十倍頻的衰減幅度dB來表示。實(shí)際上,并不存在理想的帶通濾波器。濾波本質(zhì)上是從被噪聲畸變和污染了的信號中提取原始信號所攜帶的信息的過程。經(jīng)過有聲段檢測,分幀,卷積,平均峰峰間隔檢測,最后計(jì)算出輸入語音信號的基音周期。 主程序流程設(shè)計(jì) 通過軟件分析及總體設(shè)計(jì)思路的綜合考慮,主程序的總體設(shè)計(jì)流程如下: 主程序流程圖本設(shè)計(jì)的主程序流程圖中中包括MFC框架的設(shè)計(jì)流程和基音檢測的設(shè)計(jì)流程,通過軟件的編寫,實(shí)現(xiàn)在MFC界面上操作語音信號,并嵌入自相關(guān)算法。以文件名 “m_5”保存, ,這是WINDOWS操作系統(tǒng)規(guī)定的聲音文件保存的標(biāo)準(zhǔn)。 軟件總體設(shè)計(jì)思路在VC++環(huán)境下編寫可視化菜單,完成MFC界面的空白部分及邊框部分,加入相關(guān)操作指令,使之在編寫完成的界面下實(shí)現(xiàn)對語音信號的各種操作。軟件是一個(gè)發(fā)展的概念,隨著軟件開發(fā)規(guī)模的擴(kuò)大和開發(fā)方式的變化,人們開始將程序設(shè)計(jì)語言作為一門科學(xué)來對待。 Visual C++的語言靈活性好,效率高,可以接觸到軟件開發(fā)比較底層的東西,并且基于微軟的MFC庫博大精深,學(xué)會它可以讓隨心所欲地進(jìn)行編程,與操作系統(tǒng)的結(jié)合更加緊密。Visual Basic 提供了強(qiáng)大的可視化編程能力,但Visual Basic不是真正的面向?qū)ο蟮拈_發(fā)工具,且不是真正的編譯型語言,它產(chǎn)生的最終代碼不是可執(zhí)行的,是一種偽代碼。這樣就能極大地提高設(shè)計(jì)人員的工作效率。經(jīng)過實(shí)驗(yàn)證明,該方法可以較精確的檢測出語音信號的基音周期。其中語音信號采樣率為22050Hz。當(dāng)被處理的信號呈現(xiàn)準(zhǔn)周期性的時(shí)候,這些方法能比較準(zhǔn)確的檢測出基音周期,然而當(dāng)被處理信號是清濁音交替的時(shí)候,它們就很容易出現(xiàn)誤判或漏判的情況。 本章小結(jié) 本章簡述了自相關(guān)算法的原理,算法流程,并從請濁音判斷,基音檢測數(shù)據(jù)和抗噪性上對自相關(guān)算法進(jìn)行分析,詳述算法實(shí)現(xiàn)過程及仿真結(jié)果分析。傳統(tǒng)的基音檢測方法都是建立在這個(gè)模型上的,使用中,對每幀語音信號只進(jìn)行一次清濁判決,若判為濁音,則以基音周期間隔的脈沖序列作為該幀的激勵信號;若為清音,則以隨機(jī)噪聲作為該幀的激勵信號,實(shí)際中,清濁信號的過渡段是很難區(qū)分的,且激勵信號也常常含有類噪聲成分,很難加以區(qū)分。預(yù)處理的主要任務(wù)是在基音檢測前,盡量去除背景噪聲的影響及第一共振峰的影響,這對自相關(guān)法和平均幅度差函數(shù)法是非常必要的。在對其中的一幀進(jìn)行處理時(shí),由于這一幀的長度是固定的,所有不需要再進(jìn)行加窗截?cái)嗵幚?,在進(jìn)行自相關(guān)函數(shù)運(yùn)算時(shí),自相關(guān)函數(shù)中所攜帶的參量也都是需要考慮的。而本文自相關(guān)算法,在剛開始對語音信號處理時(shí)沒有用的分幀這樣的處理方法,而是對將該語音信號作為一幀進(jìn)行處理,導(dǎo)致求解出的基音周期誤差非常大,且基音周期曲線不是很平滑,所以在后來的程序中,進(jìn)行分幀處理后,所求出的基音周期準(zhǔn)確度提高。所以說,至今沒有一種萬能的方法在任何情況下都能準(zhǔn)確可靠地估計(jì)出基音周期。 算法的改進(jìn)及存在問題 自相關(guān)函數(shù)法、倒譜法、平均幅度差函數(shù)法都是經(jīng)典的基音檢測方法,但實(shí)際應(yīng)用中,語音信號的環(huán)境千差萬別,有的是安靜環(huán)境,有的有強(qiáng)烈的背景噪聲,有的方法沒有考慮聲道的影響,有的方法沒有考慮發(fā)音者的個(gè)體差異,有的方法在預(yù)處理和后處理上欠妥,有的方法不管什么場合都采用傳統(tǒng)的語音模型,而基音檢測的健壯性及準(zhǔn)確性卻與對象、方法、環(huán)境密切相關(guān),這使得上述方法在運(yùn)用中,在安靜的實(shí)驗(yàn)室環(huán)境下,有較高的準(zhǔn)確性,但一到噪聲環(huán)境,準(zhǔn)確性劇減。 卷積之后的圖 界面顯示的“m_5”時(shí)域波形圖 界面顯示圖 算法實(shí)現(xiàn)流程圖本次設(shè)計(jì)的界面也可以選擇其他算法,即將其他算法掛到界面上即可,MFC主程序框架具有消息響應(yīng)機(jī)制,當(dāng)選擇一種算法,就會選擇其對應(yīng)的消息響應(yīng)函數(shù),進(jìn)而執(zhí)行相應(yīng)的算法,如選擇平均幅度差法實(shí)現(xiàn)時(shí),首先將算法寫好,并將計(jì)算基音周期要用的相應(yīng)的數(shù)據(jù)準(zhǔn)備好,在界面上點(diǎn)擊平均幅度差按鈕,將相應(yīng)的接口對應(yīng)上,調(diào)用函數(shù),將準(zhǔn)備好的檢測數(shù)據(jù)傳進(jìn)去,進(jìn)行算法的實(shí)現(xiàn),最終出來的數(shù)據(jù)即為平均幅度差法檢測出的基音周期數(shù)值,數(shù)據(jù)檢測完成后,要在界面上將數(shù)值顯示出來,微軟MFC提供了一種調(diào)用彈出對話框函數(shù)messagebox(),能把用戶自定義的字符串,顯示在界面上。,該圖是自己畫上去的,用以表示客戶矩形區(qū),觀察卷積之后的圖,能夠?qū)ψ韵嚓P(guān)法測基音周期有更加清晰的了解和認(rèn)知,可見其峰峰間隔恒定,有 ()其中為基因頻率,為峰間距,為抽樣率。 自相關(guān)算法的實(shí)現(xiàn)及結(jié)果分析 由以上分析,自相關(guān)算法進(jìn)行基音檢測。 九階濾波后的“m_5”時(shí)域波形圖 自相關(guān)函數(shù)的抗噪性分析設(shè)噪聲語音信號由語音信號及噪聲信號組成,表示為式: ()則的短時(shí)自相關(guān)函數(shù)為: () 式中N為幀長,為位移,是的自相關(guān)函數(shù),是與的互相關(guān)函數(shù),為的自相關(guān)函數(shù)。 信號經(jīng)過濾波后,就可以對其進(jìn)行分幀。 界面顯示的“m_5”時(shí)域波形圖 經(jīng)Matlab驗(yàn)證的“m_5”時(shí)域波型圖 、經(jīng)過濾波信號的高頻成分被濾掉了,原本高頻信號很稠密,濾掉后信號變得稀松些。一般漢語基音頻率下限可取 60Hz(),由于考慮到基音頻率范圍為80 ~500Hz,本課題用60~900Hz帶通濾波器濾去除低于60Hz的噪聲干擾和高頻成分,以得到較平滑的波形首先對所選取的濁音片段進(jìn)行濾波。所以,通常截取一段語音進(jìn)行分析處理,這一段語音稱為一幀語音,其長度稱為幀長,一般取幀長度為10~30ms?!?m_5”的時(shí)域波形圖,語音信號具有很強(qiáng)的“時(shí)變特性”。 在進(jìn)行語音信號的數(shù)字處理時(shí),最直觀的就是它的時(shí)域波形。由于人在發(fā)聲時(shí),傳輸氣流通道的共振特性會使得所提取的第一最大峰值所對應(yīng)的周期值與真實(shí)的基音周期不一致。自相關(guān)計(jì)算點(diǎn)數(shù)(窗長)至少要大于基音周期的兩倍,所以我們?nèi)L為30ms(660)點(diǎn),重疊20ms,幀移10ms,可滿足基音提取要求,保證基音頻率應(yīng)不低于67Hz。 基音檢測數(shù)據(jù)分析 在對語音信號進(jìn)行分析和處理之前,必須對其進(jìn)行預(yù)處理。根據(jù)En 由高到低的跳變可定出濁音變?yōu)榍逡粽Z音的時(shí)刻,En 由低向高的跳變可定出清音變?yōu)闈嵋粽Z音的時(shí)刻;而只有濁音才有基音周期,清音的基音周期為零。 自相關(guān)算法數(shù)據(jù)分析 清/濁音判斷分析在基音檢測的同時(shí),應(yīng)進(jìn)行清、濁音判斷,即在濁音段應(yīng)能正確檢測出基音周期。為了去除這些野點(diǎn),本課題中我們采用的是中值平滑處理。本課題中引入了一個(gè)帶通濾波模塊來濾除語音幀的高次諧波分量,由于聲道響應(yīng)的阻尼振蕩,使自相關(guān)函數(shù)計(jì)算得到的圖形可能有許多突起,有的時(shí)候并不是簡單的找到第一最大峰值點(diǎn)就可以判斷基音周期的位置。算法中大致可分為了六個(gè)功能模塊:取樣 、帶通濾波、分幀、自相關(guān)運(yùn)算和基音檢測。加之還有清濁混雜等情況,使基音檢測成為一大難題。自相關(guān)函數(shù)在基音周期處表現(xiàn)為峰值,相鄰兩個(gè)峰值之間的間隔為一個(gè)基音周期。自相關(guān)函數(shù)可以估計(jì)信號的基音,自相關(guān)函數(shù)方法適合于噪聲環(huán)境下。自相關(guān)基音檢測算法,經(jīng)過實(shí)驗(yàn),它在保持較好的性能的基礎(chǔ)上提高了檢測效率。濁音信號具有準(zhǔn)周期性,濁音信號的自相關(guān)函數(shù)在基音周期的整數(shù)倍位置上出現(xiàn)峰值,而清音信號的自相關(guān)函數(shù)沒有明顯的峰值。3.自相關(guān)函數(shù)是偶函數(shù),即。短時(shí)自相關(guān)函數(shù)有以下重要性質(zhì):1.如果是周期信號,周期是,則他的自相關(guān)函數(shù)也是周期信號且周期相同。本課題使用自相關(guān)法對語音信號基音周期進(jìn)行檢測。同時(shí)其幅度隨著值的增大而衰減,衰減速度比原序列要快。根據(jù)復(fù)倒譜的定義,可以得到的復(fù)倒譜為: ()其中。復(fù)倒譜涉及復(fù)對數(shù)運(yùn)算,它是對原信號的模求傅立葉變換,取對數(shù),再求逆傅立葉變換;而倒譜只進(jìn)行實(shí)數(shù)的對數(shù)運(yùn)算,較復(fù)倒譜的運(yùn)算量大大減少,它是對原信號的傅立葉變換的模取對數(shù),對所求出的實(shí)部再做逆傅立葉變換。它的定義式可以表示為: ()倒譜或稱“倒頻譜”的定義為: () 其中DFT是離散傅立葉變換,IDFT是離散反傅立葉變換。為了能用線性系統(tǒng)對其進(jìn)行處理,可以先采用卷積同態(tài)系統(tǒng)處理。含噪語音的對數(shù)功率譜的低電平部分會被噪聲填滿,掩蓋了基音峰值點(diǎn)的周期性。 倒譜法 倒譜法被認(rèn)為是一種比較成功的基音檢測方法,但是由于對數(shù)運(yùn)算的引入致使倒譜法在具體數(shù)字實(shí)現(xiàn)時(shí)變得困難,而且還增大了計(jì)算量。 實(shí)際應(yīng)用中,窗函數(shù)和取矩形窗,這樣可使短時(shí)平均幅度差函數(shù)的定義更簡單。它們在無背景噪聲情況下可以精確地提取的語音基音周期,但在語音環(huán)境較惡劣、信噪比較低時(shí),檢測的結(jié)果很差,難以讓人滿意。自相關(guān)函數(shù)具有很好的抗噪性,但易受半頻、倍頻錯(cuò)誤影響。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1