復(fù)調(diào)樂器音符定位方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及樂器音符定位技術(shù)領(lǐng)域,尤其涉及一種復(fù)調(diào)樂器音符定位方法和裝置。
【背景技術(shù)】
[0002]計算機的出現(xiàn)推動了音樂輔助教學(xué)工具的發(fā)展,音樂輔助教學(xué)工具可以對演奏用戶進行全面而準確的輔助與指導(dǎo),提高他們對音樂的認知能力。音樂輔助教學(xué)工具對用戶進行演奏輔助和指導(dǎo)時,首先需要準確定位到用戶演奏的音符,對用戶演奏錯誤的地方進行提醒,如多演奏音符的地方、少演奏音符的地方,指導(dǎo)用戶對演奏錯誤的地方進行針對性地練習(xí)或糾正,從而提升用戶的演奏水平。
[0003]相關(guān)技術(shù)中,首先通過將用戶演奏數(shù)據(jù)同標準樂譜音頻數(shù)據(jù)進行對齊后;然后根據(jù)對齊后的數(shù)據(jù),利用非負矩陣因子分解(Nonnegative Matrix Factorizat1n,NMF)方法分別提取用戶演奏音符信息及標準樂譜音符信息,隨后,通過隱馬爾可夫模型(HiddenMarkov Model, HMM)建模的方法確定用戶演奏音符序列及標準樂譜音符序列;最后根據(jù)用戶演奏音符序列和標準樂譜音符序列,采用規(guī)則的方法進行比對,定位用戶演奏的音符,檢測出用戶演奏錯誤的音符。
[0004]這種方法對用戶的演奏水平要求較高,需要用戶演奏數(shù)據(jù)基本與標準樂譜一致,對于演奏水平不高的用戶,很難做到這一點,音符定位效果差。
【發(fā)明內(nèi)容】
[0005]本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
[0006]為此,本發(fā)明的一個目的在于提出一種復(fù)調(diào)樂器音符定位方法,該方法能夠有效提高復(fù)調(diào)樂器音符定位效果。
[0007]本發(fā)明的另一個目的在于提出一種復(fù)調(diào)樂器音符定位裝置。
[0008]為達到上述目的,本發(fā)明第一方面實施例提出的復(fù)調(diào)樂器音符定位方法,包括:接收用戶演奏數(shù)據(jù);提取用戶演奏音符以得到用戶演奏音符序列;檢測并標記所述用戶演奏音符序列中的和聲音符以得到所述用戶演奏數(shù)據(jù)對應(yīng)的和聲信息;根據(jù)得到的所述用戶演奏音符序列及所述和聲信息,采用動態(tài)規(guī)劃方法對所述用戶演奏音符進行定位以得到定位后的演奏音符序列;以及獲取所述定位后的演奏音符序列并反饋給用戶。
[0009]本發(fā)明第一方面實施例提出的復(fù)調(diào)樂器音符定位方法,通過從用戶演奏數(shù)據(jù)中提取用戶演奏音符序列,檢測并標記其中的和聲音符以得到和聲信息,并根據(jù)得到的用戶演奏音符序列及和聲信息,對用戶演奏音符進行定位,有效提高復(fù)調(diào)樂器音符定位效果。
[0010]為達到上述目的,本發(fā)明第二方面實施例提出的復(fù)調(diào)樂器音符定位裝置,包括:接收模塊,用于接收用戶演奏數(shù)據(jù);提取模塊,用于提取用戶演奏音符以得到用戶演奏音符序列;檢測模塊,用于檢測并標記所述用戶演奏音符序列中的和聲音符以得到所述用戶演奏數(shù)據(jù)對應(yīng)的和聲信息;定位模塊,用于根據(jù)得到的所述用戶演奏音符序列及所述和聲信息,采用動態(tài)規(guī)劃方法對所述用戶演奏音符進行定位以得到定位后的演奏音符序列;以及獲取模塊,用于獲取所述定位后的演奏音符序列并反饋給用戶。
[0011]本發(fā)明第二方面實施例提出的復(fù)調(diào)樂器音符定位裝置,通過從用戶演奏數(shù)據(jù)中提取用戶演奏音符序列,檢測并標記其中的和聲音符以得到和聲信息,并根據(jù)得到的用戶演奏音符序列及和聲信息,對用戶演奏音符進行定位,有效提高復(fù)調(diào)樂器音符定位效果。
[0012]本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
【附圖說明】
[0013]本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
[0014]圖1是本發(fā)明一實施例提出的復(fù)調(diào)樂器音符定位方法的流程示意圖;
[0015]圖2是本發(fā)明另一實施例提出的復(fù)調(diào)樂器音符定位方法的流程示意圖;
[0016]圖3是本發(fā)明實施例中用戶演奏數(shù)據(jù)中的音符在不同時刻的分解系數(shù)曲線圖;
[0017]圖4是本發(fā)明實施例中參考音符與用戶演奏音符的部分動態(tài)規(guī)劃路徑圖;
[0018]圖5是本發(fā)明另一實施例提出的復(fù)調(diào)樂器音符定位方法的流程示意圖;
[0019]圖6是本發(fā)明另一實施例提出的復(fù)調(diào)樂器音符定位裝置的結(jié)構(gòu)示意圖;
[0020]圖7是本發(fā)明另一實施例提出的復(fù)調(diào)樂器音符定位裝置的結(jié)構(gòu)示意圖;
[0021]圖8是本發(fā)明另一實施例提出的復(fù)調(diào)樂器音符定位裝置的結(jié)構(gòu)示意圖;
[0022]圖9是本發(fā)明另一實施例提出的復(fù)調(diào)樂器音符定位裝置的結(jié)構(gòu)示意圖;
[0023]圖10是本發(fā)明另一實施例提出的復(fù)調(diào)樂器音符定位裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0024]下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0025]圖1是本發(fā)明一實施例提出的復(fù)調(diào)樂器音符定位方法的流程示意圖,該方法包括:
[0026]Sll:接收用戶演奏數(shù)據(jù)。
[0027]本實施例的執(zhí)行主體可以是復(fù)調(diào)樂器。
[0028]復(fù)調(diào)樂器是指可以同時演奏多個音符的樂器,具體如鋼琴、手風(fēng)琴、笛子等。
[0029]用戶演奏數(shù)據(jù)是指復(fù)調(diào)樂器演奏者演奏樂曲的過程中所包含的數(shù)據(jù)信息,例如用戶演奏樂曲的音頻數(shù)據(jù)。
[0030]S12:提取用戶演奏音符以得到用戶演奏音符序列。
[0031]可選的,提取用戶演奏音符以得到用戶演奏音符序列,包括:對用戶演奏數(shù)據(jù)進行分幀處理,提取每幀用戶演奏數(shù)據(jù)對應(yīng)的頻譜特征,如能量譜特征;提取用戶演奏數(shù)據(jù)對應(yīng)的用戶演奏音符信息,其中,用戶演奏音符信息用分解系數(shù)表示;以及根據(jù)分解系數(shù)確定用戶演奏音符序列。
[0032]其中,可以利用NMF方法提取用戶演奏數(shù)據(jù)對應(yīng)的用戶演奏音符信息,所述用戶演奏音符信息可以使用NMF分解系數(shù)表示,具體提取方法與現(xiàn)有技術(shù)相同,在此不再贅述。
[0033]進一步,可以對分解系數(shù)進行平滑操作,以得到平滑后的分解系數(shù);以及對平滑后的分解系數(shù)進行峰值點檢測,以確定用戶演奏音符序列。
[0034]S13:檢測并標記所述用戶演奏音符序列中的和聲音符以得到所述用戶演奏數(shù)據(jù)對應(yīng)的和聲信息。
[0035]其中,和聲指兩個或兩個以上不同的音符,按一定的法則同時發(fā)聲而構(gòu)成的音響組合。
[0036]和聲音符指在同一個和聲內(nèi)的音符。
[0037]和聲信息包括每個和聲內(nèi)的用戶演奏音符序列,以及用戶演奏音符序列所屬和聲的編號。
[0038]具體地,根據(jù)檢測到的用戶演奏音符序列中,每個音符的峰值點時間和起始時間,以及預(yù)先設(shè)置的閾值,進行和聲音符的檢測;依次檢測出用戶演奏數(shù)據(jù)中所有和聲音符,對同一和聲內(nèi)的和聲音符進行標記;以及對和聲音符所屬的和聲進行編號,以得到用戶演奏數(shù)據(jù)對應(yīng)的和聲信息。
[0039]S14:根據(jù)得到的所述用戶演奏音符序列及所述和聲信息,采用動態(tài)規(guī)劃方法對所述用戶演奏音符進行定位以得到定位后的演奏音符序列。
[0040]可選的,該步驟具體包括獲取所述標準演奏數(shù)據(jù);提取所述標準演奏數(shù)據(jù)對應(yīng)的標準演奏音符以得到參考音符序列;根據(jù)所述參考音符序列,采用動態(tài)規(guī)劃方法對所述用戶演奏音符序列進行全局定位,以得到所述用戶演奏數(shù)據(jù)中用戶演奏錯誤的音符;根據(jù)所述和聲信息對全局定位后的所述用戶演奏音符序列進行局部修正;以及根據(jù)所述參考音符序列,對局部修正后的所述用戶演奏音符序列進行全局定位,以得到全局定位后的所述用戶演奏音符序列。
[0041]S15:獲取所述定位后的演奏音符序列并反饋給用戶。
[0042]例如,復(fù)調(diào)樂器根據(jù)定位后的演奏音符序列,評價用戶的演奏水平和技巧,對用戶進行輔助和指導(dǎo),或者根據(jù)定位后的演奏音符序列,獲取用戶演奏錯誤的音符反饋給用戶,用于提醒用戶在具體在哪些地方演奏錯誤。
[0043]本實施例中,通過從用戶演奏數(shù)據(jù)中提取用戶演奏音符序列,檢測并標記其中的和聲音符以得到和聲信息,并根據(jù)得到的用戶演奏音符序列及和聲信息,對用戶演奏音符進行定位,有效提高復(fù)調(diào)樂器音符定位效果。
[0044]圖2是本發(fā)明另一實施例提出的復(fù)調(diào)樂器音符定位方法的流程示意圖,本實施例以使用非負矩陣因子分解(Nonnegative Matrix Factorizat1n,NMF)方法對用戶演奏數(shù)據(jù)進行分解為例,該方法包括:
[0045]S201:接收用戶演奏數(shù)據(jù)。
[0046]用戶演奏數(shù)據(jù)是指復(fù)調(diào)樂器演奏者演奏樂曲的過程中所包含的