一种音符修正的方法和装置制造方法及图纸

技术编号:14911597 阅读:64 留言:0更新日期:2017-03-30 01:43
本发明专利技术公开了一种音符修正的方法和装置,属于计算机技术领域。所述方法包括:获取目标歌曲的音符数据包括的每个音符,确定每个音符所属的音级频率区间中,出现次数最多的音级频率区间;基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间;在所述音符数据中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到修正后的音符数据。采用本发明专利技术,可以在没有标准音符数据的情况下实现音符修正。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种音符修正的方法和装置
技术介绍
用户在通过歌唱应用程序进行歌曲的音频录制后,歌唱应用程序会基于录制的原始的人声音频数据提取音符数据,提取的过程是:先对原始的人声音频数据中的频点进行分组,将连续的多个频率接近的频点划分为一个音符,然后基于每个音符包含的各频点的频率,计算音符对应的频率,并基于每个音符包含的各频点的时间,确定每个音符的开始时间点和时长,再确定每个音符的频率所属的音级频率区间的标识,进而可以得到人声音频数据对应的音符数据,在音符数据中记录有每个音符的频率、所属音级频率区间的标识、开始时间点和时长。其中,音级频率区间是人们为了区分音级而划分的频率区间,划分方式可以如下表1所示,声音的频率范围被划分为多个频率区间,表中的每一项均为一个音级频率区间的中心频率,每个音级频率区间对应一个音级,表1中的每一列为一个音列分组。音级可以包括C、C#/Db、D、D#/Eb、E、F、F#/Gb、G、G#/Ab、A、A#/Bb、B,其中,C、D、E、F、G、A、B为基本音级。用户在唱歌并进行音频录制的过程中,有时会出现“唱走调”的情况,“唱走调”的音符相对于正确的音符存在频率偏差,导致收听的舒适感较差。针对此情况,歌唱应用程序中提供了音符修正的功能,对用户“唱走调”的音符进行修正,用以提高音符数据的收听舒适感。具体过程是:对录制的人声音频数据提取音符数据,并获取原唱人声音频数据对应的标准音符数据,将提取的音符数据与标准音符数据进行比较,如果提取的音符数据与标准音符数据中的某个音符不同,则将提取的音符数据中的该音符修改为对应的标准音符数据中的音符。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:标准音符数据一般从网络中查找,在上述音符修正的过程中,如果某个歌曲无法查找到标准音符数据,则无法进行音符修正。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种音符修正的方法和装置。所述技术方案如下:第一方面,提供了一种音符修正的方法,所述方法包括:获取目标歌曲的音符数据包括的每个音符,确定每个音符所属的音级频率区间中,出现次数最多的音级频率区间;基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间;在所述音符数据中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到修正后的音符数据。可选的,所述确定每个音符所属的音级频率区间中,出现次数最多的音级频率区间,包括:对所述音符数据包括的每个音符的频率值进行2的整数倍的放大或缩小,分别将每个音符规整到预设的音列分组中;确定经过规整处理后的每个音符所属的音级频率区间中,出现次数最多的音级频率区间。这样,可以降低运算量,提高音符修正的效率。可选的,所述在所述音符数据中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到修正后的音符数据,包括:在经过规整处理后的每个音符中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到调整后的音符;对每个调整后的音符的频率值进行2的整数倍的放大或缩小,分别将每个调整后的音符恢复到对应的规整处理前的音符所在的音列分组中,得到对应的修正后的音符;在所述音符数据中,将每个调整后的音符对应的规整处理前的音符,修改为对应的修正后的音符,得到修正后的音符数据。这样,可以提高音符修正的效率。可选的,所述方法还包括:确定经过规整处理后的每个音符所属的音级频率区间中,出现次数次多的音级频率区间;所述基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间,包括:如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值小于或等于预设阈值,则基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间;如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值大于预设阈值,则基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间和所述出现次数次多的音级频率区间。这样,可以提高音符修正的精确度。可选的,所述如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值小于或等于预设阈值,则基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间,包括:如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值小于或等于预设阈值,则设置所述出现次数最多的音级频率区间对应C音级,基于音级排序,及对应C音级的音级频率区间,设置对应其它基本音级的多个音级频率区间;所述如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值大于预设阈值,则基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间和所述出现次数次多的音级频率区间,包括:如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值大于预设阈值,则当所述出现次数次多的音级频率区间在所述预设的音列分组中的序号N大于所述出现次数最多的音级频率区间在所述预设的音列分组中的序号M时,确定diff=N-M,当N小于M时,确定diff=N-M+12;根据diff取值的不同,按照以下方式处理:若diff为1、3、8、10,则确定M加上diff再除以12的余数为序号P,设置序号P在所述预设的音列分组中对应的音级频率区间对应C音级;若diff为6,则确定M加上7再除以12的余数为序号Q,设置序号Q在所述预设的音列分组中对应的音级频率区间对应C音级;若diff为1、3、6、8、10之外的数值,则设置所述出现次数最多的音级频率区间对应C音级;基于音级排序,及对应C音级的音级频率区间,设置对应其它基本音级的多个音级频率区间。这样,可以提高音符修正的精确度。可选的,所述将所述音符的频率值调整到对应基本音级的音级频率区间中,包括:将所述音符的频率值,调整到与所述音符频率最接近且对应基本音级的音级频率区间中。这样,可以在保证音符数据的收听舒适度的同时尽量减小对音符数据的修改。第二方面,提供了一种音符修正的装置,其特征在于,所述装置包括:确定模块,用于获取目标歌曲的音符数据包括的每个音符,确定每个音符所属的音级频率区间中,出现次数最多的音级频率区间;设置模块,用于基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间;修正模块,用于在所述音符数据中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到修正后的音符数据。可选的,所述确定模块,用于:对所述音符数据包括的每个音符的频率值进行2的整数倍的放大或缩小,分别将每个音符规整到预设的音列分组中;确定经过规整处理后的每个音符所属的音级频率区间中,出现次数最多的音级本文档来自技高网
...

【技术保护点】
一种音符修正的方法,其特征在于,所述方法包括:获取目标歌曲的音符数据包括的每个音符,确定每个音符所属的音级频率区间中,出现次数最多的音级频率区间;基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间;在所述音符数据中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到修正后的音符数据。

【技术特征摘要】
1.一种音符修正的方法,其特征在于,所述方法包括:获取目标歌曲的音符数据包括的每个音符,确定每个音符所属的音级频率区间中,出现次数最多的音级频率区间;基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间;在所述音符数据中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到修正后的音符数据。2.根据权利要求1所述的方法,其特征在于,所述确定每个音符所属的音级频率区间中,出现次数最多的音级频率区间,包括:对所述音符数据包括的每个音符的频率值进行2的整数倍的放大或缩小,分别将每个音符规整到预设的音列分组中;确定经过规整处理后的每个音符所属的音级频率区间中,出现次数最多的音级频率区间。3.根据权利要求2所述的方法,其特征在于,所述在所述音符数据中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到修正后的音符数据,包括:在经过规整处理后的每个音符中,对于所属音级频率区间不对应基本音级的音符,将所述音符的频率值调整到对应基本音级的音级频率区间中,得到调整后的音符;对每个调整后的音符的频率值进行2的整数倍的放大或缩小,分别将每个调整后的音符恢复到对应的规整处理前的音符所在的音列分组中,得到对应的修正后的音符;在所述音符数据中,将每个调整后的音符对应的规整处理前的音符,修改为对应的修正后的音符,得到修正后的音符数据。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定经过规整处理后的每个音符所属的音级频率区间中,出现次数次多的音级频率区间;所述基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间,包括:如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值小于或等于预设阈值,则基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间;如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值大于预设阈值,则基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间和所述出现次数次多的音级频率区间。5.根据权利要求4所述的方法,其特征在于,所述如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值小于或等于预设阈值,则基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间,包括:如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值小于或等于预设阈值,则设置所述出现次数最多的音级频率区间对应C音级,基于音级排序,及对应C音级的音级频率区间,设置对应其它基本音级的多个音级频率区间;所述如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值大于预设阈值,则基于音级排序,设置对应基本音级的多个音级频率区间,所述多个音级频率区间中包括所述出现次数最多的音级频率区间和所述出现次数次多的音级频率区间,包括:如果所述出现次数次多的音级频率区间的出现次数与所述音符数据包括的音符数目的比值大于预设阈值,则当所述出现次数次多的音级频率区间在所述预设的音列分组中的序号N大于所述出现次数最多的音级频率区间在所述预设的音列分组中的序号M时,确定diff=N-M,当N小于M时,确定diff=N-M+12;根据diff取值的不同,按照以下方式处理:若diff为1、3、8、10,则确定M加上diff再除以12的余数为序号P,设置序号P在所述预设的音列分组中对应的音级频率区间对应C音级;若diff为6,则确定M加上7再除以12的余数为序号Q,设置序号Q在所述预设的音列分组中对应的音级频率区间对应C音级;若diff为1、3...

【专利技术属性】
技术研发人员:劳振锋
申请(专利权)人:广州酷狗计算机科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1