• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    數(shù)說聲音:計算機聲音處理和數(shù)值計算

    2021-08-28 10:18:00于方軍梁永
    中國信息技術(shù)教育 2021年15期
    關(guān)鍵詞:文件夾開源拼音

    于方軍 梁永

    聲音是人類交流信息的一種重要方式,計算機對聲音信息的處理和圖像信息處理同樣是信息技術(shù)教學中涉及的重要內(nèi)容。常用的聲音編輯軟件可以調(diào)整音量,改變音調(diào),進行聲音混音等操作。本文用Python代碼,通過讀取計算機里的一段WAV格式音頻文件,改變采樣頻率,觀察聲音播放速度及音調(diào)變化等,幫助學生理解聲音編輯的背后是一系列復雜的數(shù)學運算。在此基礎上,用開源的離線語音識別CMUSphinx系統(tǒng),實現(xiàn)一個基于本地語音模型的聲音識別,結(jié)合開源硬件實現(xiàn)簡單的硬件控制實驗,讓學生通過實驗來體驗語音識別背后的數(shù)據(jù)特征提取。

    首先,選擇圖形化編程里面的小貓叫聲音文件Meow.wav進行編輯,圖1是聲音文件的波形及圖形化編程所提供的簡單編輯工具界面,下面的幾個按鈕可以實現(xiàn)快速播放、慢速播放,響亮、輕柔等播放效果,筆者帶領(lǐng)學生從數(shù)據(jù)處理的角度研究一下這些效果是如何實現(xiàn)的。

    ● 改變采樣點數(shù)值:觀察聲音變化

    WAV格式的文件是由44個字節(jié)的文件頭(包括聲道數(shù)、量化位數(shù)、采樣頻率、采樣點數(shù)等信息)和后面的音頻采樣數(shù)據(jù)組成。因此,通過數(shù)學計算把采樣數(shù)值改變,就能改變聲音的音量值,實現(xiàn)“響亮”“輕柔”兩個按鈕的效果,進而讓學生理解這些按鈕背后的代碼,如圖2所示。

    圖2中的代碼,讀取了Moew.wav的值,通過輸出數(shù)據(jù)可以發(fā)現(xiàn),它是一個單聲道,采樣頻率為11025hz,后面的數(shù)組是每個采樣點的縱坐標數(shù)值[33,21,-34,...,-30,40,-229],改變后邊采樣點的數(shù)組值,如圖2代碼中的yuan[1]*2,把每個采樣點的縱坐標值變?yōu)樵瓉淼?倍,即變?yōu)閇66,42,-68,...,-60, 80,-458]。重寫一個文件,如gai.wav文件,用播放器播放這個改變后的文件,就會發(fā)現(xiàn)音量比原來大了。

    ● 改變采樣頻率:觀察聲音變化

    圖1中的“快播”“慢播”按鈕的功能,可以通過改變WAV文件的采樣頻率來實現(xiàn),采樣頻率是每秒鐘采樣的次數(shù),Meow.wav采樣頻率是11025hz,說明它一秒鐘可以采集11025次數(shù)據(jù),這個文件的采樣點數(shù)是6512,用采樣數(shù)據(jù)點數(shù)除以采樣頻率,得到聲音播放時長大約是0.59秒(6512/11025=0.5906)。在播放時,如果把采樣頻率設為原來的二倍——22050,理論上播放時間就會變?yōu)樵瓉淼囊话?,也就是以原?倍速度播放。

    圖3代碼中首先定義一個變量beisu設置其初始值為2,讀取Meow.wav文件的采樣頻率fr是11025,倍速播放時頻率bfr設置為fr*beisu,用pyaudio播放時,就可以獲得倍速效果。

    ● 從計算機的視角看語音識別

    從物理學的角度來說,語音是一個連續(xù)的音頻流,一個單詞的發(fā)聲實際上取決于很多因素,如聲音要素的上下文關(guān)系、說話者語音風格等;從發(fā)聲機理上看就是人的發(fā)聲器官在一個音轉(zhuǎn)向另一個音時其特性是漸變的,所以我們需要根據(jù)上下文來辨別音素。

    通過計算機進行的語音識別,就是把語音信號經(jīng)過前期處理(包括降噪、語音增強、人聲檢測等)后,進行提取特征,送入解碼模塊,進行解析得到識別結(jié)果。傳統(tǒng)的語音識別的一般框架包含幾個部分——聲學模型、語言模型、拼音字典等,如圖4所示。

    ● 用Sphinx做一個離線語音識別

    CMU Sphinx(簡稱Sphinx)是美國卡內(nèi)基梅隆大學開發(fā)的一系列語音識別系統(tǒng)的總稱。筆者在這里使用的是recognize_sphinx語音識別器,結(jié)合安裝pocketsphinx庫可以進行離線語音識別工作,SpeechRecognition可以識別WAV格式的文件,結(jié)合中文聲學模型、語言模型和字典文件可以進行中文識別。

    下載cmusphinx-zh-cn-5.2.tar.gz并解壓,在pocketsphinx安裝位置找到pocketsphinx-data文件夾,并新建中文識別文件夾zh-CN,在這個文件夾中添加進入剛剛解壓的文件,并把解壓出來的zh_cn.cd_cont_5000文件夾重命名為acoustic-model、zh_cn.lm.bin命名為language-model.lm.bin、zh_cn.dic命名為pronounciation-dictiongary.dict(如圖5)。

    配置完成后,就可以嘗試進行中文識別,如說出“打開一號燈”,智能系統(tǒng)需要理解“打開”“一號燈”這兩個詞的意思,它實際上是一個波形文件,對漢語來說就是一個字的發(fā)音,智能系統(tǒng)接收到一個“打”字的語音波形,通過復雜的數(shù)學模型和計算后,用數(shù)學方式提取其特征,并用數(shù)學模型去描述這些特征,這樣“打”字的語音波形中的一幀就對應了一組特征值,那么就確定“打”字的聲學模型建立了。如果說出的句子有10個字,那就要搜索所有可能的模型去匹配語音,這就需要一個比較優(yōu)秀的搜索算法,得到局部的最優(yōu)解。但是,有許多字發(fā)音是一樣的,如“打”“答”“搭”……。從聲學模型來看系統(tǒng)是無法區(qū)分的,這就需要語言模型了,即從語義上判斷哪個結(jié)果出現(xiàn)的概率最大,即為搜索結(jié)果,這樣就可以約束搜索,增加識別的準確率了。

    試驗后,筆者發(fā)現(xiàn)識別效果一般,主要是語言模型、拼音字典比較大,不具體。因而,筆者選擇了對開源硬件的控制,限制到小范圍的具體詞,從而提高準確性。CMU Sphinx提供了一個在線的語言模型(lm)生成工具(在http://www.speech.cs.cmu.edu/tools/lmtool-new.html),幫助使用者生成自己的小詞匯量的語言模型、拼音詞典,如圖6所示。用生成的.lm和.dct文件替換zh-CN文件夾中的兩個文件即可。

    經(jīng)過改進后,筆者用測試文件測試后發(fā)現(xiàn),只要是語言模型、拼音字典里的詞都能準確識別出來,如圖7所示。

    ● 用開源硬件做個智能語音控制

    結(jié)合開源硬件,可以實現(xiàn)簡單的語音控制,我們選用arduino板,用pinpong庫進行硬件控制,實現(xiàn)一個語音控制案例,正確安裝好pinpong庫,定義好輸出腳,識別的字符中包含“一號”“開”兩個詞,就開一號燈,如此類推(如圖8)。

    我們還可以通過添加一個pyttsx3庫,把文字轉(zhuǎn)換為聲音播放,做一個簡單的應答系統(tǒng),實現(xiàn)一個語音助手功能,如圖9所示。

    通過實踐,筆者發(fā)現(xiàn)聲音識別是個復雜的過程,既包含對聲音進行降噪、加強、分頻等預處理,來增強聲音的識別效果,也包括復雜的數(shù)學算法,以及模型訓練、搜索算法。理解了這些過程,就會更好地理解基于計算機技術(shù)的人工智能是如何感知聲音信息并做出反應的。

    猜你喜歡
    文件夾開源拼音
    磁力文件夾
    五毛錢能買多少頭牛
    調(diào)動右鍵 解決文件夾管理三大難題
    大家說:開源、人工智能及創(chuàng)新
    開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
    開源計算機輔助翻譯工具研究
    快樂拼音
    TC一鍵直達常用文件夾
    電腦迷(2015年1期)2015-04-29 21:24:13
    快樂拼音
    快樂拼音
    山西省| 台北市| 威海市| 广饶县| 安徽省| 建水县| 南雄市| 商河县| 盘山县| 广河县| 丹棱县| 台东市| 昌黎县| 边坝县| 临颍县| 思南县| 伊通| 房山区| 墨玉县| 冕宁县| 阿图什市| 抚宁县| 开平市| 淳化县| 甘谷县| 手机| 饶平县| 莎车县| 林周县| 青海省| 阳山县| 厦门市| 醴陵市| 陇川县| 富源县| 宿迁市| 土默特左旗| 清镇市| 乌什县| 杨浦区| 宁明县|