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

    基于Matlab的數(shù)字音符實時顯示研究

    2015-01-24 12:23:58郭之亨李良榮
    電子設計工程 2015年21期
    關鍵詞:基音音調基波

    郭之亨,周 華,李良榮

    (1.貴州大學 大數(shù)據(jù)與信息工程學院,貴州 貴陽 550025;2.貴州電子信息職業(yè)技術學院 通信工程系,貴州 凱里 556000)

    隨著我國經(jīng)濟的持續(xù)快速發(fā)展,百姓的生活水平不斷提高,人們已不僅滿足于物質生活方面的需求,而是更多的轉向精神文化生活層面。作為精神生活重要組成部分的,各種形式的音樂在民眾中扮演著越來越重要的角色。

    隨著計算機技術的發(fā)展,很多音樂的處理是通過計算機完成的[1],之前已有大量的文章是運用Matlab來研究音樂的,但都不是研究音符實時顯示的。本文借助Matlab軟件,通過簡易諧波峰值法算法[2]及時將樂器發(fā)出的樂音轉變?yōu)楹喿V音符并實時顯示出來,這將有助于人們進一步了解和學習音樂,降低音樂學習門檻,有很強的現(xiàn)實意義。

    1 簡譜的主要構成

    簡譜分字母簡譜和數(shù)字簡譜[3],本文所說的簡譜皆指數(shù)字簡譜,而本文中提到的各頻率對應的音符皆為C調下的音符。

    一般來說,構成簡譜的基本要素中最重要的是“音的高低”和“音的長短”。表示音的高低的基本符號,用7個阿拉拍數(shù)字標記。它們的寫法和讀法如表1所示[4]。音的長短是在基本音符的基礎上加短橫線、延音線等符號來表示的。

    表1 簡譜音符及讀音

    2 基于Matlab音符的實時顯示

    2.1 顯示原理

    每個不同的音調對應著不同的音符。而音調由基音頻率決定[5],比如音符“3”對應 659 Hz,音符“4”對應 698 Hz,所以音符的顯示,首先是要準確提取出每個樂音的基波頻率[6],進而通過一定的數(shù)學關系轉化成數(shù)字音符表示。本設計采取諧波峰值法提取基波頻率,該算法依據(jù)的原理是每個樂音經(jīng)傅里葉變換后其基波頻率對應的幅值最大[7]。給數(shù)字音符添上相應短橫線,附點等就可完成音長短的表示。表2所示給出C調各音符對應頻率值[8]。

    2.2 實驗方法

    音調顯示:本次實驗,首先將待處理的音樂片段錄入到電腦里,實驗過程中采樣頻率為16 000 Hz,采樣時間為8 s。將存入電腦的音頻輸入Matlab軟件中,對其分段(每段時長125 ms)進行快速傅里葉變換,從頻譜中找到幅度最大的譜線,對應頻點與頻率分辨率乘積即為所求基波頻率。一個時長 (125 ms)的音頻經(jīng)快速傅里葉變換之后的頻譜圖如圖1所示。

    表2 C調各音符頻率值對照表Tab.2 The frequency of each C tone note comparison table

    圖1時長125 ms的音頻快速傅里葉變換頻譜圖Fig.1 The frequency spectrogram of 125 ms audio FFT

    對應Matlab程序如下:

    fs=16000; %取樣頻率16 000 Hz

    duration=8; %錄音時間8 s

    pause;

    x=wavrecord(duration*fs,fs); %進行錄音,x 為音頻信號

    y=[]; %建立一個名為y的空數(shù)組,用于存放基波頻率值

    for i=1:2000:(length(x)-1999) %對信號進行分段

    y=[y,2*min(find(abs(fft(x(i:i+1999,:)))==max(abs(fft(x(i:i+1999,:))))))];

    end %使用 abs(fft())對信號分段進行 fft變換并取幅值,用max()和find()函數(shù)找出每段最大譜線及其對應的頻點,對應頻點乘以2即為每段基波頻率,將結果存于y中

    取兩個相鄰音符頻率的平均值為分界,若頻率低于平均值則顯示為相鄰兩個音符中,音調較低的音符,反之則顯示為二者中較高的音符。如音符“3”、“4”對應頻率分別為329 Hz和349 Hz,平均值為339 Hz,則頻率在329~339 Hz之間的皆顯示為“3”,在339~349Hz之間的皆顯示為“4”。本次實驗研究的頻率段為250~1990 Hz,超出該頻段對應的音符皆為休止符“0”。

    音的長短顯示:待處理音頻,每125 ms進行一次快速傅里葉變換。一般四分音符持續(xù)時間為400~500 ms,這里設定為500 ms[5]。八分音符持續(xù)時間為四分音符的一半,而十六分音符持續(xù)時間又為八分音符的一半。所以每次快速傅里葉變換之后提取的音符應為十六分音符。本次設計以四分音符為一拍,每小節(jié)四拍,每小節(jié)之間用小節(jié)線“|”隔開。若兩相鄰音符相同,則合并為一個持續(xù)時間是其二倍的上一節(jié)音符。如“11”合并為“1”。如表3所示為音符“1”的各時長:

    表3 音符“1”的各時長表示形式Tab.3 Each length of time displaying of note “1”

    由于Matlab命令窗口中無法顯示某些音符格式,對此本次設計做了一些調整,以音符“1”為例,如表4所示。

    表4 格式對照表Tab.4 Format table

    圖2和圖3所示為對一段8 s音頻檢測之后所得到的各分段基音頻率及最終的音符顯示。

    圖2一段8 s音頻經(jīng)Matlab處理之后所得各分段基因頻率(截圖)Fig.2 The fundamental frequency of each segment after a 8 s audio processed by the Matlab (screenshot)

    上述結果很好地區(qū)分顯示了各音符的音調高低和時長,按每四拍一個小節(jié)準確劃分成4個小節(jié),取得了預期效果。

    我們正在研究翻譯工具,將圖3所示數(shù)據(jù)翻譯成圖4所示的音樂簡譜:

    圖4 Matlab數(shù)據(jù)翻譯的音樂簡譜Fig.4 Numbered musical notation translated by the Matlab

    3 結束語

    本次設計比較準確的提取出了被測音頻的基音頻率,并將其轉化為對應音符顯示,其重點在于基音頻率的提取。本次設計只能提取單獨一種樂器發(fā)音時的基波頻率,對多種樂器同時發(fā)出的混合音則失效,這是將來努力研究、改進的方向。本次設計在一些地方進行了簡化處理,比如規(guī)定采樣時間為一固定時間,文中音符全為C調下的音符,每四拍為一小節(jié)。這樣做使得程序更加簡潔,軟件運行起來也更加流暢。Matlab中顯示的數(shù)據(jù)只有專業(yè)人事可以閱讀,對于音樂愛好者有難度,還需要研制一個簡譜翻譯工具,這是我們下一步的又一個研究目標。

    [1]楊行峻,遲惠生.語音信號數(shù)字處理[M].北京:電子工業(yè)出版社,1995.

    [2]張紅,宋俊壽,黃泰翼.一種新的峰值提取方法及其在語音基頻提取中的應用[J].鐵道學報,1998(6):68-73.ZHANG Hong,SONG Jun-shou,HUANG Tai-yi.A novel peak picking algorithm and its application in extraction of fundamental frequency of speech signal[J].Journal of the China Railway Society,1998(6):68-73.

    [3]白云.首調唱名法與簡譜的傳入及其在我國視唱練耳學科發(fā)展中的意義[J].黃河之聲,2010(21):74-75.BAI Yun.The introduction of tonic sol fa and numbered musical notation and its significance in the development of the solfeggio subject in China[J].Yellow River of the Song,2010(21):74-75.

    [4]李重光.基本樂理通用教材[M].高等教育出版社,2004.

    [5]張盼盼.Matlab的音樂合成器應用[J].企業(yè)導報,2011(11):297-298.ZHANG Pan-pan.Application of matlab music synthesizer[J].Cuide to Business,2011(11):297-298.

    [6]劉丹,朱漢城.音樂特征識別的研究綜述[J].計算機工程與應用,2002(24):74-77.LIU Dan,ZHU Han-cheng.A review on the research of music features recognition[J].Computer Engineering and Applications,2002(24):74-77.

    [7]于拾全,景新幸,劉志國.樂器音高檢測方法的比較和精度分析[J].電聲技術,2006(7):4-7.YU Shi-quan,JING Xin-xing,LIU Zhi-guo.The study and realization of electronic tuning device[J].Audio Engineering,2006(7):4-7.

    [8]許錦生.電子樂譜的設計與若干關鍵技術的實現(xiàn)[D].長沙:國防科技大學,2012.

    [9]葉霖,李雄飛,劉麗娟,等.一種有效識別 MIDI文件中主旋律音軌的方法[J].計算機應用與軟件,2010(1):48-50.YE YE Lin,LI Xiong-fei,LIU Li-juan,et al.An effective method for identifying the mesound track in midifiles[J].Computer Applications and Software,2010(1):48-50.

    猜你喜歡
    基音音調基波
    春的呼喚
    新航空(2024年3期)2024-06-03 22:25:26
    基于基音跟蹤的語音增強研究
    基于跟蹤微分器的基波測量方法研究
    測控技術(2018年9期)2018-11-25 07:44:40
    劉濤《音調未定的儒家——2004年以來關于孔子的論爭·序》
    名作欣賞(2017年25期)2017-11-06 01:40:12
    基于多尺度形態(tài)學和Kalman濾波的基波分量提取
    電測與儀表(2016年5期)2016-04-22 01:13:44
    基于IEC62053-24靜止式基波頻率無功電能表標準對提高無功補償效果的作用
    電測與儀表(2016年9期)2016-04-12 00:29:58
    利用基波相量變化率的快速選相方法
    樂理小知識
    小演奏家(2014年11期)2014-12-17 01:18:52
    一種改進的基音周期提取算法
    決定音調高低的因素
    兴国县| 五莲县| 灵山县| 玛纳斯县| 福清市| 灵宝市| 沙坪坝区| 横峰县| 安陆市| 乐业县| 新邵县| 确山县| 龙州县| 郴州市| 石首市| 嵊州市| 永和县| 阳朔县| 上饶市| 奈曼旗| 綦江县| 涞水县| 马关县| 紫金县| 磐石市| 聂拉木县| 湘阴县| 哈尔滨市| 乌兰县| 长垣县| 沙湾县| 莲花县| 图片| 宁乡县| 时尚| 山东省| 志丹县| 方山县| 安仁县| 靖远县| 西城区|