麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種簡譜圖像的自動識別和演奏的方法

文檔序號:2819056閱讀:2732來源:國知局
專利名稱:一種簡譜圖像的自動識別和演奏的方法
技術領域
簡譜是大家非常熟悉和常用的樂譜之一,但目前在光學樂譜識別(Optical MusicRecognition, OCR)領域,研究焦點都集中在五線譜識別上,而對簡譜識別的研究幾乎處于空白。本發明涉及一種簡譜圖像的自動識別和演奏的方法,屬于光學樂譜識別領域。
背景技術
樂譜的發明是人類音樂史上的里程碑,它的出現使人們可以在一個相對標準的平臺上進行音樂的交流和傳承。古往今來的優秀音樂作品大都以紙質樂譜的形式保留下來,直至今天,紙質樂譜仍是表達和描述音樂作品的主要載體。 近年來,隨著計算機技術的飛速發展,越來越多的紙式文檔迫切需要通過識別技術,自動轉換為數字形式保存下來,以便于檢索、管理和利用。光學字符識別技術(OpticalCharacter Recognition, OCR)近年來已經得到蓬勃發展。與此同時,為了解決紙質樂譜向數字音樂智能轉化這一難題,光學樂譜識別(Optical Music Recognition, 0MR)這一項新技術應運而生。OMR研究歷史已久,許多學者在OMR領域開展了大量有價值的開創性工作,在他們的文獻中提出了許多創造性的思想和完整方法。但是在OMR領域,研究焦點都集中在五線譜識別上,對簡譜識別的研究幾乎處于空白階段。而簡譜卻是我國最為常見、最為國人所熟知的樂譜形式,絕大多數業余音樂愛好者最常接觸到的曲譜形式就是簡譜,而且大部分的民樂作品也都是以紙質簡譜的形式保留記錄下來。所以,實現紙質簡譜向數字音樂或五線譜智能轉化顯得尤為迫切。在五線譜中,所有的音符都疊加在五條譜線及上加一線、下加一線之間,音符高度和形狀也有一定的標準,如高音譜號、升降記號都有規定的格式和書寫規范。相對于五線譜自動識別,簡譜自動識別具有更大的難度和挑戰性。技術難點I :在簡譜中,7個數字音符分散在各個譜段空間中,在每個數字音符周圍還會有各種符號和標記來表示其音高、時長及節奏。符號之間沒有規范的空間約束,書寫極為隨意、松散,無固定標準。技術難點2 :數字音符的字體變化多樣,甚至在同一張簡譜中會出現多種字體。技術難點3 :簡譜中常常混雜著歌詞、標題等等無關信息,一些從簡譜網站上下載的簡譜甚至會夾雜網站的廣告、網址、水印等等。技術難點4 :在掃描簡譜輸入階段,常常會造成簡譜圖像的傾斜,實驗表明,當簡譜傾斜角度大于5度時,對識別正確率影響很大。基于以上諸多難點和不確定因素,目前來看,簡譜向數字音樂的轉化依然是靠人手工完成,還沒有一套完整的簡譜自動識別和智能播放方法問世。本發明在深入分析簡譜特征基礎上,提出一整套簡譜自動識別和播放方法,這項全新的方法必將帶來廣闊的市場和應用前景。
發明內容
I、目的本發明在深入分析簡譜特征基礎上,提供一種簡譜圖像的自動識別和演奏的方法。該方法可以很好的識別印刷體簡譜、帶歌詞簡譜、簡譜與五線譜混合譜、簡譜與吉他譜混合譜等多種形式的印刷體簡譜,正確率均在95%以上。并且對于帶有大面積水印、網址等等干擾內容的簡譜,仍具有90%以上的正確率。以一張648X932的jpeg格式的簡譜圖像為例,如圖I所示,經過本發明提供的方法進行識別并轉化為音符編碼后,所占內存空間僅數百字節,是原圖像數據量的1/1000。此外,除了準確識別各類型簡譜,本發明還提出一整套簡譜音樂播放方法,可以模擬鋼琴、小提琴、吉他等多種樂器對簡譜的演奏效果,并且可以實現曲譜的實時識別和播放。2、技術方案本發明在MATLAB R2010b語言環境下實現,計算機配置=Pentium(R)Dual-core CPU T420002. OOGHz。總體方法流程圖如圖2所示,本發明一種簡譜圖像的自動識別和演奏的方法,該方法由“簡譜圖像預處理”、“簡譜基元識別”和“數字音頻的生成和播放”三大步驟構成。步驟一、“簡譜圖像預處理”此階段的輸入為一幅簡譜圖像,輸出為一張剔除歌詞、水印等無關信息,并經過旋轉校正的簡譜圖像。其作用是為簡譜基元的識別窗口劃定做好準備,其具體實現過程如下11、“自動檢測簡譜傾斜角度并校正”為了糾正掃描輸入時造成的簡譜傾斜,此階段采用Hough變換直線檢測方法檢測簡譜下劃線傾斜角度,并對傾斜的簡譜圖像進行旋轉校正。I. 2、“自動去除水印”簡譜圖片的彩色區域,一定是圖片中水印的區域。剔除簡譜圖片中的彩色區域中的信息,可以避免水印對識別造成的干擾。I. 3、“簡譜圖像二值化”將輸入的簡譜圖像轉換成黑白圖像,目標區域像素值為1,背景區域像素值為O。此階段二值化的方法采用全局最大類間方差閾值法(OTSU),即按照整幅簡譜圖像灰度特性確定二值化閾值,將簡譜圖像分成背景和目標兩部分,使背景和目標之間的方差最大。I. 4、“自動分離標題、歌詞等無關信息”從形態各異的歌詞、標題及其他干擾信息中提取簡譜行的位置是后續識別的基礎。首先,將去除水印、旋轉校正并二值化之后的簡譜圖片進行歸一化橫向投影,得到一個列向量ColumnSum,如圖3所示。設圖片大小為MXNJU
權利要求
1.一種簡譜圖像的自動識別和演奏的方法,其特征在于該方法具體步驟如下 步驟一簡譜圖像預處理 此階段的輸入為一幅簡譜圖像,輸出為一張剔除歌詞、水印無關信息,并經過旋轉校正的簡譜圖像;其作用是為簡譜基元的識別窗口劃定做好準備,其具體實現過程如下 1.1、自動檢測簡譜傾斜角度并校正 為了糾正掃描輸入時造成的簡譜傾斜,此階段采用Hough變換直線檢測方法檢測簡譜下劃線傾斜角度,并對傾斜的簡譜圖像進行旋轉校正; 1.2、自動去除水印 簡譜圖片的彩色區域,一定是圖片中水印的區域,剔除簡譜圖片中的彩色區域中的信息,避免水印對識別造成的干擾; 1.3、簡譜圖像二值化 將輸入的簡譜圖像轉換成黑白圖像,目標區域像素值為1,背景區域像素值為O ;此階段二值化的方法采用全局最大類間方差閾值法即0TSU,即按照整幅簡譜圖像灰度特性確定二值化閾值,將簡譜圖像分成背景和目標兩部分,使背景和目標之間的方差最大; 1.4、自動分離標題、歌詞無關信息 從形態各異的歌詞、標題及其他干擾信息中提取簡譜行的位置是后續識別的基礎;首先,將去除水印、旋轉校正并二值化之后的簡譜圖片進行歸一化橫向投影,得到一個列向量ColumnSum,設圖片大小為MXN,則 其中,f(x, y)表示整張簡譜第X行第y列的像素值,N為簡譜圖片列數; 但在某些簡譜中,由于行與行之間的結構過于緊湊,會造成橫向投影的粘連,剔除該列向量中元素值小于O. 03的元素,剩下的元素所在位置就是數字音符主干、歌詞以及標題主干所在行的位置; 將小節線作為含有簡譜的行的特征進行提取,分離出簡譜段;首先,用3X3的掩膜對分離出的每一行塊灰度圖像進行濾波, 其中,f (i,j)表示簡譜塊中第i行第j列的像素值;/&/>表示濾波后簡譜塊中第i行第j列的像素值; 將濾波后的行塊進行二值化處理,對二值化處理之后的簡譜塊進行縱向歸一化投影, RowSum(J) = Σ1=1·^(ζ,)) 其中,fB(i,j)為濾波并進行二值化后簡譜塊中第i行第j列的像素值,I為該簡譜塊的總行數; 找出RowSum中大于O. 6的元素對應的簡譜塊中的區域,對這些小區域依次進行Harris角點檢測,如果某個小區域的角點數等于2,則認為該行塊存在小節線,確認該行塊是含有簡譜部分的行;否則將該行塊所有信息濾除;經過以上處理后,已去除任何無關信息行得到簡譜的正文部分; 最后將每一塊含有簡譜的簡譜行的起始行坐標存儲在向量RowStart中,將終止行坐標存儲在向量RowEnd中,則RowStart (m)、RowEnd (m)就表示簡譜中第m行有用信息所在的起始行坐標和終止行坐標; 步驟二 簡譜基元識別 其作用是對簡譜基元位置進行自動定位、智能識別,識別簡譜基元所使用的方法為支持向量機即Support Vectors Machine, SVM ;其具體實現過程如下·2. I、識別窗口定位 識別窗口的定位包含兩方面內容1)、對存在簡譜的譜段中簡譜符號基元的位置進行定位,以確定每一個有效基元的位置坐標;2)對簡譜標題附近的調式符號基元位置進行定位,以確定簡譜調式符號基元的位置坐標,為基元的識別做好準備; · 2. I. I對存在簡譜的譜段中簡譜符號基元的位置進行定位 首先將包含簡譜的行的主干部分進行縱向投影,根據投影所獲得的行向量來分離出每一個單獨的符號基元的位置,并且將每一個符號基元的列起始坐標存儲在向量ColumnStart中,將列終止坐標存儲在向量ColumnEnd中;則ColumnStart (η)、ColumnEnd (η)就表示該簡譜行中第η個基元所在的起始列坐標和終止列坐標;當前定位位置稱之為當前符號基元的“識別窗口” ; 為了獲得更好的簡譜圖像二值化效果,盡可能多的保留每一塊識別窗口所包含的有用信息,此階段對每一個含有基元的“識別窗口 ”進行第二次二值化處理,方法是抽取各個識別窗口對應的灰度圖像的區域,利用局部最大類間方差法對每個簡譜基元區域進行二值化處理; 二值化之后將每個含有簡 譜基元的區域降采樣整合為20X20的標準樣本,用于接下來分類器識別,絕大部分的簡譜中只分離得到14類有用的基元,它們是 數字“ O ”、“ I ”、“ 2 ”、“ 3 ”、“ 4 ”、“ 5 ”、“ 6 ”、“ 7 ”, 符號“浮點”、“無效字符”、“小節線”、“延音線”、“升記號”、“降記號”; ·2.I. 2對簡譜標題部分的調式符號位置進行定位 在每張簡譜圖片的標題附近都會注明簡譜的調式,如“I = C”-C大調演奏方式、“I =bB” -降B大調演奏方式,首先對表示調式的英文大寫字母C、D、E、F、G、A、B及升降記號進行定位,一些簡譜在標題附近混雜有網址、作者姓名信息,這其中也會包含很多英文大寫字母,會對自動檢測調式符號的定位造成干擾,通過觀察發現,每一張簡譜在表示調式的字母前都有“=”這一明顯特征,通過模板匹配和投影法的結合使用可以找到“=”所在的位置,繼而確定表示調式的英文大寫字母、升降記號的位置,接下來同樣采取2. I. I中的方法,將含有英文字母、升降記號的識別窗口局部二值化,再整合為20X20的標準字母樣本,用于接下來分類器的識別; ·2.2、構建樣本分類器 選用“支持向量機”即SVM作為樣本分類的方法,SVM在解決小樣本、非線性及高維模式識別中表現出特有的優勢,并能夠推廣應用到函數擬合其他機器學習問題中; 米用一對一即one-against-one的多分類方法,在該方法中,在每兩類樣本間都需要訓練一個SVM 二值分類器,然后將所有的分類器的分類結果進行投票,來決定屬于多類樣本中的哪一類;對于N分類問題,一共需要訓練G =N(N-V)12個SVM 二值分類器; .2.3、多分類識別 此階段需要對三方面內容進行識別1)對音符基元的分類,2)對基元周圍區域符號的識別,3)對簡譜調式基元的分類; . 2.3. I音符基元的分類 音符基元的基本類型為“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“浮點”、“無效字符”、“小節線”、“延音線”、“升記號”、“降記號”,共14類,所以,一共需要訓練C12, = 14(14-1)/2 = 91 個二值分類器; 這里沒有對樣本進行額外的特征提取,而是直接將二值化后20X20的樣本拉伸為400X1的特征向量用于分類器的訓練;訓練選取的核函數為線性核函數即linear,選取懲罰因子C = 8000,每個二值分類器訓練所輸入的正負樣本各250個; .2.3. 2基元周圍區域符號的識別 對基元分類完成之后,接下來要對基元周圍區域可能出現的輔助符號進行識別,方法如下 設當前識別窗口位于第m行簡譜的第η個基元上,則行坐標RowStart (m)、RowEnd (m)和列坐標ColumnStart (n)、ColumnEnd (η)唯一確定了當前識別窗口的位置,接下來在識別窗口的上方和下方分別延拓DetaTop和DetaBase個像素寬度,設DetaTop = C1 [RowStart(m)-RowEnd(m)]DetaEnd = C2 [RowStart (m) -RowEnd (m)] 經過統計得知,當曲譜行與行之間結構較為緊湊時,取C1 = O. 8, C2 = O. 5 ;當曲譜行與行之間結構較為松散時,取C1 = 2, C2 = 2 ; 接下來對識別窗口上方和下方延拓區進行分析,進行橫向投影和縱向投影,根據兩條投影向量確定上下方延拓區是否存在高音記號、低音記號和下劃線; .2.3. 3簡譜調式基元的分類 簡譜調式基元的識別實質上是對C、D、E、F、G、A、B七個大寫英文字母以及“升記號”、“降記號”共九類樣本的識別,識別方法同樣選用SVM,選取一對一即one-against-one的方法構建多類分類器,共需要訓練C92 = 9(9-1)/2 = 36個二值分類器;這里同樣沒有對調式基元樣本進行額外的特征提取,而是直接將二值化后20X20的樣本拉伸為400X1的特征向量用于分類器的訓練;訓練選取的核函數為線性核函數即linear,選取懲罰因子C = 8000,每個二值分類器訓練所輸入的正負樣本各15個; 步驟三數字音頻的生成及播放 其作用是對已經識別完畢的簡譜進行后續處理,轉化為數字音頻文件,并增加伴奏、和聲對其進行渲染,使之更加悅耳、動聽;其具體實現過程如下 .3.I、音符編碼 音符基元識別結束后,需 要對其進行編碼處理;每個音符的編碼為一個8位二進制編碼,占用內存空間Ibyte ;編碼的高四位表示“節奏”、“高音低音記號”信息,是對識別窗口上下延拓區信息的記錄;編碼的低四位表示“數字音高”、“小節線”、“延音線”信息,是對識別窗口內信息的記錄; .3.2、構建音色庫為了模擬各種樂器的播放效果,采集了鋼琴、吉他、小號、小提琴10類樂器的音色,音高范圍從C2,138. 541Hz, C大調低音do,到B4,988. 256Hz, C大調高音xi ;將其轉化為WAV格式的標準音頻存儲在音色庫中供系統調用; . 3.3音符語義理解、音頻播放 對一整張簡譜完成識別、編碼之后,需要結合每一個音符所處的上下文環境來對其實際含義進行理解,這里采用的是一種多級流水線式的理解型智能播放方法,即每次讀取音符編碼隊列中的某個編碼,同時對之前某一位編碼對應的音頻文件進行播放,同時根據編碼隊列自動計算出該音符的播放時長,并且智能添加變奏、調整音強; .3.4、伴奏的構建 提供一種簡單有效的自動添加伴奏的方法,可以使播放效果更加飽滿、富有感染力; .3.4. I自動調整強音 在每次將要播放當前音符時,查詢前一個音符是否為“小節線”,如果是,則該音符作為每小節的第一拍,音強需要加重,否則不做處理; .3.4. I自動添加鼓點 添加鼓點的原理同上,但之前需要計算兩個小節線之間的節拍數是2拍、3拍還是4拍;如果每兩個小節間的音符共有2拍,則歌曲是4拍節奏型,在播放第一拍的同時播放4拍節 .44奏鼓點; 如果每兩個小節間的音符共有3拍,則歌曲是4拍節奏型,在播放第一拍的同時播放444拍節奏鼓點; 如果每兩個小節間的音符共有4拍,則歌曲是*拍節奏型,在播放第一拍的同時播放*拍節奏鼓點。
全文摘要
一種簡譜圖像的自動識別和演奏的方法,該方法有三大步驟步驟一、簡譜圖像預處理;步驟二、簡譜基元識別;步驟三、數字音頻的生成和播放。本發明在深入分析簡譜特征基礎上,克服了簡譜識別的諸多難點,提出一整套簡譜自動識別和智能播放方法。該方法可以自動識別印刷體簡譜、帶歌詞簡譜、簡譜與五線譜混合譜、簡譜與吉他譜混合譜等多種形式的印刷體簡譜,正確率均在95%以上;此外,該方法可以模擬鋼琴、小提琴、吉他等多種樂器對簡譜的演奏效果,并且可以實現簡譜的實時識別和播放。
文檔編號G10L13/04GK102663423SQ20121008607
公開日2012年9月12日 申請日期2012年3月28日 優先權日2012年3月28日
發明者馮亞春, 史振威, 姚連生, 孫詩炎, 鄒征夏 申請人:北京航空航天大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 沙洋县| 杭锦后旗| 萝北县| 康乐县| 浪卡子县| 邓州市| 阿拉善右旗| 黔东| 北川| 神农架林区| 略阳县| 寻乌县| 泰顺县| 齐齐哈尔市| 和林格尔县| 类乌齐县| 工布江达县| 无锡市| 巧家县| 元江| 澳门| 田林县| 巩义市| 伊宁县| 清涧县| 广宗县| 全南县| 广昌县| 南平市| 南华县| 衡水市| 双柏县| 旌德县| 富宁县| 万年县| 新干县| 民乐县| 鄂州市| 阳山县| 江陵县| 澄迈县|