一种歌曲的合成方法及终端与流程

文档序号:12736543阅读:171来源:国知局
一种歌曲的合成方法及终端与流程

本发明涉及互联网技术领域,尤其涉及一种歌曲的合成方法及终端。



背景技术:

随着通信及信息技术的高速发展,手机也日渐普及,其功能也日益增加,各种音乐类产品也应运而生,特别是K歌类音乐产品,其中,用户可通过K歌类进行录制歌曲,并分享录制歌曲。

目前,用户在通过K歌类音乐产品进行录制歌曲时,大都是用户选择相应的音乐伴奏并跟随音乐伴奏及字幕进行演唱录制。但是,有些用户由于自身演唱水平不高而导致用户不满意其所录制的歌曲,从而降低了用户使用K歌类音乐产品进行分享录制歌曲的热情。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种歌曲合成方法及终端。可使得终端可仅根据用户的音频数据即能合成歌曲,提高录制歌曲的效果,并提高用户体验度。

本发明实施例第一方面提供了一种歌曲的合成方法,可包括:

对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据;

获取所述歌词信息对应的乐谱信息;

按所述乐谱信息对所述每个文字对应的文字音频数据进行合成,获得歌曲音频数据。

本发明实施例第二方面提供了一种终端,可包括:

第一获取单元,用于对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据;

第二获取单元,用于获取所述歌词信息对应的乐谱信息;

合成单元,用于按所述乐谱信息对所述每个文字对应的文字音频数据进行合成,获得歌曲音频数据。

在本发明实施例中,终端对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据,获取所述歌词信息对应的乐谱信息,按所述乐谱信息对所述每个文字对应的文字音频数据进行合成,获得歌曲音频数据,使得终端可仅根据用户的音频数据即能合成歌曲,提高录制歌曲的效果,并提高用户体验度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种网络构架示意图;

图2是本发明实施例提供的一种歌曲的合成方法的流程示意图;

图3是本发明实施例提供的一种终端的结构示意图;

图4是本发明实施例提供的另一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的一种歌曲的合成方法可以应用于终端录制歌曲的场景。

在本发明实施例中,所描述的终端可包括:手机、平板电脑、掌上电脑或者移动互联网设备(Mobile Internet Device,MID)等,上述终端仅是举例,而非穷举,包含但不限于上述终端。

为了更好理解本发明实施例公开的方案,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种网络构架示意图。在图1所示的网络构架中,可以包括终端和歌曲服务器,终端可以通过网络与歌曲服务器进行连接,终端可向歌曲服务器请求获取数据。

基于图1所示的网络构架,本发明实施例公开了一种歌曲的合成方法。下面将结合附图2,对本发明实施例提供的一种歌曲的合成方法进行详细介绍,其中,实施例的执行主体为终端。

参见图2,是本发明实施例提供的一种歌曲的合成方法一种实施例流程示意图。本发明实施例的一种歌曲的合成方法包括如下步骤:

S100,对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据。

在本发明实施例中,当用户需通过自身语音进行合成歌曲时,用户可操作终端输入合成歌曲指令,其中,指令可携带歌曲标识。当终端接收到合成歌曲指令时,终端可根据歌曲标识获取歌曲标识对应的歌曲的歌词信息,并显示歌词信息,以使用户根据终端显示的歌词信息进行朗读,以向终端输入音频数据。同时,当终端接收到合成歌曲指令时,终端可开启终端内置的麦克风,通过麦克风采集用户针对显示的歌词信息进行输入的音频数据从而获取音频数据。其中,歌词信息可以是一句歌词或多句歌词,在此不进行限制。

在本发明实施例中,当终端获取到音频数据后,终端可对音频数据进行识别,获得歌词信息所包括的每个文字对应的文字音频。具体的,终端可对音频数据的音素进行识别切分,获得歌词信息中所包括的每个文字对应的文字音频数据。

在本发明实施例中,终端对音频数据的音素进行识别切分,获得歌词信息中所包括的每个文字对应的文字音频数据具体可以是:终端首先收集大量语料,对语料进行切分为音素,为每个音素进行训练模型获得音素模型,其中,模型可以是GMM-HMM模型,或者DNN-HMM模型等,在此不进行限制。其中,由于每个音素的具体发音情况受到上下文的影响,因此,终端在训练模型的时候可把不同上下文的因素分开训练,如同样是音素a,在不同上下文环境中,如n-a+m(表示在此语料中a音素前面的音素是音素n,后面的音素是m)、k-a+m这两个同一音素在实际情况下是训练成两个模型的,这样的话,如果音素总数是n个的话,实际训练的模型数是n^3(由于训练集可能不够,所以会让一些比较难出现的音素映射到其他音素的模型上)。

在本发明实施例中,当终端对音素进行训练后,终端可将歌词信息所包括的文字转换为音素序列,比如文字内容“我们”转成的音素序列为sil-w+o w-o+m m-en+sil(其中sil表示静音),之后终端可以将该音素序列输入至上述所生成的音素模型中,获得音素模型序列。

在本发明实施例中,终端可将音频数据进行分帧,并对每帧的音频数据进行特征提取,获得每帧的音频特征。当获得每帧的音频特征后,终端可将每帧的音频特征输入至上述获得的音素模型序列中进行计算计算置信度,其中,一个音素模型序列可以对应多帧的音频特征,每一帧的音频特征与一个音素模型序列都可以算出一个0~1的匹配度,由于按顺序经过音素模型序列进行计算,故终端最终可以得到一条与所有帧的音频特征匹配度最大化的路径,即是最优路径。具体可如:有5帧音频特征,有两个音素模型序列,则一共可能有5种不同的路径,分别是(5,0)(表示5帧的语音特征对应音素模型序列1,0帧对应音素模型序列2,此中情况的总置信度就是5帧的语音特征中的每一帧的语音特征与音素模型序列1的匹配度的乘积)、(4,1)…,最后根据最优路径终端可获取用户在什么时间读了哪个音素,因此终端将音素合并后即可获得用户读取每个文字所对应的时间信息,从而终端可根据每个文字所对应的时间信息对获取到的音频数据进行切分,获取歌词信息中的每个文字所对应的文字音频数据。其中,每个文字所对应的文字音频数据xii∈[1,n],其中n为该句的字数。

S101,获取所述歌词信息对应的乐谱信息。

终端可获取歌词信息对应的歌曲标识,根据歌曲标识获取歌曲标识对应的乐谱信息,其中,乐谱信息可以是MIDI(Musical Instrument Digital Interface,乐器数字接口)文件,MIDI文件包括目标歌曲对应的歌词信息中的每个文字对应的音符的起始时间和持续时间以及每个音符的音高值,具体的,可参见下表一所示的乐谱信息。

表一

表一第一列所示的为歌词信息所包括的文字,如表一所示,歌词信息包括的文字为“明朝清风”,表一第二列所示音符为每个文字所对应的音符,其中,歌词信息中的大部分文字在歌曲音频数据中只有一个音符,但是也有一个文字在歌曲音频数据中有多个音符(在歌曲中一个字的也会变调),如表一中的乐谱信息显示歌词中的“清”字对应的歌曲音频数据包括两个频率69和67,即是两个音符,其中每个音符都有各自对应的时间信息,两个音符加起来的时间信息就是“清”字对应的歌曲音频的时间信息。

S102,按所述乐谱信息对所述歌词所包括的每个文字对应的文字音频数据进行合成,获得歌曲音频数据。

在本发明实施例中,当终端获取到歌词信息所包括的每个文字所对应的文字音频数据,终端可按乐谱信息记录的每个文字在歌曲音频数据中的时间信息以及音符对每个文字的文字音频数据进行拉伸处理,获得每个文字对应的第一文字音频数据。

其中,终端按乐谱信息记录的每个文字在歌曲音频数据中的时间信息以及音符对每个文字的文字音频数据进行拉伸处理,获得每个文字对应的第一文字音频数据具体可以是:首先,终端获取每个文字对应的文字音频数据的时间长度,将每个文字对应的文字音频数据的时间长度以及该文字在乐谱信息中对应的音符的时间长度转化为帧数,如一个文字所对应的文字音频数据的时间长度tx,该文字在乐谱信息中对应的音符的时间长度为ty,一帧为5ms,则该文字对应的文字音频数据的帧数fx=tx/5,同样文字在乐谱信息中对应的音符的帧数fy=ty/5,其中,若是最后一片不足5ms的按一帧处理。因此,终端可定义每一帧的文字音频数据为dxii∈[1,fx]。

进一步的,由于人在发声时声带震动产生的频率经过声道过滤后会产生大量泛音。因此为了避免这些泛音影响终端数据处理,终端需要从文字音频数据中提取直接表现声带震动频率的基频信息,基频信息也决定了整帧文字音频数据的音高。因此,终端可对每一帧文字音频数据进行提取基频信息,具体的终端可定义每一帧的文字音频数据的基频信息为pxii∈[1,fx]。同理,终端可定义每帧的文字在乐谱信息中对应的音符的基频信息为pyii∈[1,fy]。定义每一帧处理后的文字音频数据为dyi,则从而终端可根据每一帧处理后的文字音频数据以及帧的宽度获得第一文字音频数据。其中,终端可根据预置公式进行提取基频信息,具体可如,参见表一,如文字“明”在歌曲中的文字音频数据的频率为69,利用乐谱信息中的频率与实际频率的对应公式计算得到文字“明”在歌曲中的文字音频数据的实际频率为440,由于此字只有这一个基频,即基频信息pyi=440i∈[1,fy]。

在本发明实施例中,当终端对每个文字对应的文字音频数据进行拉伸处理,获得每个文字对应的第一文字音频数据后,终端对每个文字对应的第一文字音频数据进行音高调整,即是进行频率调整,获得每个文字对应的第二文字音频数据。具体可如:终端根据目标帧频率将每个文字对应的第一文字音频数据切分为n个周期,如某一时刻的频率为440hz,则意味着该时段每秒钟有440个周期,将每个文字整个输出时间按照这样的方式切分为n个周期并定义为ojj∈[1,n],根据每个周期所属的帧id获取周期对应的原始音频帧dyj,也就得到了对应的dyj对于周期j,其对应的原始音频帧为dxi,其原始频率为pxii∈[1,fx],以原始帧中最大的采样点值为中心点,截取出一个时长为的数据块ki i∈[1,m],其中m为此周期采样点的个数,加窗后得到新的数据快设目标音频句子的采样点个数为ny,初始时各采样点值均为0,按照时间信息将上一步获取到的每个字的每一周期对应的ri累加到y的采样点中,其中静音部分不处理,只填充乐谱信息中有歌词的时间部分,这样就得到了调整频率后的第二文字音频数据,也就是音高转换后的第二文字音频数据。

在本发明实施例中,当终端获取到每个文字所对应的第二文字音频数据后,终端可按歌词信息所包括的文字顺序将每个文字对应的第二文字音频数据进行合成,获得音频数据片段,并从乐谱信息中获取该音频数据片段对应的伴奏数据与音频数据片段进行合成混音后即可得到该歌词对应的歌曲音频数据,终端可播放歌曲音频数据给用户进行试听。

在本发明实施例中,终端对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据,获取所述歌词信息对应的乐谱信息,按所述乐谱信息对所述歌词所包括的每个文字对应的文字音频数据进行合成,获得歌曲音频数据,使得终端可仅根据用户的音频数据即能合成歌曲,提高录制歌曲的效果,并提高用户体验度。

下面将结合附图3和4,对本发明实施例提供的一种终端进行介绍。需要说明的是,附图3和4所示的一种终端,用于执行本发明图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图2所示的实施例。

请参见图3,为本发明实施例提供了一种终端的结构示意图。如图3所示,本发明实施例的所述终端可以包括:

第一获取单元100,用于对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据;

第二获取单元200,用于获取所述歌词信息对应的乐谱信息;

合成单元300,用于按所述乐谱信息对所述歌词所包括的每个文字对应的文字音频数据进行合成,获得歌曲音频数据。

其中,所述第一获取单元100包括:

输出子单元,用于输出所述歌词信息;

接收子单元,用于接收用户针对所述歌词信息输入的所述音频数据。

其中,所述乐谱信息包括所述歌词信息中的每个文字所对应的音频时长;

所述合成单元300包括:

第一获取子单元,用于从所述乐谱信息中获取所述歌词信息中的每个文字所对应的音频时长;

第一调整子单元,用于按所述每个文字所对应的音频时长对每个文字所对应的目标文字音频数据的时长进行调整,获得每个文字所对应的第一文字音频数据;

第一合成子单元,用于按所述乐谱信息对所述每个文字对应的第一文字音频数据进行合成,获得歌曲音频数据。

其中,所述乐谱信息包括所述歌词信息中的每个文字所对应的音高信息;

所述第一合成子单元包括:

第二获取子单元,用于从所述乐谱信息中获取所述歌词信息中的每个文字所对应的音高信息;

第二调整子单元,用于按所述每个文字所对应的音高信息对每个文字所对应的第一文字音频数据的音高进行调整,获得每个文字所对应的第二文字音频数据;

第二合成子单元,用于按所述乐谱信息对所述每个文字对应的第二文字音频数据进行合成,获得所述歌曲音频数据。

其中,所述乐谱信息包括伴奏数据;

所述第二合成子单元包括:

第三获取子单元,用于按所述歌词信息所包括的文字顺序将每个文字所对应的第二文字音频数据进行合成,获得音频数据片段;

第四获取子单元,用于从所述乐谱信息中获取所述音频数据片段对应的伴奏数据;

第三合成子单元,用于将所述音频数据片段对应的伴奏数据与所述音频数据片段进行合成,获得所述歌曲音频数据。

其中,可以理解的是,本实施例的终端中的单元的各功能模块的功能可根据图2述的方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再进行赘述。

在本发明实施例中,终端对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据,获取所述歌词信息对应的乐谱信息,按所述乐谱信息对所述歌词所包括的每个文字对应的文字音频数据进行合成,获得歌曲音频数据,使得终端可仅根据用户的音频数据即能合成歌曲,提高录制歌曲的效果,并提高用户体验度。

请参见图4,为本发明实施例提供了又一种终端的结构示意图。如图4所示,终端1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及通信连接应用程序。

在图4所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;网络接口1004用于与新闻服务器相连接,获取新闻服务器发送的数据;而处理器1001可以用于调用存储器1005中存储的通信连接应用程序,并具体执行以下操作:

对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据;

获取所述歌词信息对应的乐谱信息;

按所述乐谱信息对所述每个文字对应的文字音频数据进行合成,获得歌曲音频数据。

其中,所述处理器1001对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据包括:

输出所述歌词信息;

接收用户针对所述歌词信息输入的所述音频数据。

其中,所述乐谱信息包括所述歌词信息中的每个文字所对应的音频时长;

所述处理器1001按所述乐谱信息对所述每个文字对应的文字音频数据进行合成,获得歌曲音频数据包括:

从所述乐谱信息中获取所述歌词信息中的每个文字所对应的音频时长;

按所述每个文字所对应的音频时长对每个文字所对应的目标文字音频数据的时长进行调整,获得每个文字所对应的第一文字音频数据;

按所述乐谱信息对所述每个文字对应的第一文字音频数据进行合成,获得歌曲音频数据。

其中,所述乐谱信息包括所述歌词信息中的每个文字所对应的频率信息和伴奏信息;

所述处理器1001按所述乐谱信息对所述每个文字对应的第一文字音频数据进行合成,获得歌曲音频数据包括:

从所述乐谱信息中获取所述歌词信息中的每个文字所对应的频率信息;

按所述每个文字所对应的频率信息对每个文字所对应的第一文字音频数据的频率进行调整,获得每个文字所对应的第二文字音频数据;

按所述歌词信息所包括的文字顺序将每个文字所对应的第二文字音频数据进行合成,获得音频数据片段;

从所述乐谱信息中获取伴奏信息进行合成,获得所述歌曲音频数据。

其中,在所述处理器1001按所述乐谱信息对所述每个文字对应的文字音频进行合成,获得歌曲音频之后,所述处理器1001还执行:

播放所述歌曲音频。

其中,可以理解的是,本实施例的终端中的单元的各功能模块的功能可根据图2所述的方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再进行赘述。

在本发明实施例中,终端对用户输入的音频数据进行识别,获取预置歌词信息中每个文字对应的文字音频数据,获取所述歌词信息对应的乐谱信息,按所述乐谱信息对所述歌词所包括的每个文字对应的文字音频数据进行合成,获得歌曲音频数据,使得终端可仅根据用户的音频数据即能合成歌曲,提高录制歌曲的效果,并提高用户体验度。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1