一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种修音方法、装置、设备及存储介质与流程

2021-07-02 21:13:00 来源:中国专利 TAG:音频处理 装置 公开 方法 设备
一种修音方法、装置、设备及存储介质与流程

本公开涉及音频处理技术领域,尤其涉及一种修音方法、装置、设备及存储介质。



背景技术:

在唱歌的过程中,由于每个用户对乐感和旋律的感知能力不同,经常会出现跑调的问题。

在相关技术中,跑调问题通过自动修音来完成。自动修音是指将用户的人声信号转化为数字乐谱,根据数字乐谱中每个音符的音高值与标准乐谱数据中每个音符的音高值的差异来修正数字乐谱,最终修正人声信号。在修正过程中,人声信号经过多次转化,无法避免的会出现转化错误。同时,标准乐谱数据中每个音符的音高值是一个恒定的值,而用户的音高值是一个变化的值(如:颤音、滑音等)。若采用标准乐谱数据中每个音符的音高值作为修正目标,将丧失用户的个人特色,降低满意度。



技术实现要素:

本公开提供一种修音方法、装置、设备及存储介质,能够在保证用户个人特色的情况下,进行人声信号修正。本公开的技术方案如下:

根据本公开的第一方面,提供一种修音方法,该方法包括:

获取人声信号和与人声信号对应的标准乐谱数据;标准乐谱数据包括至少一个标准音符和每个标准音符的音高值;

确定音符对应关系以及人声信号的初始音高值序列;音符对应关系包括人声信号中的每个音符与标准音符之间的对应关系;初始音高值序列包括歌曲音频人声信号中每帧子人声信号的音高值;

根据音符对应关系和标准音符的音高值,调整初始音高值序列中的音高值,以得到目标音高值序列;

根据目标音高值序列,修正人声信号。

可选的,确定音符对应关系,包括:

确定人声信号的歌词文本以及歌词文本的起止时间;

在标准乐谱数据中查找与歌词文本以及歌词文本的起止时间均匹配的标准歌词文本;

确定标准歌词文本对应的标准音符和标准音符的起止时间;

根据标准音符和标准音符的起止时间,确定人声信号的音符和每个音符的起止时间;

建立人声信号的音符和标准音符之间的对应关系,并将对应关系作为音符对应关系。

可选的,确定人声信号的初始音高值,包括:

确定人声信号中每帧子人声信号的音高值;

将确定出的音高值按照时间的先后顺序进行排序,得到初始音高值序列;或者,针对人声信号中的每个音符执行第一操作,以得到每个音符对应的子音高值序列,以及根据得到的所有子音高值序列,生成初始音高值序列,初始音高值序列中的子音高值序列是根据音符的先后顺序排列的;其中,第一操作为:从确定出的所有音高值中确定出至少一个目标音高值,以及根据至少一个目标音高值,生成第一音符对应的子音高值序列,目标音高值为处于第一音符的起止时间范围内的音高值,第一音符是人声信号中的任一音符。

可选的,确定目标音高值序列,包括:

在确定初始音高值序列中的音高值符合预设阈值的情况下,调整初始音高值序列的变化幅度;

在调整后的初始音高值序列中,若存在相邻且音高值不同的两个子音高值序列时,修改两个子音高值序列对应的音高值,得到目标音高值序列。

可选的,在确定初始音高值序列中的音高值符合预设阈值之前,还包括:

确定初始音高值序列中的每个子音高值序列的音高值的平均值;

读取音符对应关系中与人声信号中的每个音符对应的标准音符的音高值;

在确定出第一音符对应的子音高值序列的音高值的平均值与第一音符对应的标准音符的音高值相同的情况下,确定初始音高值序列中的音高值符合预设阈值,第一音符属于人声信号中的每个音符。

可选的,读取音符对应关系中与人声信号中的每个音符对应的标准音符的音高值之后,还包括:

在初始音高值序列中的音高值不符合预设阈值的情况下,修改初始音高值序列中的音高值,直到初始音高值序列中的音高值符合预设阈值。

可选的,获取与人声信号对应的标准乐谱数据,包括:

解析人声信号,得到特征信息;

根据特征信息从存储介质中查询并获取标准乐谱数据。

根据本公开的第二方面,提供一种修音装置,该装置包括:

获取模块,被配置为获取人声信号和与人声信号对应的标准乐谱数据;标准乐谱数据包括至少一个标准音符和每个标准音符的音高值;

处理模块,被配置为确定音符对应关系以及人声信号的初始音高值序列;音符对应关系包括人声信号中的每个音符与标准音符之间的对应关系;初始音高值序列包括歌曲音频人声信号中每帧子人声信号的音高值;

处理模块,还被配置为根据音符对应关系和标准音符的音高值,调整初始音高值序列中的音高值,以得到目标音高值序列;

处理模块,还被配置为根据目标音高值序列,修正人声信号。

可选的,处理模块,还被配置为确定人声信号的歌词文本以及歌词文本的起止时间;

处理模块,还被配置为在标准乐谱数据中查找与歌词文本以及歌词文本的起止时间均匹配的标准歌词文本;

处理模块,还被配置为确定标准歌词文本对应的标准音符和标准音符的起止时间;

处理模块,还被配置为根据标准音符和标准音符的起止时间,确定人声信号的音符和每个音符的起止时间;

处理模块,还被配置建立人声信号的音符和标准音符之间的对应关系,并将对应关系作为音符对应关系。

可选的,处理模块,还被配置为确定人声信号中每帧子人声信号的音高值;

处理模块,还被配置为将确定出的音高值按照时间的先后顺序进行排序,得到初始音高值序列;或者,针对人声信号中的每个音符执行第一操作,以得到每个音符对应的子音高值序列,以及根据得到的所有子音高值序列,生成初始音高值序列,初始音高值序列中的子音高值序列是根据音符的先后顺序排列的;其中,第一操作为:从确定出的所有音高值中确定出至少一个目标音高值,以及根据至少一个目标音高值,生成第一音符对应的子音高值序列,目标音高值为处于第一音符的起止时间范围内的音高值,第一音符是人声信号中的任一音符。

可选的,处理模块,还被配置为在确定初始音高值序列中的音高值符合预设阈值的情况下,调整初始音高值序列的变化幅度;

处理模块,还被配置为在调整后的初始音高值序列中,若存在相邻且音高值不同的两个子音高值序列时,修改两个子音高值序列对应的音高值,得到目标音高值序列。

可选的,处理模块,还被配置为确定初始音高值序列中的每个子音高值序列的音高值的平均值;

处理模块,还被配置为读取音符对应关系中与人声信号中的每个音符对应的标准音符的音高值;

处理模块,还被配置为在确定出第一音符对应的子音高值序列的音高值的平均值与第一音符对应的标准音符的音高值相同的情况下,确定初始音高值序列中的音高值符合预设阈值,第一音符属于人声信号中的每个音符。

可选的,处理模块,还被配置为在初始音高值序列中的音高值不符合预设阈值的情况下,修改初始音高值序列中的音高值,直到初始音高值序列中的音高值符合预设阈值。

可选的,处理模块,还被配置为解析人声信号,得到特征信息;

处理模块,还被配置为根据特征信息从存储介质中查询并获取标准乐谱数据。

根据本公开的第三方面,提供一种修音设备,修音设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为执行指令,以实现上述第一方面中任一种可选地修音方法。

根据本公开的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由修音装置的处理器执行时,使得修音装置能够执行上述第一方面中任一种可选地修音方法。

根据本公开的第五方面,提供一种计算机程序产品,包含指令,当其在计算机上运行时,使得计算机执行如第一方面中任一种可选地修音方法。

本公开提供的技术方案至少带来以下有益效果:本公开只将标准乐谱数据作为参考,按照人声信号对应的初始音高值序列重新设计了目标音高值序列。将目标音高值序列作为标准,修正人声信号。相较于现有技术,本公开不依赖数字乐谱,避免了多次转换导致的修音错误,同时,本公开中的初始音高值序列包含的是人声信号中的每帧人声信号的音高值,由于每帧人声信号对应的数据粒度很细,则初始音高值序列将极大的保留人声信号中的各种特色,此外,目标音高值序列是初始音高值序列结合标准音符的音高值设计的,不仅包含人声信号中的特色,而且音高值更准。所以,最终基于目标音高值序列修正的人声信号将更具有个人特点,也更加自然动听。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的修音装置的一种结构示意图;

图2是根据一示例性实施例示出的一种修音方法的流程示意图之一;

图3是根据一示例性实施例示出的一种修音方法的流程示意图之二;

图4是根据一示例性实施例示出的一种修音方法的流程示意图之三;

图5是根据一示例性实施例示出的一种修音方法的流程示意图之四;

图6是根据一示例性实施例示出的一种修音方法的流程示意图之五;

图7是根据一示例性实施例示出的一种修音装置的逻辑结构框图;

图8是根据一示例性实施例提供的修音方法的计算机程序产品的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

从线下的ktv到移动端的各种唱歌应用程序可知,唱歌这种休闲娱乐项目,已遍布人们的生活。唱歌可以调节人们的情绪,从而缓解生活带来的心理压力。然而优秀的演唱效果不仅需要歌唱天赋,还需要歌唱者投入时间去学习。

但是,大部分用户不具备歌唱天赋,也缺乏此类训练,因此唱歌时经常会出现跑调等问题。跑调问题在一定程度上降低了用户演唱的热情,阻碍了情感的抒发。现有技术中,通常通过自动修音对跑调问题进行修正,提高歌曲质量。自动修音需要将人声信号转化为数字乐谱,将数字乐谱与标准乐谱数据进行比对,将对比后有差异的部分进行修正,修正后再转化为人声信号。由于自动修音存在多次转化,无法避免转化过程中出现的错误,且转化后的数字乐谱以及标准乐谱数据中的每个音符都只有一个恒定音高值,而歌唱者在歌唱时每个音符的音高值是在不停变化,当以标准乐谱数据中标准音符的恒定音高值为修音目标时,则将直接忽略掉歌唱者的个人特色,降低用户满意度。

针对上述问题,本公开实施例提供一种修音方法,应用于修音装置,依据人声信号生成初始音高值序列,然后根据人声信号中的每个音符分别确定出与其相对应的标准音符,调整初始音高值序列,生成目标音高值序列,按照目标音高值序列对人声信号进行修正。相较于现有技术,本公开没有多次转化,避免人为误差。同时本公开还保留了人声信号中的各种特色与细节,使修正后的歌声更加自然动听。

图1是根据一示例性实施例示出的一种修音装置的结构示意图。上述修音方法可以应用于该修音装置100中。参见图1所示,该修音装置100包括有处理器101和存储器102。

其中,处理器101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器101可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,存储器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

存储器102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器101所执行以实现本公开方法实施例提供的修音方法。

在一些实施例中,修音装置100还可选包括有:外围设备接口103和至少一个外围设备。处理器101、存储器102和外围设备接口103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口103相连。具体地,外围设备包括:射频电路104、显示屏105、摄像头组件106、音频电路107、定位组件108和电源109中的至少一种。

外围设备接口103可被用于将输入/输出(input/output,i/o)相关的至少一个外围设备连接到处理器101和存储器102。在一些实施例中,处理器101、存储器102和外围设备接口103被集成在同一芯片或电路板上;在一些其他实施例中,处理器101、存储器102和外围设备接口103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不予限定。

射频电路104用于接收和发射射频(radiofrequency,rf)信号,也称电磁信号。射频电路104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路104包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路104可以通过至少一种无线通信协议来与其它电子设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或无线保真(wirelessfidelity,wifi)网络。在一些实施例中,射频电路104还可以包括近距离无线通信(nearfieldcommunication,nfc)有关的电路,本公开对此不加以限定。

显示屏105用于显示ui。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏105是触摸显示屏时,显示屏105还具有采集在显示屏105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器101进行处理。此时,显示屏105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏105可以为一个设置修音装置100的前面板;显示屏105可以采用液晶显示屏(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等材质制备。

摄像头组件106用于采集图像或视频。可选地,摄像头组件106包括前置摄像头和后置摄像头。通常,前置摄像头设置在修音装置100的前面板,后置摄像头设置在修音装置100的背面。音频电路107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器101进行处理,或者输入至射频电路104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在修音装置100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器101或射频电路104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路107还可以包括耳机插孔。

定位组件108用于定位修音装置100的当前地理位置,以实现导航或基于位置的服务(locationbasedservice,lbs)。定位组件108可以是基于美国的全球定位系统(globalpositioningsystem,gps)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源109用于为修音装置100中的各个组件进行供电。电源109可以是交流电、直流电、一次性电池或可充电电池。当电源109包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,修音装置100还包括有一个或多个传感器110。该一个或多个传感器110包括但不限于:温度传感器、加速度传感器、陀螺仪传感器、压力传感器、指纹传感器、光学传感器以及接近传感器。

温度传感器可以为接触式传感器或者非接触式传感器,可以用于获取检测对象的当前温度,例如,用于测量用户当前的温度。加速度传感器可以检测以修音装置100建立的坐标系的三个坐标轴上的加速度大小。陀螺仪传感器可以检测修音装置100的机体方向及转动角度,陀螺仪传感器可以与加速度传感器协同采集用户对修音装置100的3d动作。压力传感器可以设置在修音装置100的侧边框和/或触摸显示屏105的下层。当压力传感器设置在修音装置100的侧边框时,可以检测用户对修音装置100的握持信号。指纹传感器用于采集用户的指纹。光学传感器用于采集环境光强度。接近传感器,也称距离传感器,通常设置在修音装置100的前面板。接近传感器用于采集用户与修音装置100的正面之间的距离。

本领域技术人员可以理解,图1中示出的结构并不构成对修音装置100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

下面结合附图对本公开实施例提供的修音方法进行描述。

图2是根据一示例性实施例示出一种修音方法的流程图。如图2所示,该方法包括步骤201-步骤204:

步骤201、修音装置获取人声信号和与人声信号相对应的标准乐谱数据。

本步骤中,修音装置可以是终端的一部分,还可以是单独的电子设备,本公开对此不作限制。修音设备可以通过终端的麦克风获取到用户演唱的人声信号,还可以通过存储录音文件的存储设备获取到用户演唱的人声信号。该人声信号可以是完整的整首歌,还可以是一首歌中的部分片段。其中,终端可以是手机、平板电脑等具有录音功能的电子设备。

具体的,用户的人声信号为音频信号,通过处理音频信号可得到人声信号中的歌词文本和人声信号中的歌词文本的起止时间。

标准乐谱数据包括所有标准音符、每个标准音符的起止时间、每个标准音符的音高值、所有的标准歌词文本、每个标准歌词文本的起止时间和标准歌词文本与标准音符的对应关系。

进一步,与人声信号对应的标准乐谱数据的获取方式,包括步骤2011-2012:

步骤2011、修音装置解析人声信号,得到特征信息。

本步骤中,解析获取到的人声信号,得到特征信息。其中,该特征信息可以是歌曲名、专辑名、演唱者、演唱版本等。

步骤2012、修音装置根据特征信息从存储介质中查询并获取标准乐谱数据。

本步骤中,标准乐谱数据可以是根据特征信息从各种存储介质中获取的,还可以是根据数据库中的代号获得的,或者是根据用户演唱时的原唱伴奏得到。该标准乐谱数据优选为在用户演唱歌曲前就下载到本地并保存的乐谱。

其中,存储介质可以是本地数据库对应的存储器,还可以是远程服务器的数据库对应的存储器,本公开对此不作限制。

上述实施例提供的技术方案至少具有以下有益效果:采用上述技术特征,对人声信号进行解析,得到特征信息,根据人声信号的特征数据,确定出对应的标准乐谱数据。这样,得到的标准乐谱数据的出错率更低,以便于后续按照标准乐谱数据得到的目标音高值序列更加准确。

步骤202、修音装置确定音符对应关系以及人声信号的初始音高值序列。

其中,初始音高值序列包括歌曲音频人声信号中每帧子人声信号的音高值。

音符对应关系包括人声信号中的每个音符与标准音符之间的对应关系。

本步骤中,修音装置获取到人声信号后,将人声信号拆分成很多帧子人声信号,然后采用自相关算法对人声信号中的每帧子人声信号进行处理,最终得到人声信号中的每帧子人声信号对应的所有音高值,将所有音高值按照人声信号中的每帧人声信号的时间先后顺序进行排序,得到初始音高值序列。

具体的,结合图2,如图3所示,确定音符的对应关系可通过如下步骤得到:

步骤2021、修音装置确定人声信号的歌词文本以及歌词文本的起止时间;

具体的,修音装置获取到人声信号,利用歌词识别系统,对人声信号进行识别,从而得到人声信号中的歌词文本以及歌词文本的起止时间。

步骤2022、修音装置在标准乐谱数据中查找与歌词文本以及歌词文本的起止时间均匹配的标准歌词文本。

具体的,根据步骤201可知,标准乐谱数据包括标准歌词文本和标准歌词文本的起止时间,将人声信号中的歌词文本与标准歌词文本进行比较,若每个歌词文本对应的歌词都不相同,通过对比,即可得到歌词文本对应的标准歌词文本的位置。若歌词文本中存在相同的歌词,则将相同的歌词文本的起止时间和标准歌词文本的起止时间进行比较,即可区分出相同歌词对应的标准歌词文本的位置。

步骤2023、修音装置确定标准歌词文本对应的标准音符和标准音符的起止时间。

具体的,读取标准乐谱数据中标准歌词文本与标准音符之间的对应关系,可得到标准歌词文本对应的标准音符和标准音符的起止时间。

步骤2024、修音装置根据标准音符和标准音符的起止时间,确定人声信号的音符和每个音符的起止时间。

具体的,根据标准乐谱数据,可以得出标准歌词文本对应的标准音符、标准音符的起止时间,在确定出人声信号中的歌词文本对应的标准歌词文本后,即可得知人声信号中歌词文本对应的音符和每个音符的起止时间,从而确定出人声信号的音符和音符的起止时间。

示例性的,在人声信号中的歌词文本中确定出到第一歌词文本,第一歌词文本“我”的起止时间是从1.1秒到1.4秒。查找标准乐谱数据,得到对应的标准歌词文本“我”的起止时间是从1.2秒到1.4秒。根据标准乐谱数据中标准歌词文本与标准音符的对应关系可知,标准歌词文本“我”包含2个标准音符,分别从1.2秒到1.3秒,从1.3秒到1.4秒。则人声信号中的歌词文本第一歌词文本“我”也包含2个音符,这两个音符的起止时间分别从1.1秒到1.25秒,从1.25秒到1.4秒。

步骤2025、修音装置建立人声信号中的音符和标准音符之间的对应关系,并将对应关系作为音符对应关系。

具体的,在根据人声信号中的歌词文本和标准歌词文本,确定出人声信号中的歌词文本对应的标准音符后,然后根据标准音符和标准音符的起始时间,确定出人声信号中的歌词文本对应的音符和音符的起止时间,最后建立标准音符与人声信号中的音符的对应关系,得到音符对应关系。

在另一具体的实施例中,音符的对应关系还可以通过动态时间规整算法(dynamictimewarping,dtw)得到。dtw算法是一种衡量两个长度不同的时间序列的相似度的方法。主要用在模板匹配中,如:用在孤立词语音识别(识别两段语音是否表示同一个单词),手势识别,数据挖掘和信息检索等中。在本公开中的使用方法为将2个长度不同的序列按照音高相似性进行对齐,得到第一个序列中的每个点对应的第二个序列中的点。例如,第一个序列为人声信号的初始音高值序列,第二个序列为标准乐谱数据的标准音高值序列。其中,第一个序列的前4个音高值对应第二个序列的第1个音高值,第一个序列中的前4个音高值对应同一个音符,即乐谱中的第一个音符。第一个序列的第5~8个音高值对应第二个序列的第2个音高值。第一个序列中的第5~8音高值对应同一个音符,即乐谱中的第二个音符。以此类推,得到所有音高值的对应关系和人声信号的音符和标准音符的对应关系。其中,初始音高值序列可以根据步骤2026-步骤2027得到,本公开对此不作限制。

上述实施例提供的技术方案至少具有以下有益效果:采用上述技术特征,将人声信号分成很多帧子人声信号,由于每帧子人声信号的时间跨度很短,生成的初始音高值序列的数据会更详细;数据越详细,表达出人声信号的特色将更立体,以生成更具有个人特色的目标音高值序列。

具体的,结合图2,如图4所示,人声信号的初始音高值序列可通过如下步骤得到:

步骤2026、修音装置确定人声信号中每帧子人声信号的音高值。

本步骤中,将人声信号按照时间进行拆分,得到很多帧子人声信号。修音装置将每帧子人声信号进行音高值估计。估计方法可以是基于时域的算法实现的,还可以是基于频域算法实现的。具体的,基于时域的算法可以是自相关函数法。

步骤2027、修音装置将确定出的所有音高值按照时间的先后顺序进行排序,得到初始音高值序列。

或者,针对人声信号中的每个音符执行第一操作,以得到每个音符对应的子音高值序列,以及根据得到的所有子音高值序列,生成初始音高值序列,初始音高值序列中的子音高值序列是根据音符的先后顺序排列的。

其中,第一操作为:从确定出的所有音高值中确定出至少一个目标音高值,以及根据至少一个目标音高值,生成第一音符对应的子音高值序列,目标音高值为处于第一音符的起止时间范围内的音高值,第一音符是人声信号中的任一音符。

结合步骤2026,可以将得到的音高值按照时间顺序进行组合,得到初始音高值序列。再结合步骤2024得到的人声信号的音符和音符的起止时间后,也可以按照人声信号的音符将音高值进行划分,具体是,按照人声信号的音符的起止时间对所有音高值按照时间进行划分,以得到若干子音高值序列,一个人声信号的音符对应一个子音高值序列,将若干子音高值序列按照时间的先后顺序连接起来,可得到初始音高值序列。

示例性的,将人声信号进行分帧,每帧大约20ms~40ms。对每帧的子人声信号进行音高估计,得到每帧子人声信号的音高值,将音高值按照时间顺序排列,得到人声信号的初始音高值序列。

上述实施例提供的技术方案至少具有以下有益效果:采用上述特征,通过将人声信号的歌词文本与标准歌词文本进行匹配,在匹配结束后,再将标准乐谱数据的信息(如:标准歌词文本与标准音符的对应关系、每个标准歌词文本的起止时间、每个标准音符的起止时间等等)与人声信号中相对应的信息(如:每个歌词文本的起止时间)进行对比,建立人声信号中的音符与标准音符的对应关系,以便于后续利用音符对应关系生成目标音高值序列。

步骤203、修音装置根据音符对应关系和标准音符的音高值,调整初始音高值序列中的音高值,以得到目标音高值序列。

具体的,结合图2,如图5所示,步骤203可以包括如下步骤:

步骤2031a、修音装置在确定初始音高值序列中的音高值符合预设阈值的情况下,调整初始音高值序列的变化幅度。

本步骤中,调整变化幅度的可以是调整整个初始音高值序列,还可以是调整部分子音高值序列。其中,变化幅度通过初始音高值序列的方差来衡量。示例性的,调整初始音高值序列的变化幅度,使初始音高值序列的变化幅度的方差在1以内。

步骤2032a、修音装置在调整后的初始音高值序列中,若存在相邻且音高值不同的两个子音高值序列时,修改两个子音高值序列对应的音高值,得到目标音高值序列。

本步骤中,将初始音高值序列调整至规定的变化幅度之内后,若调整后的初始音高值序列中存在两个相邻的子音高值序列且该两个子音高值序列的音高值不同,由于,子音高值序列是与音符对应的,那么这两个子音高值序列对应的两个音符的标准音符的音高值是不同的,就会出现相邻两个音符变化差异过大,影响最终的听觉感受。针对该问题,本步骤修改上述两个子音高值序列中连接处的音高值,使得整个音符的变化更加流畅。

示例性的,将初始音高值序列调整至规定的变化幅度之内后,确定出初始音高值序列中的第三个子音高值序列和第四个子音高值序列对应的人声信号中的第三个音符和第四个音符不仅相连,且第三个音符音高值和第四个音符的音高值不同。标准音符数据中,第三个标准音符对应的音高值是50,第四个标准音符对应的音高值是55。人声信号中的第三个音符对应的子音高值序列有5个音高值,分别是50,50,50,50,50。第四个音符对应的子音高值序列有10个音高值,分别是55,55,55,55,55,55,55,55,55,55。调整第三个音符对应的子音高值序列的后两位和第四个音符对应的子音高值序列的前三位对应的音高值,使第三个音符对应的子音高值序列的5个音高值变为分别是50,50,50,51,52,第四个音符对应的子音高值序列有10个音高值,分别是53,54,55,55,55,55,55,55,55,55。

进一步的,目标音高值序列还可以利用神经网络学习一种设计规则自动生成目标音高值序列。比如:将初始音高值序列和对应的标准乐谱数据输入神经网络学习模型,输出是目标音高值序列。

上述实施例提供的技术方案至少具有以下有益效果:采用上述技术特征,对初始音高值序列中的音高值进行初步调整之后,再对初始音高值序列中两个相邻的子音高值序列的过渡部分进行进一步的调整,从而得到变化更加流畅的目标音高值序列,为得到更加自然动听的人声信号提供基础。

在步骤2031a和步骤2032a之前,还包括:

步骤2033a、修音装置确定初始音高值序列中的每个子音高值序列的音高值的平均值。

本步骤中,结合步骤202,在得到人声信号中每个音符的起止时间后,由于初始音高值序列为若干个音高值按照时间顺序组成的集合,将音符的起止时间与初始音高值序列中的音高值的时间通过时间匹配,得到人声信号中的每个音符对应的多个音高值,并将音高值组合,生成一个子音高值序列,一个子音高值序列中包括若干个音高值最后分别计算每个子音高值序列中音高值的平均值。

步骤2034a、修音装置读取音符对应关系中与人声信号中的每个音符对应的标准音符的音高值。

具体的,在音符对应关系中查找人声信号中每个音符对应的标准音符的音高值。

步骤2035a、修音装置在确定出第一音符对应的子音高值序列的音高值的平均值与第一音符对应的标准音符的音高值相同的情况下,确定初始音高值序列中的音高值符合预设阈值。

其中,第一音符属于人声信号中的每个音符。

具体的,在确定出人声信号中每个音符对应的子音高值序列后,将每个音符对应的标准音符的音高值与子音高值序列的平均值进行比较,根据比较结果,判断出包含所有子音高值序列的初始音高值序列是否符合预设阈值。该预设阈值为每个音符对应的标准音符的音高值与子音高值序列的平均值的差值在一定的范围内。

上述实施例提供的技术方案至少具有以下有益效果:由于子音高值序列是与人声信号的音符对应的,子音高值序列中包括很多个音高值,而人声信号的音符对应的标准音符只有一个音高值;本公开提出一种对初始音高值序列进行初步判断的方法,具体是判断初始音高值序列中的每个子音高值序列中所有音高值的平均值与标准音符的音高值是否一样。通过对初始音高值序列进行初步判断,将更能保证后续得到准确性高的目标音高值序列。

具体的,结合图2和图5,如图6所示,步骤203可以包括如下步骤:

步骤2031b、修音装置在初始音高值序列中的音高值不符合预设阈值的情况下,修改初始音高值序列中的音高值,直到初始音高值序列中的音高值符合预设阈值。

本步骤中,初始音高值序列中的音高值不符合预设阈值即为第一音符对应的子音高值序列的音高值的平均值与第一音符对应的标准音符的音高值不相同。在初始音高值序列中的音高值不符合预设阈值的情况下,修改初始音高值序列中的音高值,使其满足预设阈值。在满足预设阈值的情况下,继续执行步骤2031a和步骤2032a,生成目标音高值序列。

上述实施例提供的技术方案至少具有以下有益效果:采用上述技术特征,当初始音高值序列不满足预设阈值时,对初始音高值序列中的音高值进行调整,使得最终满足预设阈值,以便于执行后续初始音高值序列的进一步调整,最终得到符合要求目标音高值序列。

步骤204、修音装置根据目标音高值序列,修正人声信号。

具体的,根据目标音高值序列,对人声信号进行修正。具体的修正过程可以是通过时域基音同步叠加算法(time-domainpitchsynchronousoverlapandadd,td-psola)实现的,还可以是通过神经网络模型实现的。

上述实施例提供的技术方案至少具有以下有益效果是:将标准乐谱数据作为参考,并且按照人声信号对应的初始音高值序列重新设计目标音高值序列,最后根据目标音高值序列对人声信号进行修正。本公开中的初始音高值序列包含的是人声信号中的每帧人声信号的音高值,由于每帧人声信号对应的数据粒度很细,则初始音高值序列将极大的保留人声信号中的各种特色,此外,目标音高值序列是初始音高值序列结合标准音符的音高值设计的,不仅包含人声信号中的特色,而且音高值更准。所以,最终基于目标音高值序列修正的人声信号将更具有个人特点,也更加自然动听。

以上结合图2-图6详细说明了本公开实施例提供的方法。为了实现上述功能,修音装置包含了执行各个功能相应的硬件结构和/或软件模块,这些执行各个功能相应的硬件结构和/或软件模块可以构成一个修音装置。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。

本公开实施例可以根据上述方法示例对修音装置进行功能模块的划分,例如,修音装置可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

以下,结合图7详细说明本公开实施例提供的修音装置。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。

图7是根据一示例性实施例示出的另一种修音装置的逻辑结构框图。参照图7,该修音装置应用于第一服务器,该修音装置包括:获取模块710和处理模块720。

获取模块710,被配置为获取人声信号和与人声信号对应的标准乐谱数据;标准乐谱数据包括至少一个标准音符和每个标准音符的音高值;例如,结合图2,获取模块710可以用于执行步骤201。

处理模块720,被配置为确定音符对应关系以及人声信号的初始音高值序列;初始音高值序列包括歌曲音频人声信号中每帧子人声信号的音高值;音符对应关系包括人声信号中的每个音符与标准音符之间的对应关系;例如,结合图2,处理模块720可以用于执行步骤202。

处理模块720,还被配置为根据音符对应关系和标准音符的音高值,调整初始音高值序列中的音高值,以得到目标音高值序列;例如,结合图2,处理模块720可以用于执行步骤203。

处理模块720,还被配置为根据目标音高值序列,修正人声信号。例如,结合图2,处理模块720可以用于执行步骤204。

可选的,处理模块720,还被配置为确定人声信号中每帧子人声信号的音高值;例如,结合图4,处理模块720可以用于执行步骤2026。

处理模块720,还被配置为将确定出的所有音高值按照时间的先后顺序进行排序,得到初始音高值序列;或者,针对人声信号中的每个音符执行第一操作,以得到每个音符对应的子音高值序列,以及根据得到的所有子音高值序列,生成初始音高值序列,初始音高值序列中的子音高值序列是根据音符的先后顺序排列的;其中,第一操作为:从确定出的所有音高值中确定出至少一个目标音高值,以及根据至少一个目标音高值,生成第一音符对应的子音高值序列,目标音高值为处于第一音符的起止时间范围内的音高值,第一音符是人声信号中的任一音符。例如,结合图4,处理模块720可以用于执行步骤2027。

可选的,处理模块720,还被配置为确定人声信号的歌词文本以及歌词文本的起止时间;例如,结合图4,处理模块720可以用于执行步骤2021。

处理模块720,还被配置为在标准乐谱数据中查找与歌词文本以及歌词文本的起止时间均匹配的标准歌词文本;例如,结合图4,处理模块720可以用于执行步骤2022。

处理模块720,还被配置为确定标准歌词文本对应的标准音符和标准音符的起止时间;例如,结合图4,处理模块720可以用于执行步骤2023。

处理模块720,还被配置为根据标准音符和标准音符的起止时间,确定人声信号的音符和每个音符的起止时间。例如,结合图4,处理模块720可以用于执行步骤2024。

处理模块720,还被配置为建立人声信号的音符和标准音符之间的对应关系,并将对应关系作为音符对应关系。例如,结合图4,处理模块720可以用于执行步骤2025。

可选的,处理模块720,还被配置为在确定初始音高值序列中的音高值符合预设阈值的情况下,调整初始音高值序列的变化幅度;例如,结合图5,处理模块720可以用于执行步骤2031a。

处理模块720,还被配置为在调整后的初始音高值序列中,若存在相邻且音高值不同的两个子音高值序列时,修改两个子音高值序列对应的音高值,得到目标音高值序列。例如,结合图5,处理模块720可以用于执行步骤2032a。

可选的,处理模块720,还被配置为确定初始音高值序列中的每个子音高值序列的音高值的平均值;例如,结合图5,处理模块720可以用于执行步骤2033a。

处理模块720,还被配置为读取音符对应关系中与人声信号中的每个音符对应的标准音符的音高值;例如,结合图5,处理模块720可以用于执行步骤2034a。

处理模块720,还被配置为在确定出第一音符对应的子音高值序列的音高值的平均值与第一音符对应的标准音符的音高值相同的情况下,确定初始音高值序列中的音高值符合预设阈值,第一音符属于人声信号中的每个音符。例如,结合图5,处理模块720可以用于执行步骤2035a。

可选的,处理模块720,还被配置为在初始音高值序列中的音高值不符合预设阈值的情况下,修改初始音高值序列中的音高值,直到初始音高值序列中的音高值符合预设阈值。例如,结合图6,处理模块720可以用于执行步骤2031b。

可选的,处理模块720,还被配置为解析人声信号,得到特征信息;例如,结合图2,处理模块720可以用于执行步骤2011。

处理模块720,还被配置为根据特征信息从存储介质中查询并获取标准乐谱数据。例如,结合图2,处理模块720可以用于执行步骤2012。

当然,本公开实施例提供的路径选择装置包括但不限于上述模块,例如路径选择装置还可以包括存储模块730。存储模块730可以用于存储该写路径选择装置的程序代码,还可以用于存储写路径选择装置在运行过程中生成的数据,如写请求中的数据等。

本公开还提供了一种包括指令的计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机能够执行上述所示实施例提供的修音方法。例如,计算机可读存储介质可以为包括指令的存储器102,上述指令可由修音装置的处理器101执行以完成上述方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom、ram、cd-rom、磁带、软盘和光数据存储设备等。

图8示意性地示出本公开实施例提供的计算机程序产品的概念性局部视图,计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。

在一个实施例中,计算机程序产品是使用信号承载介质810来提供的。信号承载介质810可以包括一个或多个程序指令,其当被一个或多个处理器运行时可以提供以上针对图2描述的功能或者部分功能。因此,例如,参考图2中所示的实施例,步骤201~步骤204的一个或多个特征可以由与信号承载介质810相关联的一个或多个指令来承担。此外,图8中的程序指令也描述示例指令。

在一些示例中,信号承载介质810可以包含计算机可读介质811,诸如但不限于,硬盘驱动器、紧密盘(cd)、数字视频光盘(dvd)、数字磁带、存储器、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等等。

在一些实施方式中,信号承载介质810可以包含计算机可记录介质812,诸如但不限于,存储器、读/写(r/w)cd、r/wdvd、等等。

在一些实施方式中,信号承载介质810可以包含通信介质813,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。

信号承载介质810可以由无线形式的通信介质813来传达。一个或多个程序指令可以是,例如,计算机可执行指令或者逻辑实施指令。

在一些示例中,诸如针对图3描述的路径选择装置可以被配置为,响应于通过计算机可读介质811、计算机可记录介质812、和/或通信介质813中的一个或多个程序指令,提供各种操作、功能、或者动作。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全分类部或者部分功能。

在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全分类部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全分类部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本公开各个实施例方法的全分类部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何在本公开揭露的技术范围内的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜