CN113689836B - 一种将音频转换成音符并显示的方法及终端 - Google Patents
一种将音频转换成音符并显示的方法及终端 Download PDFInfo
- Publication number
- CN113689836B CN113689836B CN202110922957.1A CN202110922957A CN113689836B CN 113689836 B CN113689836 B CN 113689836B CN 202110922957 A CN202110922957 A CN 202110922957A CN 113689836 B CN113689836 B CN 113689836B
- Authority
- CN
- China
- Prior art keywords
- note
- comparison
- notes
- standard
- pitch
- 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
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/066—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/086—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for transcription of raw audio or music data to a displayed or printed staff representation or to displayable MIDI-like note-oriented data, e.g. in pianoroll format
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/005—Non-interactive screen display of musical or status data
- G10H2220/015—Musical staff, tablature or score displays, e.g. for score reading during a performance.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开一种将音频转换成音符并显示的方法及终端,获取待转换的音频;将所述待转换的音频转换成对应的音符集,根据所述音符集生成转换后的曲谱;将所述转换后的曲谱与所述待转换音频对应的标准曲谱进行对齐并显示;将待转换的音频转换成对应的音符集,根据音符集生成转换后的曲谱;将转换后的曲谱与待转换音频对应的标准曲谱进行对齐并显示,通过将用户演唱或演奏的信息转成曲谱,并与标准曲谱进行对照显示,能更准确以及专业地反映用户的演唱或演奏情况,从而能够让用户方便地获知其演唱或演奏的音频与标准曲谱的差距,有助于用户歌唱或演奏的纠错、练习与提高。
Description
技术领域
本发明涉及音频转换领域,尤其涉及一种将音频转换成音符并显示的方法及终端。
背景技术
目前的演唱或演奏评分***,通常是将用户演唱或演奏的音准情况通过在界面画音高条的方式展示,虽然通过这样的方式能够大致看到用户演唱或演奏的音准情况,但是没办法具体了解与标准曲谱的差距以及如何改进。
目前也有打谱软件,可以直接将用户演唱的音频转换多个音符,再将音符转为曲谱,从而方便用户进行编曲。但这种方式只能得到原创的曲谱,用户无法采用这种方式了解个人演唱或演奏的音频与标准曲谱的差距,无法进一步进行改进或提高。
发明内容
本发明所要解决的技术问题是:提供一种将音频转换成音符并显示的方法及终端,能够让用户方便地获知其演唱或演奏的音频与标准曲谱的差距。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种将音频转换成音符并显示的方法,包括步骤:
获取待转换的音频;
将所述待转换的音频转换成对应的音符集,根据所述音符集生成转换后的曲谱;
将所述转换后的曲谱与所述待转换音频对应的标准曲谱进行对齐并显示。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种将音频转换成音符并显示的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述将音频转换成音符并显示的方法中的各个步骤。
本发明的有益效果在于:将待转换的音频转换成对应的音符集,根据音符集生成转换后的曲谱;将转换后的曲谱与待转换音频对应的标准曲谱进行对齐并显示,通过将用户演唱或演奏的信息转成曲谱,并与标准曲谱进行对照显示,能更准确以及专业地反映用户的演唱或演奏情况,从而能够让用户方便地获知其演唱或演奏的音频与标准曲谱的差距,有助于用户歌唱或演奏的纠错、练习与提高。
附图说明
图1为本发明实施例的一种将音频转换成音符并显示的方法的步骤流程图;
图2为本发明实施例的一种将音频转换成音符并显示的终端的结构示意图;
图3为本发明实施例的一种将音频转换成音符并显示的方法中进行两次对齐的示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种将音频转换成音符并显示的方法,包括步骤:
获取待转换的音频;
将所述待转换的音频转换成对应的音符集,根据所述音符集生成转换后的曲谱;
将所述转换后的曲谱与所述待转换音频对应的标准曲谱进行对齐并显示。
由上述描述可知,本发明的有益效果在于:将待转换的音频转换成对应的音符集,根据音符集生成转换后的曲谱;将转换后的曲谱与待转换音频对应的标准曲谱进行对齐并显示,通过将用户演唱或演奏的信息转成曲谱,并与标准曲谱进行对照显示,能更准确以及专业地反映用户的演唱或演奏情况,从而能够让用户方便地获知其演唱或演奏的音频与标准曲谱的差距,有助于用户歌唱或演奏的纠错、练习与提高。
进一步地,还包括步骤:
突出显示所述转换后的曲谱与所述标准曲谱不一致的音符。
由上述描述可知,通过对转换后的曲谱与标准曲谱不一致的音符进行突出显示,能够让用户更直观地获知其演奏或演唱不准确的地方,从而有利于其进行及时地纠错改正。
进一步地,所述将待转换的音频转换成对应的音符集包括:
获取所述待转换音频对应的标准曲谱的标准音符集合,将所述待转换的音频参照所述标准音符集合转换成对应的音符集。
由上述描述可知,在将音频转换成对应的音符集时,参照标准曲谱来进行,根据标准曲谱的标准音符集合来转换,能够更合理地找出某个标准音符的匹配音符,提高所转换成的音符集与标准音符集合之间的匹配度,从而更加准确地确定出用户演唱或演奏的音频与标准曲谱之间的差距。
进一步地,所述将待转换的音频参照所述标准音符集合转换成对应的音符集包括:
将所述待转换的音频转换成对应的比对音符序列;
对齐所述比对音符序列与所述标准曲谱对应的标准音符集合,确定与所述标准音符集合中每一个标准音符对应的一个以上的比对音符;
将所述每一个标准音符对应的所有比对音符作为与该标准音符对应的比对音符集;
在每一个比对音符集中确定与其对应的标准音符匹配度最高的比对音符,得到与所述标准音符集合中每一个标准音符匹配的比对音符;
将所有匹配得到的比对音符进行合并得到所述待转换音频对应的音符集。
由上述描述可知,先对齐比对音符序列与标准曲谱对应的标准音符集合,确定与标准音符集合的中每一个标准音符对应的比对音符集,再在每一个比对音符集中确定与其对应的标准音符匹配度最高的比对音符,得到与每一个标准音符一一匹配的比对音符,即先通过确定与每一个标准音符对应的比对音符集,实现比对音符与标准音符的第一次对齐,可解决用户演唱或演奏时间与曲谱不一致的问题,接着在此基础上搜索与标准音符最匹配的比对音符,实现比对音符与标准音符的第二次对齐,进一步剔除多余的比对音符,通过两次对齐极大地提高了用户音符与标准音符匹配的精确度,从而准确地确定出用户演唱或演奏的音频与标准曲谱的差距。
进一步地,所述音符集中的每个比对音符包括其对应的音高和音长时值,所述标准音符集合中每个标准音符包括其对应的音高和音长时值;
所述根据所述音符集生成转换后的曲谱包括:
将所述音符集中的每一个比对音符的音高转换成对应的音名或唱名;
将所述音符集中的每一个比对音符的音长时值根据其对应的标准音符的音长时值和预设的冗余值转换成对应的音长;
根据所述音符集中每一个比对音符对应的音名或唱名以及音长生成转换后的曲谱。
由上述描述可知,在将比对音符的音长时值变成曲谱上的时长时,能够根据预设的冗余值进行转换,预设的冗余值根据经验值进行设定,这样转换后的曲谱更符合用户实际演唱或演奏的特点。
进一步地,所述将所述待转换的音频转换成对应的比对音符序列包括:
从所述待转换的音频中提取音高序列;
对所述音高序列进行切分,得到对应的比对音符序列。
由上述描述可知,通过在待转换的音频中提取音高序列,并对音高序列进行切分,从而得到对应的比对音符序列,能够方便准确地将音频转换成对应的比对音符序列。
进一步地,所述对所述音高序列进行切分,得到对应的比对音符序列包括:
检测所述音高序列的零值,根据所述零值将所述音高序列分成多个音高片段,得到音高片段集合;
遍历所述音高片段集合,对于遍历到的每一个音高片段,确定所述音高片段对应的一个以上的比对音符;
合并所有音高片段对应的比对音符得到对应的比对音符序列。
由上述描述可知,在提取出音高序列后,先通过检测音高序列的零值,根据零值将音高序列分成多个音高片段,再基于音高片段确定每个音高片段对应的一个以上的比对音符,最后再合并所有音高片段对应的比对音符得到比对音符序列,通过拆分后再合并保证了所确定出的比对音符序列的准确性和可靠性。
进一步地,所述确定所述音高片段对应的一个以上的比对音符包括:
按时间顺序逐个地获取并缓存音高片段中的音高;
每缓存一个音高,确定已缓存的所有音高的平均音高差;
判断所述平均音高差是否大于预设阈值,若是,将所述已缓存的所有的音高中值或平均值确定为新生成的音符的音高;
根据所述已缓存的所有的音高对应的时长之和确定所述新生成的音符的音长时值;
根据所述音高和音长时值确定所述音高片段对应的一个比对音符;
清空已缓存的所有音高,并返回执行按时间顺序逐个地获取并缓存音高片段中的音高步骤直至遍历完所述音高片段中的每一个音高;
若否,返回执行按时间顺序逐个地获取并缓存音高片段中的音高步骤直至遍历完所述音高片段中的每一个音高;
将按顺序生成的所有比对音符确定为所述音高片段对应的一个以上的比对音符。
由上述描述可知,在确定每个音高片段对应的比对音符时,通过对获取到的连续音高计算平均音高差,通过平均音高差来确定属于同一个音符的音高,并据此确定对应的音符的音高和音长时值,作为与音高片段对应的比对音符,从而确定出每个音高片段对应的一个以上的比对音符,能够准确快速地确定出与每一个音高片段对应的所有比对音符,有利于后续的音符比对。
进一步地,还包括步骤:
确定所述比对音符序列中每一比对音符的开始时间和结束时间,得到每一比对音符对应的时间范围;
所述对齐所述比对音符序列与所述标准曲谱对应的标准音符集合,确定与所述标准音符集合的中每一个标准音符对应的一个以上的比对音符,将所述每一个标准音符对应的所有比对音符作为与该标准音符对应的比对音符集包括:
所述待转换的音频为演唱音频,对所述待转换的音频按演唱歌词进行切字,得到演唱的每一个字的时间信息;
根据所述演唱的每一个字的时间信息与所述比对音符序列中每一比对音符对应的时间范围确定与所述每个字对应的一个以上的比对音符,将所述每个字对应的所有比对音符确定为与该字对应的比对音符集;
根据所述演唱的每一个字对应的标准音符以及所述演唱的每一个字对应的比对音符集,确定与所述标准音符集合中每一个标准音符对应的比对音符集。
由上述描述可知,对于演唱音频,可以通过对演唱的歌词进行切字,得到每一个字的时间信息,然后根据时间信息确定每一个字对应的比对音符集,最后将每一个字对应的比对音符集和和其对应的标准音符确定每一个标准音符对应的比对音符集,通过对歌词的切字能够方便地确定演唱音频中每一个标准音符对应的比对音符集,同时能解决用户演唱或演奏的时间与标准曲谱不一致的问题。通过上述操作,实现了户演唱或演奏与标准曲谱的一次对齐。
进一步地,所述对所述待转换的音频按演唱歌词进行切字,得到演唱的每一个字的时间信息包括:
利用预设的语音识别模型将所述待转换的音频和对应的演唱歌词进行强对齐,得到演唱的每一个字的时间信息。其中,所述强对齐采用口语语音评测GOP算法。
由上述描述可知,通过口语语音评测GOP算法和预设的语音识别模型能够准确方便地对演唱歌词进行切字,并确定演唱的每一个字的时间信息。
进一步地,所述对齐所述比对音符序列与所述标准曲谱对应的标准音符集合包括:
将所述比对音符序列和所述标准曲谱对应的标准音符集合进行DTW对齐。
由上述描述可知,通过DTW算法能够方便地对比对音符序列和标准曲谱对应的标准音符集合进行对齐,既适用于演唱或演奏音频,也适用于哼唱音频,通用性好,适用性强。
进一步地,所述音符集中的每个比对音符包括其对应的音高和音长时值,所述标准音符集合中每个标准音符包括其对应的音高和音长时值;所述在每一个比对音符集中确定与其对应的标准音符匹配度最高的比对音符包括:
遍历每一个比对音符集中的比对音符,对于遍历到的比对音符:
确定所述比对音符的音高与其所在的比对音符集对应的标准音符的音高的第一匹配度;
确定所述比对音符的音长时值与其所在的比对音符集对应的标准音符的音长时值的第二匹配度;
根据所述第一匹配度和所述第二匹配度确定所述比对音符与其所在的比对音符集对应的标准音符之间的匹配度;
将每一个比对音符集中匹配度最高的比对音符确定为与其对应的标准音符匹配度最高的比对音符。
由上述描述可知,分别将对比对音符和其对应的标准音符的音高和音长时值进行匹配,根据两个匹配值确定比对音符和与其对应的标准音符之间的匹配度,将每一个比对音符集中匹配度最高的比对音符确定为与其对应的标准音符匹配度最高的比对音符,剔除了多余的比对音符,保证了第二次对齐的精细度,提高了音符对齐的精度。
请参照图2,一种将音频转换成音符并显示的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述将音频转换成音符并显示的方法中的各个步骤。
本发明上述将音频转换成音符并显示的方法及终端能够适用于各种需要对用户演唱或演奏的音频进行评价的应用场景中,比如对演奏者或演唱者的评分、演奏者或演唱者的练习或者用户到KTV唱歌等应用场景中,以下通过具体实施方式进行说明:
实施例一
请参照图1,一种将音频转换成音符并显示的方法,包括步骤:
S1、获取待转换的音频,所述音频可以是用户演唱的音频,也可以是用户演奏的音频;
S2、将所述待转换的音频转换成对应的音符集,根据所述音符集生成转换后的曲谱;
其中,所述将待转换的音频转换成对应的音符集包括:
获取所述待转换音频对应的标准曲谱的标准音符集合,将所述待转换的音频参照所述标准音符集合转换成对应的音符集;
S3、将所述转换后的曲谱与所述待转换音频对应的标准曲谱进行对齐并显示;
对齐后的转换后的曲谱和待转化音频对应的标准曲谱一同在界面上进行显示;
在进行显示时,可以以一行转换后的曲谱,一行对应的标准曲谱直至显示完整首歌曲的方式进行显示;也可以显示整首转换后的曲谱,并对应显示整首标准曲谱;
其中,为了让用户更直观地获知演唱或演奏不一致的地方,可以突出显示所述转换后的曲谱与所述标准曲谱不一致的音符,比如可以用不同的颜色或者用动画来突出显示不一致的音符以引起用户的注意,让用户能直观地看到演唱或演奏不准确的地方。
实施例二
本实施例进一步限定了如何将待转换的音频参照所述标准音符集合转换成对应的音符集:
S21、将所述待转换的音频转换成对应的比对音符序列;
具体的,从所述待转换的音频中提取音高序列;
对所述音高序列进行切分,得到对应的比对音符序列;
其中,从所述待转换的音频中提取音高序列包括:
从待转换的音频中提取基频序列,其中,基频的提取算法可以采用短时自相关、短时平均幅度差AMDF、YIN算法等;
对所述基频序列进行平滑处理;
将平滑处理后的基频序列转换为音高序列,转换公式如下:
式中,f表示基频序列中的基频,p表示转换后的与基频f对应的音高;
S22、对齐所述比对音符序列与所述标准曲谱对应的标准音符集合,确定与所述标准音符集合中每一个标准音符对应的一个以上的比对音符;
S23、将所述每一个标准音符对应的所有比对音符作为与该标准音符对应的比对音符集;
S24、在每一个比对音符集中确定与其对应的标准音符匹配度最高的比对音符,得到与所述标准音符集合中每一个标准音符匹配的比对音符;
S25、将所有匹配得到的比对音符进行合并得到所述待转换音频对应的音符集;
其中,音符集中的每个比对音符包括其对应的音高和音长时值,标准音符集合中每个标准音符包括其对应的音高和音长时值;
所述根据所述音符集生成转换后的曲谱包括:
将所述音符集中的每一个比对音符的音高转换成对应的音名或唱名;
比如C大调下,音高60则映射为简谱数字“1”,音高62则映射为简谱数字“2”,以此类推,其他可选的实施方式中,也可以将音高映射为五线谱音名;
将所述音符集中的每一个比对音符的音长时值根据其对应的标准音符的音长时值和预设的冗余值转换成对应的音长;
比如,标准音符的音长名为二分音符,若匹配到的比对音符音长时值接近标准音符的音长时值,则映射成二分音符;若匹配到的比对音符音长时值接近标准音符的音长时值的一半,则映射成四分音符;以此类推。
更具体的,比对音符与标准音符的接近程度可通过预设的冗余值进行比较。当比对音符音长时值在标准音符音长时值预设的冗余值范围内,则将比对音符的音长时值映射成标准音符的音长。例如,若预设的冗余值为0.25,则认为比对音符的音长时值在标准音符音的音长时值*(1±0.25)范围内即可满足映射条件。具体例如,若比对音符的音长时值为0.5秒,标准音符音的音长为四分音符,对应的音长时值为0.6秒,若预设的冗余值为0.25,则标准音符音预设的冗余范围值为0.45秒-0.75秒,比对音符的音长时值落在该标准音符的冗余范围值内,因此,将比对音符的音长时值映射成标准音符的音长,即四分音符。所述冗余值根据经验值设置,使得转换后更符合用户实际演唱或演奏的情况。
根据所述音符集中每一个比对音符对应的音名或唱名以及音长生成转换后的曲谱;
转换后的曲谱是由包含音名和音长的音符构成的,则在步骤S3的显示过程中,通过界面,能够将标准音符和与其匹配的比对音符的音名和音长对照显示。
实施例三
本实施例进一步限定了如何对所述音高序列进行切分,得到对应的比对音符序列,具体的:
检测所述音高序列的零值,根据所述零值将所述音高序列分成多个音高片段,得到音高片段集合,即根据音高序列中的零值位置将音高序列分成多个按照时间顺序排列的音高片段;
按照时间顺序遍历所述音高片段集合中的每一个音高片段,对于遍历到的每一个音高片段,确定所述音高片段对应的一个以上的比对音符;
按照时间顺序合并所有音高片段对应的一个以上的比对音符得到对应的比对音符序列;
其中,确定所述音高片段对应的一个以上的比对音符包括:
按时间顺序逐个地获取并缓存音高片段中的音高;
每缓存一个音高,确定已缓存的所有音高的平均音高差;
每获取一个音高,可以将其缓存至预设的数组pvInNote中,然后计算数组pvInNote中已存储的所有音高的平均音高差meanPitchError;
平均音高差meanPitchError的计算过程为:
计算数组pvInNote中已存储的所有音高的中值,然后计算数组pvInNote中已存储的所有音高与该中值的差值的绝对值的和,然后再求平均值;
判断所述平均音高差是否大于预设阈值,若是,将所述已缓存的所有的音高中值或平均值确定为新生成的音符的音高;
根据所述已缓存的所有的音高对应的时长之和确定所述新生成的音符的音长时值;
根据所述音高和音长时值确定所述音高片段对应的一个比对音符;
即将数组pvInNote中已存储的所有音高对应一个音符,并且将已存储的所有音高的中值或平均值确定为该音符的音高;
将数组pvInNote的长度乘以数组中单个数对应的单位长度代表的时间作为该音符的音长时值,同时记录pvInNote数组所有音高对应原始音高序列的索引,根据该索引可以得到所生成的该音符在原始音频中的开始时间和结束时间,将新生成的该音符加入音符数组notes,并将数组pvInNote清空,返回执行按时间顺序逐个地获取并缓存音高片段中的音高步骤直至遍历完所述音高片段中的每一个音高;
若否,返回执行按时间顺序逐个地获取并缓存音高片段中的音高步骤直至遍历完所述音高片段中的每一个音高;
将按顺序生成的所有比对音符确定为所述音高片段对应的一个以上的比对音符;
遍历完所有的音高片段后,生成所有音高片段对应的所有比对音符,音符数组notes存放的即所有比对音符。
实施例四
本实施例进一步限定了如何对齐所述比对音符序列与所述标准曲谱对应的标准音符集合,具体的:
在一种可选的实施方式中,对于待转换的音频是演唱音频的应用场景。其中,演唱音频可以包含用户演唱的歌词信息;还可以单独获得演唱歌曲对应的歌词信息:
确定所述比对音符序列中每一比对音符的开始时间和结束时间,得到每一比对音符对应的时间范围;
具体的,在生成音符数组notes时,还记录了每个比对音符对应音高的索引,根据每一个比对音符对应音高的最小索引与最大索引即能够确定其对应的在音频中的开始时间和结束时间;将最小索引乘以每个音高的时长作为开始时间,最大索引乘以每个音高的时长作为结束时间,每个音高的时长相同。
所述对齐所述比对音符序列与所述标准曲谱对应的标准音符集合,确定与所述标准音符集合的中每一个标准音符对应的一个以上的比对音符,将所述每一个标准音符对应的所有比对音符作为与该标准音符对应的比对音符集包括:
对所述待转换的音频按演唱歌词进行切字,得到演唱的每一个字的时间信息;
根据所述演唱的每一个字的时间信息与所述比对音符序列中每一比对音符对应的时间范围确定与所述每个字对应的一个以上的比对音符,将所述每个字对应的所有比对音符确定为与该字对应的比对音符集;
根据所述演唱的每一个字对应的标准音符以及所述演唱的每一个字对应的比对音符集,确定与所述标准音符集合中每一个标准音符对应的比对音符集;
若该字对应一个标准音符,则该字对应的比对音符集作为该标准音符对应的比对音符集,若该字对应多个标准音符,则采用DTW算法对齐该字对应的多个标准音符和该字对应的比对音符集,做进一步的划分,从而得到该字对应的多个标准音符中每个标准音符各自对应的比对音符集;
其中,对所述待转换的音频按演唱歌词进行切字,得到演唱的每一个字的时间信息包括:
利用预设的语音识别模型将所述待转换的音频和对应的演唱歌词进行强对齐,得到演唱的每一个字的时间信息;本实施例中采用tdnn语音识别模型,所述强对齐采用口语语音评测GOP算法。
在另一种可选的实施方式中,所述对齐所述比对音符序列与所述标准曲谱对应的标准音符集合包括:
将所述比对音符序列和所述标准曲谱对应的标准音符集合进行DTW对齐;
将与同一个标准音符对齐的比对音符作为该标准音符对应的比对音符集,与同一个标准音符对齐的比对音符可以是一个或多个;
在该实施方式中,支持用户用歌词演唱或哼唱或演奏的应用场景。
实施例五
本实施例进一步限定了如何确定出比对音符集中与其对应的标准音符匹配度最高的比对音符,即在与标准音符相关联的比对音符集中,与对应标准音符进行匹配,找到与对应标准音符相似度最高的比对音符,最终得到与所有标准音符一一对应的比对音符,具体的:
遍历每一个比对音符集中的比对音符,对于遍历到的比对音符:
确定所述比对音符的音高与其所在的比对音符集对应的标准音符的音高的第一匹配度;
确定所述比对音符的音长时值与其所在的比对音符集对应的标准音符的音长时值的第二匹配度;
根据所述第一匹配度和所述第二匹配度确定所述比对音符与其所在的比对音符集对应的标准音符之间的匹配度;
将每一个比对音符集中匹配度最高的比对音符确定为与其对应的标准音符匹配度最高的比对音符;
比如,将遍历到的比对音符的音高与对应的标准音符的音高进行比较,得到分数,并存放于数字pitchscore中,分数的设计规则可以为音高越接近,得分越高;
接着将遍历到的比对音符的音长时值与对应的标准音符的音长时值进行比较,得到分数,存放于数组durationscore中,分数的设计规则可以为音长时值越接近,得分越高;
结束遍历后,将数组pitchscore和durationscore对应的元素按照比例相加,公式为:notescore=rate*pitchscore+(1-rate)*durationscore,其中rate可以根据需要进行设定,本实施例中,rate取0.5;
确定数组notescore中的最大值及其对应的索引i,则该索引i对应的比对音符即为与上述标准音符匹配度最高的比对音符;
图3所示即为本实施例进行音符对齐的过程:
一次对齐:标准音符编号1的框代表标准音符1,标准音符编号2的框代表标准音符2,标准音符编号3的框代表标准音符3;比对音符编号为1-3组成的比对音符集均对应标准音符1,比对音符编号为4-5组成的比对音符集对应标准音符2;比对音符编号为6组成的比对音符集对应标准音符3;即通过实施例四得到标准音符对应的比对音符集。
二次对齐:经过上述的匹配度计算,确定比对音符编号为2的比对音符对应标准音符1,比对音符编号为4的比对音符对应标准音符2;比对音符编号为6的比对音符对应标准音符3;即通过上述本实施例五得到标准音符匹配度最高的比对音符。
因此,通过上述的两次对齐提高了比对音符与标准音符匹配的精确度。
实施例六
请参照图2,一种将音频转换成音符并显示的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一至实施例五中任一个所述的将音频转换成音符并显示的方法中的各个步骤。
综上所述,本发明提供的一种将音频转换成音符并显示的方法及终端,为了解决用户音符与标准曲谱音符的对齐问题,先对齐比对音符序列与标准曲谱对应的标准音符集合,确定与标准音符集合的中每一个标准音符对应的比对音符集,再在每一个比对音符集中确定与其对应的标准音符匹配度最高的比对音符,得到与每一个标准音符一一匹配的比对音符,即先通过确定与每一个标准音符对应的比对音符集,实现比对音符与标准音符的第一次对齐,可解决用户演唱或演奏时间与曲谱不一致的问题,接着在此基础上搜索与标准音符最匹配的比对音符,实现比对音符与标准音符的第二次对齐,进一步剔除多余的比对音符,通过两次对齐极大地提高了用户音符与标准音符匹配的精确度,从而准确地确定出用户演唱或演奏的音频与标准曲谱的差距,并且能够将用户演唱或演奏的音频转换成曲谱,并与曲谱进行对照显示,能更准确以及专业地反映用户的演唱或演奏情况,有助于歌唱或演奏的纠错、练习与提高。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种将音频转换成音符并显示的方法,其特征在于,包括步骤:
获取待转换的音频;
将所述待转换的音频转换成对应的音符集,根据所述音符集生成转换后的曲谱;
将所述转换后的曲谱与所述待转换音频对应的标准曲谱进行对齐并显示;
所述将待转换的音频转换成对应的音符集包括:
获取所述待转换音频对应的标准曲谱的标准音符集合,将所述待转换的音频参照所述标准音符集合转换成对应的音符集。
2.根据权利要求1所述的将音频转换成音符并显示的方法,其特征在于,所述将待转换的音频参照所述标准音符集合转换成对应的音符集包括:
将所述待转换的音频转换成对应的比对音符序列;
对齐所述比对音符序列与所述标准曲谱对应的标准音符集合,确定与所述标准音符集合中每一个标准音符对应的一个以上的比对音符;
将所述每一个标准音符对应的所有比对音符作为与该标准音符对应的比对音符集;
在每一个比对音符集中确定与其对应的标准音符匹配度最高的比对音符,得到与所述标准音符集合中每一个标准音符匹配的比对音符;
将所有匹配得到的比对音符进行合并得到所述待转换音频对应的音符集。
3.根据权利要求2所述的将音频转换成音符并显示的方法,其特征在于,所述音符集中的每个比对音符包括其对应的音高和音长时值,所述标准音符集合中每个标准音符包括其对应的音高和音长时值;
所述根据所述音符集生成转换后的曲谱包括:
将所述音符集中的每一个比对音符的音高转换成对应的音名或唱名;
将所述音符集中的每一个比对音符的音长时值根据其对应的标准音符的音长时值和预设的冗余值转换成对应的音长;
根据所述音符集中每一个比对音符对应的音名或唱名以及音长生成转换后的曲谱。
4.根据权利要求2所述的一种将音频转换成音符并显示的方法,其特征在于,所述将所述待转换的音频转换成对应的比对音符序列包括:
从所述待转换的音频中提取音高序列;
对所述音高序列进行切分,得到对应的比对音符序列。
5.根据权利要求4所述的一种将音频转换成音符并显示的方法,其特征在于,所述对所述音高序列进行切分,得到对应的比对音符序列包括:
检测所述音高序列的零值,根据所述零值将所述音高序列分成多个音高片段,得到音高片段集合;
遍历所述音高片段集合,对于遍历到的每一个音高片段,确定所述音高片段对应的一个以上的比对音符;
合并所有音高片段对应的比对音符得到对应的比对音符序列。
6.根据权利要求5所述的一种将音频转换成音符并显示的方法,其特征在于,所述确定所述音高片段对应的一个以上的比对音符包括:
按时间顺序逐个地获取并缓存音高片段中的音高;
每缓存一个音高,确定已缓存的所有音高的平均音高差;
判断所述平均音高差是否大于预设阈值,若是,将所述已缓存的所有的音高中值或平均值确定为新生成的音符的音高;
根据所述已缓存的所有的音高对应的时长之和确定所述新生成的音符的音长时值;
根据所述音高和音长时值确定所述音高片段对应的一个比对音符;
清空已缓存的所有音高,并返回执行按时间顺序逐个地获取并缓存音高片段中的音高步骤直至遍历完所述音高片段中的每一个音高;
若否,返回执行按时间顺序逐个地获取并缓存音高片段中的音高步骤直至遍历完所述音高片段中的每一个音高;
将按顺序生成的所有比对音符确定为所述音高片段对应的一个以上的比对音符。
7.根据权利要求2至6中任一项所述的一种将音频转换成音符并显示的方法,其特征在于,还包括步骤:
确定所述比对音符序列中每一比对音符的开始时间和结束时间,得到每一比对音符对应的时间范围;
所述对齐所述比对音符序列与所述标准曲谱对应的标准音符集合,确定与所述标准音符集合的中每一个标准音符对应的一个以上的比对音符,将所述每一个标准音符对应的所有比对音符作为与该标准音符对应的比对音符集包括:
所述待转换的音频为演唱音频,对所述待转换的音频按演唱歌词进行切字,得到演唱的每一个字的时间信息;
根据所述演唱的每一个字的时间信息与所述比对音符序列中每一比对音符对应的时间范围确定与所述每个字对应的一个以上的比对音符,将所述每个字对应的所有比对音符确定为与该字对应的比对音符集;
根据所述演唱的每一个字对应的标准音符以及所述演唱的每一个字对应的比对音符集,确定与所述标准音符集合中每一个标准音符对应的比对音符集。
8.根据权利要求7所述的一种将音频转换成音符并显示的方法,其特征在于,所述对所述待转换的音频按演唱歌词进行切字,得到演唱的每一个字的时间信息包括:
利用预设的语音识别模型将所述待转换的音频和对应的演唱歌词进行强对齐,得到演唱的每一个字的时间信息。
9.根据权利要求2所述的一种将音频转换成音符并显示的方法,其特征在于,所述音符集中的每个比对音符包括其对应的音高和音长时值,所述标准音符集合中每个标准音符
包括其对应的音高和音长时值;所述在每一个比对音符集中确定与其对应的标准音符匹配度最高的比对音符包括:
遍历每一个比对音符集中的比对音符,对于遍历到的比对音符:
确定所述比对音符的音高与其所在的比对音符集对应的标准音符的音高的第一匹配度;
确定所述比对音符的音长时值与其所在的比对音符集对应的标准音符的音长时值的第二匹配度;
根据所述第一匹配度和所述第二匹配度确定所述比对音符与其所在的比对音符集对应的标准音符之间的匹配度;
将每一个比对音符集中匹配度最高的比对音符确定为与其对应的标准音符匹配度最高的比对音符。
10.一种将音频转换成音符并显示的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9中任一项所述的一种将音频转换成音符并显示的方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110922957.1A CN113689836B (zh) | 2021-08-12 | 2021-08-12 | 一种将音频转换成音符并显示的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110922957.1A CN113689836B (zh) | 2021-08-12 | 2021-08-12 | 一种将音频转换成音符并显示的方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113689836A CN113689836A (zh) | 2021-11-23 |
CN113689836B true CN113689836B (zh) | 2023-08-18 |
Family
ID=78579539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110922957.1A Active CN113689836B (zh) | 2021-08-12 | 2021-08-12 | 一种将音频转换成音符并显示的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113689836B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114639394A (zh) * | 2022-03-30 | 2022-06-17 | 三星电子(中国)研发中心 | 一种虚拟演奏伙伴的实现方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719366A (zh) * | 2009-12-16 | 2010-06-02 | 德恩资讯股份有限公司 | 一种音乐符号与音谱记号的编辑及显示方法及伴唱机*** |
CN109036352A (zh) * | 2018-06-29 | 2018-12-18 | 广州视源电子科技股份有限公司 | 翻谱方法、翻谱器、移动终端及存储介质 |
CN109599008A (zh) * | 2019-02-02 | 2019-04-09 | 厦门大学嘉庚学院 | 乐器练习辅助器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106448630B (zh) * | 2016-09-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 歌曲的数字乐谱文件的生成方法和装置 |
-
2021
- 2021-08-12 CN CN202110922957.1A patent/CN113689836B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719366A (zh) * | 2009-12-16 | 2010-06-02 | 德恩资讯股份有限公司 | 一种音乐符号与音谱记号的编辑及显示方法及伴唱机*** |
CN109036352A (zh) * | 2018-06-29 | 2018-12-18 | 广州视源电子科技股份有限公司 | 翻谱方法、翻谱器、移动终端及存储介质 |
CN109599008A (zh) * | 2019-02-02 | 2019-04-09 | 厦门大学嘉庚学院 | 乐器练习辅助器 |
Also Published As
Publication number | Publication date |
---|---|
CN113689836A (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978962B (zh) | 哼唱检索方法及*** | |
Gómez et al. | Towards computer-assisted flamenco transcription: An experimental comparison of automatic transcription algorithms as applied to a cappella singing | |
KR101520621B1 (ko) | 노래/허밍에 의한 질의 방법 및 장치 | |
CN109979488B (zh) | 基于重音分析的人声转乐谱*** | |
CN105825872B (zh) | 歌曲的难度确定方法和装置 | |
JP6794990B2 (ja) | 楽曲検索方法および楽曲検索装置 | |
JP2009123124A (ja) | 楽曲検索システム及び方法並びにそのプログラム | |
JP2003529091A (ja) | 音楽データベースの検索 | |
JP2014194536A (ja) | コード検出装置およびコード検出方法を実現するためのプログラム | |
CN110660383A (zh) | 一种基于歌词歌声对齐的唱歌评分方法 | |
CN110010159B (zh) | 声音相似度确定方法及装置 | |
CN113689836B (zh) | 一种将音频转换成音符并显示的方法及终端 | |
JP5598516B2 (ja) | カラオケ用音声合成システム,及びパラメータ抽出装置 | |
CN110867174A (zh) | 自动混音装置 | |
JPH11272274A (ja) | 歌声による曲検索法 | |
JP2007072023A (ja) | 情報処理装置及び情報処理方法 | |
JP3750547B2 (ja) | フレーズ分析装置及びフレーズ分析プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4399958B2 (ja) | 演奏支援装置および演奏支援方法 | |
JP5092589B2 (ja) | 演奏クロック生成装置、データ再生装置、演奏クロック生成方法、データ再生方法およびプログラム | |
JP4491743B2 (ja) | カラオケ装置 | |
JP2003131674A (ja) | 楽曲検索システム | |
CN116171472A (zh) | 信息处理装置、信息处理方法和程序 | |
Tang et al. | Melody Extraction from Polyphonic Audio of Western Opera: A Method based on Detection of the Singer's Formant. | |
JP2013210501A (ja) | 素片登録装置,音声合成装置,及びプログラム | |
EP0367191B1 (en) | Automatic music transcription method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |