CN105118490B - 复调乐器音符定位方法和装置 - Google Patents
复调乐器音符定位方法和装置 Download PDFInfo
- Publication number
- CN105118490B CN105118490B CN201510431897.8A CN201510431897A CN105118490B CN 105118490 B CN105118490 B CN 105118490B CN 201510431897 A CN201510431897 A CN 201510431897A CN 105118490 B CN105118490 B CN 105118490B
- Authority
- CN
- China
- Prior art keywords
- user
- sequence
- musical notes
- notes
- note
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本发明提出一种复调乐器音符定位方法和装置,该复调乐器音符定位方法包括接收用户演奏数据;提取用户演奏音符以得到用户演奏音符序列;检测并标记所述用户演奏音符序列中的和声音符以得到所述用户演奏数据对应的和声信息;根据得到的所述用户演奏音符序列及所述和声信息,采用动态规划方法对所述用户演奏音符进行定位以得到定位后的演奏音符序列;以及获取所述定位后的演奏音符序列并反馈给用户。该方法能够有效提高复调乐器音符定位效果。
Description
技术领域
本发明涉及乐器音符定位技术领域,尤其涉及一种复调乐器音符定位方法和装置。
背景技术
计算机的出现推动了音乐辅助教学工具的发展,音乐辅助教学工具可以对演奏用户进行全面而准确的辅助与指导,提高他们对音乐的认知能力。音乐辅助教学工具对用户进行演奏辅助和指导时,首先需要准确定位到用户演奏的音符,对用户演奏错误的地方进行提醒,如多演奏音符的地方、少演奏音符的地方,指导用户对演奏错误的地方进行针对性地练***。
相关技术中,首先通过将用户演奏数据同标准乐谱音频数据进行对齐后;然后根据对齐后的数据,利用非负矩阵因子分解(Nonnegative Matrix Factorization,NMF)方法分别提取用户演奏音符信息及标准乐谱音符信息,随后,通过隐马尔可夫模型(HiddenMarkov Model,HMM)建模的方法确定用户演奏音符序列及标准乐谱音符序列;最后根据用户演奏音符序列和标准乐谱音符序列,采用规则的方法进行比对,定位用户演奏的音符,检测出用户演奏错误的音符。
这种方法对用户的演奏水平要求较高,需要用户演奏数据基本与标准乐谱一致,对于演奏水平不高的用户,很难做到这一点,音符定位效果差。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种复调乐器音符定位方法,该方法能够有效提高复调乐器音符定位效果。
本发明的另一个目的在于提出一种复调乐器音符定位装置。
为达到上述目的,本发明第一方面实施例提出的复调乐器音符定位方法,包括:接收用户演奏数据;提取用户演奏音符以得到用户演奏音符序列;检测并标记所述用户演奏音符序列中的和声音符以得到所述用户演奏数据对应的和声信息;根据得到的所述用户演奏音符序列及所述和声信息,采用动态规划方法对所述用户演奏音符进行定位以得到定位后的演奏音符序列;以及获取所述定位后的演奏音符序列并反馈给用户。
本发明第一方面实施例提出的复调乐器音符定位方法,通过从用户演奏数据中提取用户演奏音符序列,检测并标记其中的和声音符以得到和声信息,并根据得到的用户演奏音符序列及和声信息,对用户演奏音符进行定位,有效提高复调乐器音符定位效果。
为达到上述目的,本发明第二方面实施例提出的复调乐器音符定位装置,包括:接收模块,用于接收用户演奏数据;提取模块,用于提取用户演奏音符以得到用户演奏音符序列;检测模块,用于检测并标记所述用户演奏音符序列中的和声音符以得到所述用户演奏数据对应的和声信息;定位模块,用于根据得到的所述用户演奏音符序列及所述和声信息,采用动态规划方法对所述用户演奏音符进行定位以得到定位后的演奏音符序列;以及获取模块,用于获取所述定位后的演奏音符序列并反馈给用户。
本发明第二方面实施例提出的复调乐器音符定位装置,通过从用户演奏数据中提取用户演奏音符序列,检测并标记其中的和声音符以得到和声信息,并根据得到的用户演奏音符序列及和声信息,对用户演奏音符进行定位,有效提高复调乐器音符定位效果。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例提出的复调乐器音符定位方法的流程示意图;
图2是本发明另一实施例提出的复调乐器音符定位方法的流程示意图;
图3是本发明实施例中用户演奏数据中的音符在不同时刻的分解系数曲线图;
图4是本发明实施例中参考音符与用户演奏音符的部分动态规划路径图;
图5是本发明另一实施例提出的复调乐器音符定位方法的流程示意图;
图6是本发明另一实施例提出的复调乐器音符定位装置的结构示意图;
图7是本发明另一实施例提出的复调乐器音符定位装置的结构示意图;
图8是本发明另一实施例提出的复调乐器音符定位装置的结构示意图;
图9是本发明另一实施例提出的复调乐器音符定位装置的结构示意图;
图10是本发明另一实施例提出的复调乐器音符定位装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本发明一实施例提出的复调乐器音符定位方法的流程示意图,该方法包括:
S11:接收用户演奏数据。
本实施例的执行主体可以是复调乐器。
复调乐器是指可以同时演奏多个音符的乐器,具体如钢琴、手风琴、笛子等。
用户演奏数据是指复调乐器演奏者演奏乐曲的过程中所包含的数据信息,例如用户演奏乐曲的音频数据。
S12:提取用户演奏音符以得到用户演奏音符序列。
可选的,提取用户演奏音符以得到用户演奏音符序列,包括:对用户演奏数据进行分帧处理,提取每帧用户演奏数据对应的频谱特征,如能量谱特征;提取用户演奏数据对应的用户演奏音符信息,其中,用户演奏音符信息用分解系数表示;以及根据分解系数确定用户演奏音符序列。
其中,可以利用NMF方法提取用户演奏数据对应的用户演奏音符信息,所述用户演奏音符信息可以使用NMF分解系数表示,具体提取方法与现有技术相同,在此不再赘述。
进一步,可以对分解系数进行平滑操作,以得到平滑后的分解系数;以及对平滑后的分解系数进行峰值点检测,以确定用户演奏音符序列。
S13:检测并标记所述用户演奏音符序列中的和声音符以得到所述用户演奏数据对应的和声信息。
其中,和声指两个或两个以上不同的音符,按一定的法则同时发声而构成的音响组合。
和声音符指在同一个和声内的音符。
和声信息包括每个和声内的用户演奏音符序列,以及用户演奏音符序列所属和声的编号。
具体地,根据检测到的用户演奏音符序列中,每个音符的峰值点时间和起始时间,以及预先设置的阈值,进行和声音符的检测;依次检测出用户演奏数据中所有和声音符,对同一和声内的和声音符进行标记;以及对和声音符所属的和声进行编号,以得到用户演奏数据对应的和声信息。
S14:根据得到的所述用户演奏音符序列及所述和声信息,采用动态规划方法对所述用户演奏音符进行定位以得到定位后的演奏音符序列。
可选的,该步骤具体包括获取所述标准演奏数据;提取所述标准演奏数据对应的标准演奏音符以得到参考音符序列;根据所述参考音符序列,采用动态规划方法对所述用户演奏音符序列进行全局定位,以得到所述用户演奏数据中用户演奏错误的音符;根据所述和声信息对全局定位后的所述用户演奏音符序列进行局部修正;以及根据所述参考音符序列,对局部修正后的所述用户演奏音符序列进行全局定位,以得到全局定位后的所述用户演奏音符序列。
S15:获取所述定位后的演奏音符序列并反馈给用户。
例如,复调乐器根据定位后的演奏音符序列,评价用户的演奏水平和技巧,对用户进行辅助和指导,或者根据定位后的演奏音符序列,获取用户演奏错误的音符反馈给用户,用于提醒用户在具体在哪些地方演奏错误。
本实施例中,通过从用户演奏数据中提取用户演奏音符序列,检测并标记其中的和声音符以得到和声信息,并根据得到的用户演奏音符序列及和声信息,对用户演奏音符进行定位,有效提高复调乐器音符定位效果。
图2是本发明另一实施例提出的复调乐器音符定位方法的流程示意图,本实施例以使用非负矩阵因子分解(Nonnegative Matrix Factorization,NMF)方法对用户演奏数据进行分解为例,该方法包括:
S201:接收用户演奏数据。
用户演奏数据是指复调乐器演奏者演奏乐曲的过程中所包含的数据信息,例如用户演奏乐曲的音频数据。
S202:对所述用户演奏数据进行分帧处理,提取每帧所述用户演奏数据对应的频谱特征。
具体地,复调乐器接收用户演奏数据后,对用户演奏数据进行分帧处理,进而对每帧用户演奏数据进行特征提取,以获取每帧用户演奏数据对应的频谱特征,如能量谱特征。
其中,每帧用户演奏数据对应的频谱特征的维数可以相同,或者不同。例如特征维数为39维。
以钢琴演奏为例,如可以将用户演奏数据分成50帧,对每帧用户演奏数据提取出39维的能量谱特征。
本实施例中,具体的对所述用户演奏数据进行特征提取的方法与现有技术相同,在此不再赘述。
S203:提取所述用户演奏数据对应的用户演奏音符信息,其中,所述用户演奏音符信息用分解系数表示。
具体地,采用NMF方法对用户演奏数据进行分解,使用得到的分解系数表示用户演奏数据对应的用户演奏音符信息。
其中,用户演奏音符信息可以为用户演奏每个音符的力度信息。
本实施例中,具体的对所述用户演奏数据进行用户演奏音符信息提取的方法与现有技术相同,在此不再赘述。
S204:对所述分解系数进行平滑操作,以得到平滑后的分解系数。
具体地,对分解系数进行平滑操作,以减小后续步骤中峰值点检测的误检率。
S205:对所述平滑后的分解系数进行峰值点检测,以确定所述用户演奏音符序列。
具体地,参见图3,为用户演奏数据中的音符在不同时刻的分解系数曲线图。不同的曲线表示不同音符的分解系数。其中,横坐标表示用户演奏数据时间,具体使用帧数表示,纵坐标表示用户演奏数据对应的用户演奏音符的分解系数值。
当一个用户演奏音符的分解系数曲线出现峰值的时候,表示用户在该时刻演奏了该音符。当用户演奏一个音符时,得到的用户演奏数据能量在时间上会持续有一个上升,以及下降的过程,因此,用户演奏的一个有效音符必然对应不同时刻分解系数的一个峰值点。
例如,当用户演奏音符A时,对应用户演奏数据在能量上会有一个上升,以及下降的过程,所述演奏数据对应的分解系数会有一个峰值,如在a时刻出现了峰值,则表示用户在a时刻演奏了A音符。
具体地,以a时刻为出发点开始检测,向A音符对应分解系数的峰值点的左侧,沿横坐标轴相反方向进行检测,当分解系数出现波谷时对应的b时刻是用户演奏A音符的起始时间。进而,将所述A音符的出现峰值点的时间a时刻和用户演奏A音符的起始时间b时刻保存,并依次检测到用户演奏音符中的其它音符的出现峰值点的时间,以及起始时间,以确定用户演奏音符序列及用户演奏音符的音高信息。
S206:根据所述检测到的所述用户演奏音符序列中,每个音符的峰值点时间和起始时间,以及预先设置的阈值,进行所述和声音符的检测。
其中,和声指两个或两个以上不同的音符,按一定的法则同时发声而构成的音响组合。
和声音符指在同一个和声内的音符。
其中,预先设置的阈值可以是时间差阈值。
具体地,通过依次比较用户演奏音符序列中,不同音符间的峰值点时间或音符起始时间,进行和声音符的判断。
其中,和声音符的判断规则如下所述:
1.两个音符的峰值点时间差小于等于t1,其中,t1为时间差阈值,t1的具体取值根据经验或实验结果确定,例如0.5s。
2.两个音符的峰值点时间差大于t1小于t2,并且两个音符的起始时间小于等于t3,t2和t3为时间差阈值,t2和t3的具体取值根据经验或实验结果确定,例如1s和0.5s。
当用户演奏数据中,两个或者多个不同音符之间的时间差符合以上所述情况之一时,则认为所述两个或者多个不同音符为同一和声内的音符。
S207:依次检测出所述用户演奏数据中所有所述和声音符,对同一和声内的所述和声音符进行标记。
具体地,利用步骤S206中的方法,检测出用户演奏数据中的所有和声音符,并对同一和声内的音符进行标记。
例如,参见图3,图中矩形框中的音符表示同一个和声内的音符。
S208:对所述和声音符所属的和声进行编号,以得到所述用户演奏数据对应的和声信息,其中,所述和声信息包括每个和声内的用户演奏音符序列和所述和声的编号。
参见图3,不同的矩形框表示不同的和声,可以对不同的矩形框进行编号,例如矩形框1和矩形框2表示不同的和声。
S209:获取所述标准演奏数据。
标准演奏数据指用户演奏数据对应的标准乐谱所包含的数据。
S210:提取所述标准演奏数据对应的标准演奏音符以得到参考音符序列。
可选的,可以预先采用人工标注的方法确定标准演奏音符。
具体地,将标准乐谱上对应的标准演奏音符转换成对应的标准音符序列,同时得到标准音符序列的音高信息,将所述标准音符序列作为定位用户演奏音符序列的参考音符序列。
进一步,也可以采用自动的方法转换得到参考音符序列。
本申请对具体获取参考音符序列的方法不作限制。
可选的,可以根据参考音符序列中每个参考音符的分解系数,得到每个参考音符的起始时间和峰值点时间,进一步,对起始时间相同的参考音符所属的和声进行编号,从而得到参考音符序列中的和声信息,所述和声信息包括:每个和声内的参考音符序列及每个参考音符所属和声的编号。
S211:根据所述参考音符序列,采用动态规划方法对所述用户演奏音符序列进行全局定位,以得到所述用户演奏数据中用户演奏错误的音符。
其中,用户演奏错误的音符例如用户多演奏的音符,或者用户少演奏的音符。
具体地,用户演奏音符信息中的音高信息是唯一的,因此,本申请在进行动态规划路径选择时,选择对角线路径匹配上的音符作为正确匹配的音符。
例如,参见图4,为参考音符与用户演奏音符的部分动态规划路径图。其中,第一行表示用户演奏音符的索引号,第二行表示用户演奏音符序列,采用音高信息表示,左边第一列表示参考音符序列,使用音高信息表示。横向和纵向的灰色阴影块中标注的音符表示为和声音符,对角线上的灰色阴影块中标注为动态规划时正确匹配音符的路径,数字表示路径选择类型,共3种路径选择类型,其中,数字“1”表示垂直路径,数字“2”表示水平路径,数字“3”表示对角线路径。对角线上的黑色阴影块表示本次动态规划路径匹配时遗漏的音符,如参考音符“57”正确匹配的演奏音符为“57”,参考音符“51”在本次动态规划结束后,未匹配到音符,即演奏音符“51”被遗漏。
S212:根据所述和声信息对全局定位后的所述用户演奏音符序列进行局部修正。
例如,参见图4,用户演奏音符序列中的和声音符序列(57,51,42,35)和参考音符序列中的和声音符序列(57,42,51,35)不一致,从而导致参考音符“51”在动态规划结束后未找到匹配音符序列。
因此,另一个实施例中,参见图5,利用和声信息根据动态规划后的音符匹配路径,对全局定位后的用户演奏音符序列进行局部修正,本实施例以图4中,参考音符序列第二个和声音符序列(51,42,35)中的音符42为例,说明参考音符“42”对应的用户演奏音符“42”被召回的过程,方法包括:
S501:对动态规划后的匹配路径进行回溯,依次定位音符动态规划匹配路径中,匹配路径类型不为3的路径,并定位该段匹配路径对应的参考音符,作为当前参考音符。
例如,依次回溯动态规划匹配路径,定位动态规划匹配路径中,匹配路径类型不为3的路径对应的参考音符为“42”,将参考音符“42”作为当前参考音符,保存参考音符“42”匹配路径为3时,匹配上的用户演奏音符“42”的索引号“16”。
S502:判断当前参考音符是否为和声内音符,如果是,执行步骤S503,否则,执行步骤S507。
例如,参考音符“42”为和声内的音符,执行步骤S503。
S503:获取当前参考音符所属和声的和声信息,将该和声作为当前和声。
例如,获取当前参考音符“42”所在和声编号“2”,并将编号为“2”的和声作为当前和声。
S504:判断当前和声内参考音符序列是否有与用户演奏音符序列正确匹配的音符,如果是,执行步骤S505,否则,执行步骤S509。
例如,和声编号为“2”的参考音符序列中,存在与用户演奏音符序列正确匹配的音符“51”和“35”,执行步骤S505。
S505:判断是否存在所述参考音符正确匹配的用户演奏音符索引号,与当前参考音符匹配路径为3时,匹配的用户演奏音符索引号的距离小于预设的阈值,如果是,执行步骤S506,否则,执行步骤S509。
其中,预设的阈值例如为5。
例如,参考音符“51”和“35”正确匹配的演奏音符“51”和“35”对应的索引号与参考音符“42”匹配路径为3时,匹配的演奏音符“42”索引号的距离为1和2,小于预设的阈值5,执行步骤S506。
S506:将当前参考音符匹配路径为3时,对应的用户演奏音符作为正确匹配音符,同时,根据参考音符所属和声的参考音符序列,调整匹配上的用户演奏音符所属和声的用户演奏音符序列,并重复执行步骤S501。
例如,将参考音符“42”匹配路径为3时,匹配的用户演奏音符“42”作为正确匹配用户演奏音符,同时,根据参考音符所属和声的参考音符序列(51,42,35),调整匹配上的用户演奏音符所属和声序列(42,51,35),调整后的用户演奏音符和声序列为(51,42,35)。
S507:向左或向右查找预设个数的参考音符,判断查找到的参考音符中是否有与用户演奏音符正确匹配的音符,如果是,执行步骤S508,否则,执行步骤S509。
S508:将当前参考音符匹配路径为3时,对应用户演奏音符作为正确匹配音符,同时,根据当前参考音符,对用户演奏音符进行调整,并重复执行步骤S501。
S509:当前参考音符未找到对应用户演奏音符,执行步骤S510。
S510:判断动态规划路径是否回溯结束,如果是,执行步骤S511,否则,重复执行步骤S501。
S511:定位所有被遗漏的用户演奏音符,将所述所有被遗漏的用户演奏音符用于全局定位。
例如,将所有被遗漏的用户演奏音符用于以下步骤S213中的全局定位。
本实施例通过根据动态规划后的音符匹配路径,对全局定位后的用户演奏音符序列进行局部修正,有效提高动态规划路径匹配的正确性。
S213:根据所述参考音符序列,对局部修正后的所述用户演奏音符序列进行全局定位,以得到全局定位后的所述用户演奏音符序列。
本实施例中,具体地全局定位方法参见步骤S211,在此不再赘述。
进一步,为了提高复调乐器的音符定位效果,可以重复执行S212-S213,直到复调乐器定位到的用户演奏音符序列变化较小时,结束迭代。
S214:获取所述定位后的演奏音符序列并反馈给用户。
例如,复调乐器根据定位后的演奏音符序列,评价用户的演奏水平和技巧,对用户进行辅助和指导,或者根据定位后的演奏音符序列,获取用户演奏错误的音符反馈给用户,用于提醒用户在具体在哪些地方演奏错误。
本实施例中,通过从用户演奏数据中提取用户演奏音符序列,检测并标记其中的和声音符以得到和声信息,并根据得到的用户演奏音符序列及和声信息,对用户演奏音符进行定位,有效提高复调乐器音符定位效果。并且,NMF分解方法涉及每个音符特征的总体分布,因此在确定音符时,有更好的容错性。另外,本实施例采用动态规划方法对用户演奏音符进行全局定位后,再采用和声信息对全局定位后的用户演奏音符序列进行局部修正,再次采用动态规划方法对局部修正后的用户演奏音符序列进行全局定位,不依赖用户演奏音符同标准演奏音符的对齐程度,因此,对用户的演奏水平没有限制,从而有助于演奏水平不高的用户提升自己的演奏水平。
图6是本发明另一实施例提出的复调乐器音符定位装置的结构示意图,该装置60包括接收模块601、提取模块602、检测模块603、定位模块604,以及获取模块605。
接收模块601,用于接收用户演奏数据。
本实施例的执行主体可以是复调乐器。
复调乐器是指可以同时演奏多个音符的乐器,具体如钢琴、手风琴、笛子等。
用户演奏数据是指复调乐器演奏者演奏乐曲的过程中所包含的数据信息,例如用户演奏乐曲的音频数据。
提取模块602,用于提取用户演奏音符以得到用户演奏音符序列。
一个实施例中,参见图7,所述提取模块602具体包括:
分帧处理子模块6021,用于对所述用户演奏数据进行分帧处理,提取每帧所述用户演奏数据对应的频谱特征。
具体地,复调乐器接收用户演奏数据后,对用户演奏数据进行分帧处理,进而对每帧用户演奏数据进行特征提取,以获取每帧用户演奏数据对应的频谱特征。
其中,每帧用户演奏数据对应的频谱特征的维数可以相同,或者不同。例如频谱特征维数为39维。
以钢琴演奏为例,如可以将用户演奏数据分成50帧,对每帧用户演奏数据提取出39维的频谱特征。
本实施例中,具体的对所述用户演奏数据进行特征提取的方法与现有技术相同,在此不再赘述。
第一提取子模块6022,用于提取所述用户演奏数据对应的用户演奏音符信息,其中,所述用户演奏音符信息用分解系数表示。
具体地,采用NMF方法对用户演奏数据进行分解,使用得到的分解系数表示用户演奏数据对应的用户演奏音符信息。
其中,用户演奏音符信息可以为用户对每个音符演奏的力度信息。
本实施例中,具体的对所述用户演奏数据进行用户演奏音符信息提取的方法与现有技术相同,在此不再赘述。
确定子模块6023,用于根据所述分解系数确定所述用户演奏音符序列。
另一个实施例中,参见图8,所述确定子模块6023具体包括:
平滑单元60231,用于对所述分解系数进行平滑操作,以得到平滑后的分解系数。
具体地,对分解系数进行平滑操作,以减小后续步骤中峰值点检测的误检率。
峰值点检测单元60232,用于对所述平滑后的分解系数进行峰值点检测,以确定所述用户演奏音符序列。
具体地,参见图3,为用户演奏数据中的音符在不同时刻的分解系数曲线图。不同的曲线表示不同音符的分解系数。其中,横坐标表示用户演奏数据时间,具体使用帧数表示,纵坐标表示用户演奏数据对应的用户演奏音符的分解系数值。
当一个用户演奏音符的分解系数曲线出现峰值的时候,表示用户在该时刻演奏了该音符。当用户演奏一个音符时,得到的用户演奏数据能量在时间上会持续有一个上升,以及下降的过程,因此,用户演奏的一个有效音符必然对应不同时刻分解系数的一个峰值点。
例如,当用户演奏音符A时,对应用户演奏数据在能量上会有一个上升,以及下降的过程,所述演奏数据对应的分解系数会有一个峰值,如在a时刻出现了峰值,则表示用户在a时刻演奏了A音符。
具体地,以a时刻为出发点开始检测,向A音符对应分解系数的峰值点的左侧,沿横坐标轴相反方向进行检测,当分解系数出现波谷时对应的b时刻是用户演奏A音符的起始时间。进而,将所述A音符的出现峰值点的时间a时刻和用户演奏A音符的起始时间b时刻保存,并依次检测到用户演奏音符中的其它音符的出现峰值点的时间,以及起始时间,以确定用户演奏音符序列及用户演奏音符的音高信息。
检测模块603,用于检测并标记所述用户演奏音符序列中的和声音符以得到所述用户演奏数据对应的和声信息。
另一个实施例中,参见图9,所述检测模块603具体包括:
和声音符检测子模块6031,用于根据所述检测到的所述用户演奏音符序列中,每个音符的峰值点时间和起始时间,以及预先设置的阈值,进行所述和声音符的检测。
其中,和声指两个或两个以上不同的音符,按一定的法则同时发声而构成的音响组合。
和声音符指在同一个和声内的音符。
其中,预先设置的阈值可以是时间差阈值。
具体地,通过依次比较用户演奏音符序列中,不同音符间的峰值点时间或音符起始时间,进行和声音符的判断。
其中,和声音符的判断规则如下所述:
1.两个音符的峰值点时间差小于等于t1,其中,t1为时间差阈值,t1的具体取值根据经验或实验结果确定,例如0.5s。
2.两个音符的峰值点时间差大于t1小于t2,并且两个音符的起始时间小于等于t3,t2和t3为时间差阈值,t2和t3的具体取值根据经验或实验结果确定,例如1s和0.5s。
当用户演奏数据中,两个或者多个不同音符之间的时间差符合以上所述情况之一时,则认为所述两个或者多个不同音符为同一和声内的音符。
标记子模块6032,用于依次检测出所述用户演奏数据中所有所述和声音符,对同一和声内的所述和声音符进行标记。
具体地,利用步骤S206中的方法,检测出用户演奏数据中的所有和声音符,并对同一和声内的音符进行标记。
例如,参见图3,图中矩形框中的音符表示同一个和声内的音符。
编号子模块6033,用于对所述和声音符所属的和声进行编号,以得到所述用户演奏数据对应的和声信息,其中,所述和声信息包括每个和声内的用户演奏音符序列和所述和声的编号。
参见图3,不同的矩形框表示不同的和声,可以对不同的矩形框进行编号,例如矩形框1和矩形框2表示不同的和声。
定位模块604,用于根据得到的所述用户演奏音符序列及所述和声信息,采用动态规划方法对所述用户演奏音符进行定位以得到定位后的演奏音符序列。
另一个实施例中,参见图10,所述定位模块604具体包括:
获取子模块6041,用于获取所述标准演奏数据。
标准演奏数据指用户演奏数据对应的标准乐谱所包含的数据。
第二提取子模块6042,用于提取所述标准演奏数据对应的标准演奏音符以得到参考音符序列。
可选的,可以预先采用人工标注的方法确定标准演奏音符。
具体地,将标准乐谱上对应的标准演奏音符转换成对应的标准音符序列,同时得到标准音符序列的音高信息,将所述标准音符序列作为定位用户演奏音符序列的参考音符序列。
进一步,也可以采用自动的方法转换得到参考音符序列。
本申请对具体获取参考音符序列的方法不作限制。
可选的,可以根据参考音符序列中每个参考音符的分解系数,得到每个参考音符的起始时间和峰值点时间,进一步,对起始时间相同的参考音符所属的和声进行编号,从而得到参考音符序列中的和声信息,所述和声信息包括:每个和声内的参考音符序列及每个参考音符所属和声的编号。
第一全局定位子模块6043,用于根据所述参考音符序列,采用动态规划方法对所述用户演奏音符序列进行全局定位,以得到所述用户演奏数据中用户演奏错误的音符。
其中,用户演奏错误的音符例如用户多演奏的音符,或者用户少演奏的音符。
具体地,用户演奏音符信息中的音高信息是唯一的,因此,本申请在进行动态规划路径选择时,选择对角线路径匹配上的音符作为正确匹配的音符。
例如,参见图4,为参考音符与用户演奏音符的部分动态规划路径图。其中,第一行表示用户演奏音符的索引号,第二行表示用户演奏音符序列,采用音高信息表示,左边第一列表示参考音符序列,使用音高信息表示。横向和纵向的灰色阴影块中标注的音符表示为和声音符,对角线上的灰色阴影块中标注为动态规划时正确匹配音符的路径,数字表示路径选择类型,共3种路径选择类型,其中,数字“1”表示垂直路径,数字“2”表示水平路径,数字“3”表示对角线路径。对角线上的黑色阴影块表示本次动态规划路径匹配时遗漏的音符,如参考音符“57”正确匹配的演奏音符为“57”,参考音符“51”在本次动态规划结束后,未匹配到音符,即演奏音符“51”被遗漏。
局部修正子模块6044,用于根据所述和声信息对全局定位后的所述用户演奏音符序列进行局部修正。
例如,参见图4,用户演奏音符序列中的和声音符序列(57,51,42,35)和参考音符序列中的和声音符序列(57,42,51,35)不一致,从而导致参考音符“51”在动态规划结束后未找到匹配音符序列。
因此,另一个实施例中,参见图5,利用和声信息根据动态规划后的音符匹配路径,对全局定位后的用户演奏音符序列进行局部修正,本实施例以图4中,参考音符序列第二个和声音符序列(51,42,35)中的音符42为例,说明参考音符“42”对应的用户演奏音符“42”被召回的过程,方法包括:
S501:对动态规划后的匹配路径进行回溯,依次定位音符动态规划匹配路径中,匹配路径类型不为3的路径,并定位该段匹配路径对应的参考音符,作为当前参考音符。
例如,依次回溯动态规划匹配路径,定位动态规划匹配路径中,匹配路径类型不为3的路径对应的参考音符为“42”,将参考音符“42”作为当前参考音符,保存参考音符“42”匹配路径为3时,匹配上的用户演奏音符“42”的索引号“16”。
S502:判断当前参考音符是否为和声内音符,如果是,执行步骤S503,否则,执行步骤S507。
例如,参考音符“42”为和声内的音符,执行步骤S503。
S503:获取当前参考音符所属和声的和声信息,将该和声作为当前和声。
例如,获取当前参考音符“42”所在和声编号“2”,并将编号为“2”的和声作为当前和声。
S504:判断当前和声内参考音符序列是否有与用户演奏音符序列正确匹配的音符,如果是,执行步骤S505,否则,执行步骤S509。
例如,和声编号为“2”的参考音符序列中,存在与用户演奏音符序列正确匹配的音符“51”和“35”,执行步骤S505。
S505:判断是否存在所述参考音符正确匹配的用户演奏音符索引号,与当前参考音符匹配路径为3时,匹配的用户演奏音符索引号的距离小于预设的阈值,如果是,执行步骤S506,否则,执行步骤S509。
其中,预设的阈值例如为5。
例如,参考音符“51”和“35”正确匹配的演奏音符“51”和“35”对应的索引号与参考音符“42”匹配路径为3时,匹配的演奏音符“42”索引号的距离为1和2,小于预设的阈值5,执行步骤S506。
S506:将当前参考音符匹配路径为3时,对应的用户演奏音符作为正确匹配音符,同时,根据参考音符所属和声的参考音符序列,调整匹配上的用户演奏音符所属和声的用户演奏音符序列,并重复执行步骤S501。
例如,将参考音符“42”匹配路径为3时,匹配的用户演奏音符“42”作为正确匹配用户演奏音符,同时,根据参考音符所属和声的参考音符序列(51,42,35),调整匹配上的用户演奏音符所属和声序列(42,51,35),调整后的用户演奏音符和声序列为(51,42,35)。
S507:向左或向右查找预设个数的参考音符,判断查找到的参考音符中是否有与用户演奏音符正确匹配的音符,如果是,执行步骤S508,否则,执行步骤S509。
S508:将当前参考音符匹配路径为3时,对应用户演奏音符作为正确匹配音符,同时,根据当前参考音符,对用户演奏音符进行调整,并重复执行步骤S501。
S509:当前参考音符未找到对应用户演奏音符,执行步骤S510。
S510:判断动态规划路径是否回溯结束,如果是,执行步骤S511,否则,重复执行步骤S501。
S511:定位所有被遗漏的用户演奏音符,将所述所有被遗漏的用户演奏音符用于全局定位。
例如,将所有被遗漏的用户演奏音符用于以下步骤S213中的全局定位。
本实施例通过根据动态规划后的音符匹配路径,对全局定位后的用户演奏音符序列进行局部修正,有效提高动态规划路径匹配的正确性。
第二全局定位子模块6045,用于根据所述参考音符序列,对局部修正后的所述用户演奏音符序列进行全局定位,以得到全局定位后的所述用户演奏音符序列。
本实施例中,具体地全局定位方法参见步骤S211,在此不再赘述。
进一步,为了提高复调乐器的音符定位效果,可以重复执行S212-S213,直到复调乐器定位到的用户演奏音符序列变化较小时,结束迭代。
获取模块605,用于获取所述定位后的演奏音符序列并反馈给用户。
例如,复调乐器根据定位后的演奏音符序列,评价用户的演奏水平和技巧,对用户进行辅助和指导,或者根据定位后的演奏音符序列,获取用户演奏错误的音符反馈给用户,用于提醒用户在具体在哪些地方演奏错误。
本实施例中,通过从用户演奏数据中提取用户演奏音符序列,检测并标记其中的和声音符以得到和声信息,并根据得到的用户演奏音符序列及和声信息,对用户演奏音符进行定位,有效提高复调乐器音符定位效果。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种复调乐器评分方法,其特征在于,包括:
接收用户演奏数据;
提取用户演奏音符以得到用户演奏音符序列;
检测并标记所述用户演奏音符序列中的和声音符以得到所述用户演奏数据对应的和声信息;
根据得到的所述用户演奏音符序列及所述和声信息,采用动态规划方法对所述用户演奏音符进行定位以得到定位后的演奏音符序列;以及
获取所述定位后的演奏音符序列并反馈给用户。
2.根据权利要求1所述的方法,其特征在于,所述提取用户演奏音符以得到用户演奏音符序列,包括:
对所述用户演奏数据进行分帧处理,提取每帧所述用户演奏数据对应的频谱特征;
提取所述用户演奏数据对应的用户演奏音符信息,其中,所述用户演奏音符信息用分解系数表示;以及
根据所述分解系数确定所述用户演奏音符序列。
3.根据权利要求2所述的方法,其特征在于,所述根据所述分解系数确定所述用户演奏音符序列,具体包括:
对所述分解系数进行平滑操作,以得到平滑后的分解系数;以及
对所述平滑后的分解系数进行峰值点检测,以确定所述用户演奏音符序列。
4.根据权利要求1所述的方法,其特征在于,所述检测并标记所述用户演奏音符序列中的和声音符以得到所述用户演奏数据对应的和声信息,具体包括:
根据所述检测到的所述用户演奏音符序列中,每个音符的峰值点时间和起始时间,以及预先设置的阈值,进行所述和声音符的检测;
依次检测出所述用户演奏数据中所有所述和声音符,对同一和声内的所述和声音符进行标记;以及
对所述和声音符所属的和声进行编号,以得到所述用户演奏数据对应的和声信息,其中,所述和声信息包括每个和声内的用户演奏音符序列和所述和声的编号。
5.根据权利要求1所述的方法,其特征在于,所述根据得到的所述用户演奏音符序列及所述和声信息,采用动态规划方法对所述用户演奏音符进行定位以得到定位后的演奏音符序列,具体包括:
获取标准演奏数据;
提取所述标准演奏数据对应的标准演奏音符以得到参考音符序列;
根据所述参考音符序列,采用动态规划方法对所述用户演奏音符序列进行全局定位,以得到所述用户演奏数据中用户演奏错误的音符;
根据所述和声信息对全局定位后的所述用户演奏音符序列进行局部修正;以及
根据所述参考音符序列,对局部修正后的所述用户演奏音符序列进行全局定位,以得到全局定位后的所述用户演奏音符序列。
6.一种复调乐器评分装置,其特征在于,包括:
接收模块,用于接收用户演奏数据;
提取模块,用于提取用户演奏音符以得到用户演奏音符序列;
检测模块,用于检测并标记所述用户演奏音符序列中的和声音符以得到所述用户演奏数据对应的和声信息;
定位模块,用于根据得到的所述用户演奏音符序列及所述和声信息,采用动态规划方法对所述用户演奏音符进行定位以得到定位后的演奏音符序列;以及
获取模块,用于获取所述定位后的演奏音符序列并反馈给用户。
7.根据权利要求6所述的装置,其特征在于,所述提取模块具体包括:
分帧处理子模块,用于对所述用户演奏数据进行分帧处理,提取每帧所述用户演奏数据对应的频谱特征;
第一提取子模块,用于提取所述用户演奏数据对应的用户演奏音符信息,其中,所述用户演奏音符信息用分解系数表示;以及
确定子模块,用于根据所述分解系数确定所述用户演奏音符序列。
8.根据权利要求7所述的装置,其特征在于,所述确定子模块具体包括:
平滑单元,用于对所述分解系数进行平滑操作,以得到平滑后的分解系数;以及
峰值点检测单元,用于对所述平滑后的分解系数进行峰值点检测,以确定所述用户演奏音符序列。
9.根据权利要求6所述的装置,其特征在于,所述检测模块具体包括:
和声音符检测子模块,用于根据所述检测到的所述用户演奏音符序列中,每个音符的峰值点时间和起始时间,以及预先设置的阈值,进行所述和声音符的检测;
标记子模块,用于依次检测出所述用户演奏数据中所有所述和声音符,对同一和声内的所述和声音符进行标记;以及
编号子模块,用于对所述和声音符所属的和声进行编号,以得到所述用户演奏数据对应的和声信息,其中,所述和声信息包括每个和声内的用户演奏音符序列和所述和声的编号。
10.根据权利要求6所述的装置,其特征在于,所述定位模块具体包括:
获取子模块,用于获取标准演奏数据;
第二提取子模块,用于提取所述标准演奏数据对应的标准演奏音符以得到参考音符序列;
第一全局定位子模块,用于根据所述参考音符序列,采用动态规划方法对所述用户演奏音符序列进行全局定位,以得到所述用户演奏数据中用户演奏错误的音符;
局部修正子模块,用于根据所述和声信息对全局定位后的所述用户演奏音符序列进行局部修正;以及
第二全局定位子模块,用于根据所述参考音符序列,对局部修正后的所述用户演奏音符序列进行全局定位,以得到全局定位后的所述用户演奏音符序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510431897.8A CN105118490B (zh) | 2015-07-20 | 2015-07-20 | 复调乐器音符定位方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510431897.8A CN105118490B (zh) | 2015-07-20 | 2015-07-20 | 复调乐器音符定位方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105118490A CN105118490A (zh) | 2015-12-02 |
CN105118490B true CN105118490B (zh) | 2019-01-18 |
Family
ID=54666453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510431897.8A Active CN105118490B (zh) | 2015-07-20 | 2015-07-20 | 复调乐器音符定位方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105118490B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106205572B (zh) * | 2016-06-28 | 2019-09-20 | 海信集团有限公司 | 音符序列生成方法及装置 |
CN109243248A (zh) * | 2018-09-29 | 2019-01-18 | 南京华捷艾米软件科技有限公司 | 一种基于3d深度摄像模组的虚拟钢琴及其实现方法 |
CN109493879B (zh) * | 2018-12-24 | 2021-12-17 | 成都嗨翻屋科技有限公司 | 音乐旋律节奏分析提取方法及装置 |
CN110070847B (zh) * | 2019-03-28 | 2023-09-26 | 深圳市芒果未来科技有限公司 | 乐音测评方法及相关产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1106949A (zh) * | 1993-07-08 | 1995-08-16 | 株式会社金星社 | 用于电子乐器演奏练习的装置及其控制方法 |
CN1433548A (zh) * | 1999-12-20 | 2003-07-30 | 汉索尔索弗特有限公司 | 基于网络的音乐演奏/歌曲伴奏服务***和方法 |
CN1953044A (zh) * | 2006-09-26 | 2007-04-25 | 中山大学 | 一种基于midi文件的乐器演奏提示和检测***及方法 |
CN1965347A (zh) * | 2004-06-09 | 2007-05-16 | 节姆创尼克斯有限公司 | 同构唱名法音乐记谱法及键盘 |
CN101398827A (zh) * | 2007-09-28 | 2009-04-01 | 三星电子株式会社 | 用于哼唱检索的方法和装置 |
CN102236545A (zh) * | 2010-05-05 | 2011-11-09 | 东方宇阳信息科技(北京)有限公司 | 一种新式最优乐谱音符定位快速算法装置及方法 |
CN102664016A (zh) * | 2012-04-23 | 2012-09-12 | 安徽科大讯飞信息科技股份有限公司 | 唱歌评测方法及*** |
CN103823867A (zh) * | 2014-02-26 | 2014-05-28 | 深圳大学 | 一种基于音符建模的哼唱式音乐检索方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7538265B2 (en) * | 2006-07-12 | 2009-05-26 | Master Key, Llc | Apparatus and method for visualizing music and other sounds |
JP5360510B2 (ja) * | 2011-09-22 | 2013-12-04 | カシオ計算機株式会社 | 演奏評価装置およびプログラム |
JP5783206B2 (ja) * | 2012-08-14 | 2015-09-24 | ヤマハ株式会社 | 音楽情報表示制御装置およびプログラム |
-
2015
- 2015-07-20 CN CN201510431897.8A patent/CN105118490B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1106949A (zh) * | 1993-07-08 | 1995-08-16 | 株式会社金星社 | 用于电子乐器演奏练习的装置及其控制方法 |
CN1433548A (zh) * | 1999-12-20 | 2003-07-30 | 汉索尔索弗特有限公司 | 基于网络的音乐演奏/歌曲伴奏服务***和方法 |
CN1965347A (zh) * | 2004-06-09 | 2007-05-16 | 节姆创尼克斯有限公司 | 同构唱名法音乐记谱法及键盘 |
CN1953044A (zh) * | 2006-09-26 | 2007-04-25 | 中山大学 | 一种基于midi文件的乐器演奏提示和检测***及方法 |
CN101398827A (zh) * | 2007-09-28 | 2009-04-01 | 三星电子株式会社 | 用于哼唱检索的方法和装置 |
CN102236545A (zh) * | 2010-05-05 | 2011-11-09 | 东方宇阳信息科技(北京)有限公司 | 一种新式最优乐谱音符定位快速算法装置及方法 |
CN102664016A (zh) * | 2012-04-23 | 2012-09-12 | 安徽科大讯飞信息科技股份有限公司 | 唱歌评测方法及*** |
CN103823867A (zh) * | 2014-02-26 | 2014-05-28 | 深圳大学 | 一种基于音符建模的哼唱式音乐检索方法及*** |
Non-Patent Citations (6)
Title |
---|
"Dynamic time warping technique for music instrument recognition for isolated notes";D.G Bhalke ET AL;《Emerging Trends in Electrical and Computer Technology,20111 International Conference》;20110324;全文 * |
"乐音识别技术研究及应用";徐国庆;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20050615;全文 * |
"乐音识别跟踪***关键技术的研究与实现";徐鹏进;《中国优秀硕士学位论文全文数据库信息科技辑》;20110915;全文 * |
"基于因子分析建模的电话语音说话人聚类";吴奎;《模式识别与人工智能》;20130131;第26卷(第1期);全文 * |
"自动音乐识谱***中的音符检测与流派分析";刘林;《中国优秀硕士学位论文全文数据库信息科技辑》;20090415;全文 * |
"音乐音符识别的方法";刘伟;《中国优秀硕士学位论文全文数据库信息科技辑》;20081015;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105118490A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110085261B (zh) | 一种发音纠正方法、装置、设备以及计算机可读存储介质 | |
CN109949783B (zh) | 歌曲合成方法及*** | |
CN105118490B (zh) | 复调乐器音符定位方法和装置 | |
CN106531185B (zh) | 基于语音相似度的语音评测方法及*** | |
US8543395B2 (en) | Methods and systems for performing synchronization of audio with corresponding textual transcriptions and determining confidence values of the synchronization | |
CN102664016A (zh) | 唱歌评测方法及*** | |
WO2019228230A1 (en) | Systems, methods, smart musical instruments, computer readable media for music score matching | |
CN108281127A (zh) | 一种音乐练习辅助***、方法、装置及存储装置 | |
KR101206351B1 (ko) | 악보인식시스템 및 이를 이용한 악보인식방법 | |
CN106816151B (zh) | 一种字幕对准方法及装置 | |
CN110599987A (zh) | 基于卷积神经网络的钢琴音符识别算法 | |
CN110070847B (zh) | 乐音测评方法及相关产品 | |
KR20160122542A (ko) | 발음 유사도 측정 방법 및 장치 | |
CN106971743B (zh) | 用户演唱数据处理方法和装置 | |
CN104299612A (zh) | 模仿音相似度的检测方法和装置 | |
CN109036352A (zh) | 翻谱方法、翻谱器、移动终端及存储介质 | |
CN106935236A (zh) | 一种钢琴演奏评估方法及*** | |
CN105280196A (zh) | 副歌检测方法及*** | |
CN108038146A (zh) | 音乐演奏人工智能分析方法、***及设备 | |
CN107122493B (zh) | 歌曲播放方法和装置 | |
CN105895079B (zh) | 语音数据的处理方法和装置 | |
CN110299049B (zh) | 一种电子乐谱的智能展现方法 | |
KR101493006B1 (ko) | 멀티미디어 콘텐츠 편집장치 및 그 방법 | |
CN103531220B (zh) | 歌词校正方法及装置 | |
CN116246598A (zh) | 一种基于片段式的多阶段自动音准评分方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |