CN106652986A - 一种歌曲音频拼接方法及设备 - Google Patents

一种歌曲音频拼接方法及设备 Download PDF

Info

Publication number
CN106652986A
CN106652986A CN201611124339.8A CN201611124339A CN106652986A CN 106652986 A CN106652986 A CN 106652986A CN 201611124339 A CN201611124339 A CN 201611124339A CN 106652986 A CN106652986 A CN 106652986A
Authority
CN
China
Prior art keywords
voice data
opera arias
subordinate sentence
fundamental frequency
target
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.)
Granted
Application number
CN201611124339.8A
Other languages
English (en)
Other versions
CN106652986B (zh
Inventor
赵伟峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Music Entertainment Technology Shenzhen Co Ltd
Original Assignee
Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Music Entertainment Technology Shenzhen Co Ltd filed Critical Tencent Music Entertainment Technology Shenzhen Co Ltd
Priority to CN201611124339.8A priority Critical patent/CN106652986B/zh
Publication of CN106652986A publication Critical patent/CN106652986A/zh
Application granted granted Critical
Publication of CN106652986B publication Critical patent/CN106652986B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/016File editing, i.e. modifying musical data files or streams as such
    • G10H2240/021File editing, i.e. modifying musical data files or streams as such for MIDI-like files or data streams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/031File merging MIDI, i.e. merging or mixing a MIDI-like file or stream with a non-MIDI file or stream, e.g. audio or video

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

本发明实施例公开一种歌曲音频拼接方法及其设备,其中方法包括:获取多个用户针对目标歌曲的演绎音频数据,其中包括目标歌曲的各个分句的清唱音频数据;分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列;根据音符值序列,计算多个用户中的目标用户演绎目标分句的清唱音频数据的基频距离和;根据基频距离和,从各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据;根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。采用本发明,可以生成目标歌曲的拼接音频数据,提升清唱音频数据的利用率。

Description

一种歌曲音频拼接方法及设备
技术领域
本发明涉及电子技术领域,尤其涉及一种歌曲音频拼接方法及设备。
背景技术
随着计算机技术不断的开发和完善,手机和平板电脑等终端已经成为了人们生活中不可或缺的一个部分,通过在终端中安装的各种应用功能,可以实现用户的不同需求,例如:通信、游戏、听音乐等
现有的音乐应用除了可以对所需的音乐文件进行下载以及播放外,还可以实现歌曲演唱的功能,用户可以通过这类音乐应用演唱各类歌曲。但是在用户演唱时,由于个人的音域、音色匹配程度及发挥状态,可能在演绎一首歌曲的时候有的句子唱的好,有的句子唱的差,用户有时就会因为几句演唱发挥的不好而不上传或者删除演唱的清唱音频数据。导致用户的清唱音频数据得不到合理的利用,用户的演唱积极性也不高。
发明内容
本发明实施例提供一种歌曲音频拼接方法及设备,可以从多个用户针对目标歌曲的演绎音频数据中挑选出每个分句对应的分句清唱音频数据,生成目标歌曲的拼接音频数据,提升清唱音频数据的利用率。
本发明第一方面提供一种歌曲音频拼接方法,包括:
获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据;
分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列;
计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和;
根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据;
根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
本发明第二方面提供一种歌曲音频拼接设备,包括:
数据获取单元,用于获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据;
第一音符值转换单元,用于分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列;
第一计算单元,用于计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和;
第一分句数据选择单元,用于根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据;
数据生成单元,用于根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
本发明实施例中,通过获取多个用户针对目标歌曲的演绎音频数据,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列,以计算每个用户演绎目标分句的清唱音频数据的基频距离和,根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据,根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据,实现了从多个用户针对目标歌曲的演绎音频数据中挑选出每个分句对应的分句清唱音频数据,生成目标歌曲的拼接音频数据,提升清唱音频数据的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种歌曲音频拼接方法的流程示意图;
图2是本发明实施例提供的另一种歌曲音频拼接方法的流程示意图;
图3是本发明实施例提供的一种歌曲音频拼接设备的结构示意图;
图4是本发明实施例提供的第一音符值转换单元的结构示意图;
图5是本发明实施例提供的第一分句数据选择单元的结构示意图;
图6是本发明实施例提供的另一种歌曲音频拼接设备的结构示意图;
图7是本发明实施例提供的另一种歌曲音频拼接设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种歌曲音频拼接方法的流程示意图,本方法流程可以由歌曲音频拼接设备实施,所述歌曲音频拼接设备可以为音乐应用的后台服务设备,所述音乐应用可以为音乐播放应用、K歌应用等。本发明实施例适用于任何可以被用户演绎的歌曲,以下仅以一首歌曲,即目标歌曲作为参考进行详细说明。如图所示,所述方法至少包括:
步骤S101,获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据。
具体的,在本发明实施例中,演绎音频数据可以是用户演唱目标歌曲时通过具有录音功能的终端设备录制的音频数据,该演绎音频数据可以是只有用户演唱的清唱音频数据,也可以是包括用户演唱的清唱音频数据以及目标歌曲的伴奏混音等背景音乐的音频数据,这里不作具体限定。其中,目标歌曲中包括多个分句,对于分句的划分可以通过目标歌曲的歌词信息来进行划分,例如目标歌曲为《新年好》,则“新年好啊,新年好啊,祝福大家新年好”就可以被定义为三个分句。用户在对目标歌曲演唱完成后,可以将其演唱的演绎音频数据上传或者保存在歌曲音频拼接设备中,歌曲音频拼接设备就可以获取到多个用户针对目标歌曲的演绎音频数据,从而可以获取到多个用户针对目标歌曲的各个分句的清唱音频数据。
步骤S102,分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
具体的,歌曲音频拼接设备可以提取各用户演绎的各个分句的目标清唱音频数据的基频信息,并且根据各个分句的不同用户的清唱音频数据的基频信息获取对应的音符值序列。可以理解的是,基频信息可以为清唱音频数据的基音,用于决定清唱音频数据中各音符点的音高。其中,音符值指的是针对MIDI(Musical Instrument Digital Interface)乐器数字接口的一种标准值。
具体实施中,歌曲音频拼接设备可以按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点,然后对至少一个基频点中各基频点的基频值进行调整,并将调整后的各基频点的基频值转换为各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。例如,歌曲音频拼接设备可以预设帧长为30ms,帧移为10ms,采集每个用户演绎的每个分句的清唱音频数据的基频信息,从而每个用户演绎的每个分句都对应存在至少一个基频点。歌曲音频拼接设备对上述至少一个基频点进行除噪、平滑等处理,然后将调整后的各基频点的基频值转换为各基频点对应的音符值,则每个用户演绎的每个分句对应至少一个基频点,至少一个基频点对应了至少一个音符值,至少一个音符值即音符值序列,从而歌曲音频拼接设备就获取到了各个分句的不用用户的清唱音频数据的基频信息对应的音符值序列。
在一种可能的实施场景中,歌曲音频拼接设备可以采用预设音符转换公式,并根据调整后的所述各基频点的基频值,计算各基频点的音符值。其中,预设音符转换公式可以为:
其中,Y表示为当前基频点的音符值,x表示为当前基频点的基频值。
需要说明的是,歌曲音频拼接设备对至少一个基频点中各基频点的基频值进行调整时,可以是对至少一个基频点中的奇异基频点的基频值进行置零处理,例如,如果一个非0基频点的前后基频值均为0,则将此基频点记为0;还可以是对连续的几个基频点进行中值滤波处理,通过中值滤波处理,可以使得基频段曲线平滑,避免噪点的出现。
可选的,在提取各用户演绎的各个分句的清唱音频数据的基频信息之前,歌曲音频拼接设备可以先对每个清唱音频数据按照预设的格式进行规整,例如,可以规整为16k16bit的PCM格式。
步骤S103,计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和。
具体的,歌曲音频拼接设备可以分别计算多个用户中的某一目标用户演绎的某一目标分句的音符值序列与其他用户演绎该对应分句的音符值序列之间的基频距离的和,即作为该目标用户演绎目标分句的清唱音频数据的基频距离和。例如,目标用户A演绎目标分句G1的清唱音频数据对应的音符值序列为Y1,演绎目标歌曲的其他用户包括B、C和D三个用户,B演绎目标分句G1的清唱音频数据对应的音符值序列为Y2,C演绎目标分句G1的清唱音频数据对应的音符值序列为Y3,D演绎目标分句G1的清唱音频数据对应的音符值序列为Y4,则歌曲音频拼接设备可以分别计算Y1与Y2之间的基频距离,Y1与Y3之间的基频距离,Y1与Y4之间的基频距离,然后将上述计算出的基频距离求和,即为目标用户A演绎目标分句G1的清唱音频数据的基频距离和。
具体实施中,以目标歌曲的第k分句为例,由于大家演唱的是同一句,所以对应的音符值序列的长度相同,设长度为p,意味着第k分句有p帧,第k分句的音符值序列包括p个音符值,则通过预设的基频距离公式可以求出针对目标歌曲的演绎中,第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离。其中,预设的基频距离公式可以为:
其中,Lij k为第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离,yit k为第i个用户的第k分句的音符值序列的第t帧的音符值,yjt k为第j个用户的第k分句的音符值序列的第t帧的音符值。这里,i∈(1~n),j∈(1~n),其中,n可以指演绎目标歌曲的所有用户的数量。需要说明的是,第一个基频距离公式中的12代表一个八度,也就是说,第一个基频距离公式中认为第i个用户和第j个用户对第k分句的演绎在高一个八度或低一个八度的跨度内的音准都是一样的。
依照上述预设的基频距离公式的其中一个,可以依次计算出目标用户演绎目标分句的音符值序列分别与多个用户中其他用户演绎目标分句的音符值序列之间的基频距离,并将计算得到的基频距离求和,即为目标用户演绎目标分句的清唱音频数据的基频距离和。其中,以第i个用户为目标用户,目标歌曲的第k分句为目标分句为例,基频距离和的公式可以为:
其中,Si k为第i个用户演绎第k分句的清唱音频数据的基频距离和,Lij k为第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离,n可以指演绎目标歌曲的所有用户的数量。
步骤S104,根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据。
具体的,目标分句对应的分句清唱音频数据可以指在多个用户演绎的目标分句的清唱音频数据中选择出的一个用于拼接的清唱音频数据。该目标分句对应的分句清唱音频数据的确定可以依据之前计算得到的各个用户演绎的目标分句的清唱音频数据的基频距离和,再结合不同的预设算法进行选取。
在第一种可能的实施场景中,歌曲音频拼接设备可以获取各个用户演绎目标分句的清唱音频数据的基频距离和中最小的基频距离和,确定该最小的基频距离和所对应的目标清唱音频数据,将该目标清唱音频数据作为目标歌曲中的目标分句对应的分句清唱音频数据即可。
在第二种可能的实施场景中,歌曲音频拼接设备可以按照基频距离和从小到大,对各个用户演绎目标分句的清唱音频数据进行排序,从而获取排序前N个清唱音频数据作为目标分句的备选清唱音频数据,从备选清唱音频数据中选择其中一个清唱音频数据作为目标歌曲中的目标分句对应的分句清唱音频数据。具体的,在备选清唱音频数据中选择清唱音频数据作为分句清唱音频数据时,歌曲音频拼接设备可以根据预先设定的规则进行依次迭代,从而选择出各个分句之间匹配度最合适的多个分句清唱音频数据;歌曲音频拼接设备也可以随机的从备选清唱音频数据中选择清唱音频数据作为分句清唱音频数据,在本实施例中不作具体限定。
需要说明的是,在第二种实施场景中的一种情况下,N可以是歌曲音频拼接设备中预先设定的,例如,歌曲音频拼接设备可以预先设定取排序中用户数量的一半的清唱音频数据作为目标分句的备选清唱音频数据,则若有10个用户演唱的针对目标分句的清唱音频数据,将这10个用户演绎目标分句的清唱音频数据的基频距离和从小到大排序后,取前5个清唱音频数据作为目标分句的备选清唱音频数据即可。
在第二种实施场景中的另一种情况下,N可以是根据各个用户演绎目标分句的清唱音频数据的置信度来确定的。具体来说,歌曲音频拼接设备可以根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度,将置信度达到预设置信度阈值的排序前N个清唱音频数据作为目标分句的备选清唱音频数据。这里,N可以由置信度达不到预设置信度阈值的基频距离和最小的清唱音频数据的排序确定。例如,若有5个用户演唱的针对目标分句的清唱音频数据,歌曲音频拼接设备将这5个用户演绎目标分句的清唱音频数据的基频距离和从小到大排序后,分别计算得到5个用户演绎目标分句的清唱音频数据的置信度,设排名前三位的用户演绎目标分句的清唱音频数据的置信度均大于预设置信度阈值,而排名第四位的用户演绎目标分句的清唱音频数据的置信度小于预设置信度阈值,则这里N即为3,也即将置信度达到预设置信度阈值的排序前3个清唱音频数据作为目标分句的备选清唱音频数据。
进一步的,在计算置信度时,歌曲音频拼接设备可以先在各个用户演绎目标分句的清唱音频数据中,根据排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和之间的比较结果,确定排序第1个清唱音频数据的置信度。具体来说,在一种情况下,歌曲音频拼接设备可以分别计算排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和的比值,若计算得到的比值均大于预设的第一置信度阈值,那么则可以认为排序第1个清唱音频数据的置信度大于预设置信度阈值,即排序第1个清唱音频数据可以作为目标分句的备选清唱音频数据。在另一种情况下,歌曲音频拼接设备可以计算排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和的求和结果的比值,M可以是歌曲音频拼接设备预设的,若计算得到的比值大于预设的第二置信度阈值,那么则可以认为排序第1个清唱音频数据的置信度大于预设置信度阈值,即排序第1个清唱音频数据可以作为目标分句的备选清唱音频数据。例如,在计算各个用户演绎第k分句的清唱音频数据中排序第1个清唱音频数据的置信度时,置信度公式可以表示为:
其中,f为第k分句的清唱音频数据中排序第1个清唱音频数据的置信度,Sk1为第k分句对应的排名第1个清唱音频数据的基频距离和,为第k分句对应的排名前M个清唱音频数据的基频距离和的求和结果。
在确定排序第1个清唱音频数据的置信度达到预设置信度阈值后,歌曲音频拼接设备可以进一步确定其他各个清唱音频数据的置信度。具体实施中,歌曲音频拼接设备可以根据排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比较结果,确定其他各个清唱音频数据的置信度。若某一清唱音频数据的置信度大于预设的第三置信度阈值,那么则可以认为该清唱音频数据的置信度大于预设置信度阈值,即该清唱音频数据可以作为目标分句的备选清唱音频数据。按照该方法,歌曲音频拼接设备可以确定获取置信度大于预设置信度阈值的排序前N个清唱音频数据作为目标分句的备选清唱音频数据。例如,在计算各个用户演绎第k分句的清唱音频数据中其他各个清唱音频数据的置信度时,可以计算排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比值,即置信度公式可以表示为:
其中,vj为第k分句的清唱音频数据中除排序第1个清唱音频数据的其他各个清唱音频数据的置信度,Sk1为第k分句对应的排名第1个清唱音频数据的基频距离和,Skj为第k分句对应的除排序第1个清唱音频数据的其他各个清唱音频数据的基频距离和。
步骤S105,根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
具体的,在步骤S104根据上述其中一种方法确定出目标歌曲的各个分句对应的分句清唱音频数据后,歌曲音频拼接设备可以将被选出的各个分句清唱音频数据按照各个分句对应在目标歌曲中的位置和顺序拼接起来。其中,各个分句之间可以根据目标歌曲中各个分句之间的空隙时间补充一定时长的静音,最后再与目标歌曲的伴奏进行混音,从而生成目标歌曲的拼接音频数据,该拼接音频数据包括多个用户对每个分句演绎的分句清唱音频数据。例如,目标歌曲有4个分句G1、G2、G3和G4,设总共有3个用户演唱了该目标歌曲,用户A对4个分句演绎的清唱音频数据分别为a1、a2、a3、a4,用户B对4个分句演绎的清唱音频数据分别为b1、b2、b3、b4,用户C对4个分句演绎的清唱音频数据分别为c1、c2、c3、c4,其中,歌曲音频拼接设备根据上述算法最终确定:G1分句对应的分句清唱音频数据为b1,G2分句对应的分句清唱音频数据为c2,G3分句对应的分句清唱音频数据为b3,G4分句对应的分句清唱音频数据为a4,那么歌曲音频拼接设备就可以将b1、c2、b3以及a4这四个清唱音频数据进行拼接,最终生成目标歌曲的拼接音频数据。
本发明实施例中,通过获取多个用户针对目标歌曲的演绎音频数据,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列,以计算每个用户演绎目标分句的清唱音频数据的基频距离和,根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据,根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据,实现了从多个用户针对目标歌曲的演绎音频数据中挑选出每个分句对应的分句清唱音频数据,生成目标歌曲的拼接音频数据,提升清唱音频数据的利用率。
图2是本发明实施例提供的另一种歌曲音频拼接方法的流程示意图,在本发明实施例中,在聚类得到排名的时对高低八度进行了兼容,因而在拼接的时候前后两句的基调(如差了一个八度)不一样的话,效果就会比较难听,本实施例使用迭代的方法对挑选出的各个分句对应的清唱音频数据进行匹配,以保证拼接后生成的拼接音频数据的前后句子的基调一致。如图所示,该方法包括:
步骤S201,获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据。
具体的,演绎音频数据可以是用户演唱目标歌曲时通过具有录音功能的终端设备录制的音频数据,该演绎音频数据可以是只有用户演唱的清唱音频数据。其中,目标歌曲中包括多个分句,对于分句的划分可以通过目标歌曲的歌词信息来进行划分,例如目标歌曲为《新年好》,则“新年好啊,新年好啊,祝福大家新年好”就可以被定义为三个分句。用户在对目标歌曲演唱完成后,可以将其演唱的演绎音频数据上传或者保存在歌曲音频拼接设备中,歌曲音频拼接设备就可以获取到多个用户针对目标歌曲的演绎音频数据,从而可以获取到多个用户针对目标歌曲的各个分句的清唱音频数据。
步骤S202,分别提取各用户演绎的目标歌曲的演绎音频数据的基频信息,获取不同用户的演绎音频数据的基频信息对应的音符值序列。
具体的,在本发明实施中,演绎音频数据可以是用户演唱目标歌曲时通过具有录音功能的终端设备录制的音频数据,该演绎音频数据只有用户演唱的清唱音频数据。用户在对目标歌曲演唱完成后,可以将其演唱的演绎音频数据上传或者保存在歌曲音频拼接设备中,歌曲音频拼接设备就可以获取到多个用户针对目标歌曲的演绎音频数据。
进一步的,歌曲音频拼接设备可以分别提取各用户演绎的目标歌曲的演绎音频数据的基频信息,并获取不同用户的演绎音频数据的基频信息对应的音符值序列。也就是说,这里歌曲音频拼接设备获取的是不同用户针对目标歌曲演绎的完整的演绎音频数据对应的音符值序列。可以理解的是,基频信息可以为清唱音频数据的基音,用于决定清唱音频数据中各音符点的音高。其中,音符值指的是针对MIDI(Musical Instrument DigitalInterface)乐器数字接口的一种标准值。
具体实施中,歌曲音频拼接设备可以按照预设帧长和预设帧移分别提取各用户演绎的演绎音频数据的基频信息,以生成各用户演绎的目标歌曲对应的至少一个基频点,然后对至少一个基频点中各基频点的基频值进行调整,并将调整后的各基频点的基频值转换为各基频点对应的音符值,从而获取不同用户的演绎音频数据的基频信息对应的音符值序列。例如,歌曲音频拼接设备可以预设帧长为30ms,帧移为10ms,采集每个用户演绎的演绎音频数据的基频信息,从而每个用户演绎的演绎音频数据都对应存在至少一个基频点。歌曲音频拼接设备对上述至少一个基频点进行除噪、平滑等处理,然后将调整后的各基频点的基频值转换为各基频点对应的音符值,则每个用户演绎的演绎音频数据对应至少一个基频点,至少一个基频点对应了至少一个音符值,至少一个音符值即音符值序列,从而歌曲音频拼接设备就获取到了不用用户的演绎音频数据的基频信息对应的音符值序列。
在一种可能的实施场景中,歌曲音频拼接设备可以采用预设音符转换公式,并根据调整后的所述各基频点的基频值,计算各基频点的音符值。其中,预设音符转换公式可以为:
其中,Y表示为当前基频点的音符值,x表示为当前基频点的基频值。
需要说明的是,歌曲音频拼接设备对至少一个基频点中各基频点的基频值进行调整时,可以是对至少一个基频点中的奇异基频点的基频值进行置零处理,例如,如果一个非0基频点的前后基频值均为0,则将此基频点记为0;还可以是对连续的几个基频点进行中值滤波处理,通过中值滤波处理,可以使得基频段曲线平滑,避免噪点的出现。
可选的,在提取各用户的演绎音频数据的基频信息之前,歌曲音频拼接设备可以先对每个演绎音频数据按照预设的格式进行规整,例如,可以规整为16k16bit的PCM格式。
步骤S203,计算所述多个用户中的目标用户的演绎音频数据的音符值序列分别与所述多个用户中其他用户的演绎音频数据的音符值序列之间的基频距离的和,作为所述目标用户的演绎音频数据的基频距离和。
具体的,歌曲音频拼接设备可以分别计算多个用户中的某一目标用户的演绎音频数据的音符值序列与其他用户的演绎音频数据的音符值序列之间的基频距离的和,即作为该目标用户的演绎音频数据的基频距离和。例如,目标用户A演绎目标歌曲的演绎音频数据对应的音符值序列为W1,演绎目标歌曲的其他用户包括B、C和D三个用户,B演绎目标歌曲的演绎音频数据对应的音符值序列为W2,C演绎目标歌曲的演绎音频数据对应的音符值序列为W3,D演绎目标歌曲的演绎音频数据对应的音符值序列为W4,则歌曲音频拼接设备可以分别计算W1与W2之间的基频距离,W1与W3之间的基频距离,W1与W4之间的基频距离,然后将上述计算出的基频距离求和,即为目标用户A演绎目标歌曲的演绎音频数据的基频距离和。
具体实施中,以目标歌曲为例,由于大家演唱的是同一首歌,所以对应的音符值序列的长度相同,设长度为q,意味着目标歌曲有q帧,演绎音频数据的音符值序列包括q个音符值,则通过预设的基频距离公式可以求出针对目标歌曲的演绎中,第i个用户的演绎音频数据的音符值序列与第j个用户的演绎音频数据的音符值序列之间的基频距离。其中,预设的基频距离公式可以为:
其中,Lij为第i个用户的演绎音频数据的音符值序列与第j个用户的演绎音频数据的音符值序列之间的基频距离,yit为第i个用户的演绎音频数据的音符值序列的第t帧的音符值,yjt为第j个用户的演绎音频数据的音符值序列的第t帧的音符值。这里,i∈(1~n),j∈(1~n),其中,n可以指演绎目标歌曲的所有用户的数量。需要说明的是,基频距离公式中的12代表一个八度,也就是说,基频距离公式中认为第i个用户和第j个用户对目标歌曲的演绎在高一个八度或低一个八度的跨度内的音准都是一样的。
依照上述预设的基频距离公式,可以依次计算出目标用户的演绎音频数据的音符值序列分别与多个用户中其他用户的演绎音频数据的音符值序列之间的基频距离,并将计算得到的基频距离求和,即为目标用户的演绎音频数据的基频距离和。其中,以第i个用户为目标用户,目标歌曲为例,基频距离和的公式可以为:
其中,Si为第i个用户的演绎音频数据的基频距离和,Lij为第i个用户的演绎音频数据的音符值序列与第j个用户的演绎音频数据的音符值序列之间的基频距离,n可以指演绎目标歌曲的所有用户的数量。
步骤S204,根据各个用户的演绎音频数据的基频距离和,将基频距离和最小的演绎音频数据作为参考清唱音频数据。
具体的,根据计算出的各个用户的演绎音频数据的基频距离和,可以确定出其中基频距离和最小的一个用户的演绎音频数据,则将该用户的演绎音频数据作为目标歌曲的参考清唱音频数据。
步骤S205,分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
具体的,歌曲音频拼接设备可以提取各用户演绎的各个分句的目标清唱音频数据的基频信息,并且根据各个分句的不同用户的清唱音频数据的基频信息获取对应的音符值序列。可以理解的是,基频信息可以为清唱音频数据的基音,用于决定清唱音频数据中各音符点的音高。其中,音符值指的是针对MIDI(Musical Instrument Digital Interface)乐器数字接口的一种标准值。
具体实施中,歌曲音频拼接设备可以按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点,然后对至少一个基频点中各基频点的基频值进行调整,并将调整后的各基频点的基频值转换为各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。例如,歌曲音频拼接设备可以预设帧长为30ms,帧移为10ms,采集每个用户演绎的每个分句的清唱音频数据的基频信息,从而每个用户演绎的每个分句都对应存在至少一个基频点。歌曲音频拼接设备对上述至少一个基频点进行除噪、平滑等处理,然后将调整后的各基频点的基频值转换为各基频点对应的音符值,则每个用户演绎的每个分句对应至少一个基频点,至少一个基频点对应了至少一个音符值,至少一个音符值即音符值序列,从而歌曲音频拼接设备就获取到了各个分句的不用用户的清唱音频数据的基频信息对应的音符值序列。
在一种可能的实施场景中,歌曲音频拼接设备可以采用预设音符转换公式,并根据调整后的所述各基频点的基频值,计算各基频点的音符值。其中,预设音符转换公式可以为:
其中,Y表示为当前基频点的音符值,x表示为当前基频点的基频值。
需要说明的是,歌曲音频拼接设备对至少一个基频点中各基频点的基频值进行调整时,可以是对至少一个基频点中的奇异基频点的基频值进行置零处理,例如,如果一个非0基频点的前后基频值均为0,则将此基频点记为0;还可以是对连续的几个基频点进行中值滤波处理,通过中值滤波处理,可以使得基频段曲线平滑,避免噪点的出现。
可选的,在提取各用户演绎的各个分句的清唱音频数据的基频信息之前,歌曲音频拼接设备可以先对每个清唱音频数据按照预设的格式进行规整,例如,可以规整为16k16bit的PCM格式。
步骤S206,计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和。
具体的,歌曲音频拼接设备可以分别计算多个用户中的某一目标用户演绎的某一目标分句的音符值序列与其他用户演绎该对应分句的音符值序列之间的基频距离的和,即作为该目标用户演绎目标分句的清唱音频数据的基频距离和。例如,目标用户A演绎目标分句G1的清唱音频数据对应的音符值序列为Y1,演绎目标歌曲的其他用户包括B、C和D三个用户,B演绎目标分句G1的清唱音频数据对应的音符值序列为Y2,C演绎目标分句G1的清唱音频数据对应的音符值序列为Y3,D演绎目标分句G1的清唱音频数据对应的音符值序列为Y4,则歌曲音频拼接设备可以分别计算Y1与Y2之间的基频距离,Y1与Y3之间的基频距离,Y1与Y4之间的基频距离,然后将上述计算出的基频距离求和,即为目标用户A演绎目标分句G1的清唱音频数据的基频距离和。
具体实施中,以目标歌曲的第k分句为例,由于大家演唱的是同一句,所以对应的音符值序列的长度相同,设长度为p,意味着第k分句有p帧,第k分句的音符值序列包括p个音符值,则通过预设的基频距离公式可以求出针对目标歌曲的演绎中,第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离。其中,预设的基频距离公式可以为:
其中,Lij k为第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离,yit k为第i个用户的第k分句的音符值序列的第t帧的音符值,yjt k为第j个用户的第k分句的音符值序列的第t帧的音符值。这里,i∈(1~n),j∈(1~n),其中,n可以指演绎目标歌曲的所有用户的数量。需要说明的是,基频距离公式中的12代表一个八度,也就是说,基频距离公式中认为第i个用户和第j个用户对第k分句的演绎在高一个八度或低一个八度的跨度内的音准都是一样的。
依照上述预设的基频距离公式,可以依次计算出目标用户演绎目标分句的音符值序列分别与多个用户中其他用户演绎目标分句的音符值序列之间的基频距离,并将计算得到的基频距离求和,即为目标用户演绎目标分句的清唱音频数据的基频距离和。其中,以第i个用户为目标用户,目标歌曲的第k分句为目标分句为例,基频距离和的公式可以为:
其中,Si k为第i个用户演绎第k分句的清唱音频数据的基频距离和,Lij k为第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离,n可以指演绎目标歌曲的所有用户的数量。
步骤S207,按照基频距离和从小到大,对各个用户演绎目标分句的清唱音频数据进行排序。
具体的,歌曲音频拼接设备根据上述方法计算得到基频距离和,将基频距离和从小到大进行排序,该排序也即为各个用户演绎目标分句的清唱音频数据的排序。例如,目标分句为G1,有三个用户演唱,A用户演唱G1的清唱音频数据a1的基频距离和排序为第一,B用户演唱G1的清唱音频数据b1的基频距离和排序为第二,C用户演唱G1的清唱音频数据c1的基频距离和排序为第三。那么,ABC三个用户演绎目标分句G1的清唱音频数据排序也即为a1、b1、c1。
步骤S208,获取排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据。
具体的,N可以是根据各个用户演绎目标分句的清唱音频数据的置信度来确定的。具体来说,歌曲音频拼接设备可以根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度,将置信度达到预设置信度阈值的排序前N个清唱音频数据作为目标分句的备选清唱音频数据。
这里,N可以由置信度达不到预设置信度阈值的基频距离和最小的清唱音频数据的排序确定。例如,若有5个用户演唱的针对目标分句的清唱音频数据,歌曲音频拼接设备将这5个用户演绎目标分句的清唱音频数据的基频距离和从小到大排序后,分别计算得到5个用户演绎目标分句的清唱音频数据的置信度,设排名前三位的用户演绎目标分句的清唱音频数据的置信度均大于预设置信度阈值,而排名第四位的用户演绎目标分句的清唱音频数据的置信度小于预设置信度阈值,则这里N即为3,也即将置信度达到预设置信度阈值的排序前3个清唱音频数据作为目标分句的备选清唱音频数据。
进一步的,在计算置信度时,歌曲音频拼接设备可以先在各个用户演绎目标分句的清唱音频数据中,根据排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和之间的比较结果,确定排序第1个清唱音频数据的置信度。具体来说,在一种情况下,歌曲音频拼接设备可以分别计算排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和的比值,若计算得到的比值均大于预设的第一置信度阈值,那么则可以认为排序第1个清唱音频数据的置信度大于预设置信度阈值,即排序第1个清唱音频数据可以作为目标分句的备选清唱音频数据。在另一种情况下,歌曲音频拼接设备可以计算排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和的求和结果的比值,M可以是歌曲音频拼接设备预设的,若计算得到的比值大于预设的第二置信度阈值,那么则可以认为排序第1个清唱音频数据的置信度大于预设置信度阈值,即排序第1个清唱音频数据可以作为目标分句的备选清唱音频数据。例如,在计算各个用户演绎第k分句的清唱音频数据中排序第1个清唱音频数据的置信度时,置信度公式可以表示为:
其中,f为第k分句的清唱音频数据中排序第1个清唱音频数据的置信度,Sk1为第k分句对应的排名第1个清唱音频数据的基频距离和,为第k分句对应的排名前M个清唱音频数据的基频距离和的求和结果。
在确定排序第1个清唱音频数据的置信度达到预设置信度阈值后,歌曲音频拼接设备可以进一步确定其他各个清唱音频数据的置信度。具体实施中,歌曲音频拼接设备可以根据排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比较结果,确定其他各个清唱音频数据的置信度。若某一清唱音频数据的置信度大于预设的第三置信度阈值,那么则可以认为该清唱音频数据的置信度大于预设置信度阈值,即该清唱音频数据可以作为目标分句的备选清唱音频数据。按照该方法,歌曲音频拼接设备可以确定获取置信度大于预设置信度阈值的排序前N个清唱音频数据作为目标分句的备选清唱音频数据。例如,在计算各个用户演绎第k分句的清唱音频数据中其他各个清唱音频数据的置信度时,可以计算排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比值,即置信度公式可以表示为:
其中,vj为第k分句的清唱音频数据中除排序第1个清唱音频数据的其他各个清唱音频数据的置信度,Sk1为第k分句对应的排名第1个清唱音频数据的基频距离和,Skj为第k分句对应的除排序第1个清唱音频数据的其他各个清唱音频数据的基频距离和。
需要说明的是,这里步骤S202~S204与步骤S205~S208之间的前后执行顺序可以调换。
步骤S209,从所述备选清唱音频数据中选择其中一个清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据。
步骤S210,判断所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差是否均小于预设基调阈值。若是,则执行步骤S212,否则,则执行步骤S211。
步骤S211,重新从各个分句对应的备选清唱音频数据中选择其中的清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据,直至各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
具体的,歌曲音频拼接设备可以首先从目标歌曲的第一个分句的备选清唱音频数据中确定一个分句清唱音频数据,然后计算第一个分句的分句清唱音频数据与参考清唱音频数据的第一分句的清唱音频数据之间的基调差,并将该第一分句的分句清唱音频数据对应的基调差作为基调阈值。接着从目标歌曲的第二个分句的备选清唱音频数据中确定一个分句清唱音频数据,然后计算第二个分句的分句清唱音频数据与参考清唱音频数据的第二分句的清唱音频数据之间的基调差,并判断第二分句的分句清唱音频数据对应的基调差是否小于基调阈值,若是,则继续从目标歌曲的下一个分句的备选清唱音频数据中确定一个分句清唱音频数据;否则,则执行步骤S211,即重新从第二分句的备选清唱音频数据中选择一个清唱音频数据作为分句清唱音频数据,直到选择出的第二分句对应的分句清唱音频数据与参考清唱音频数据的第二分句的清唱音频数据之间的基调差小于基调阈值。
可以理解的,歌曲音频拼接设备可以按照上述原理,分别判断出所选择的目标歌曲的各个分句对应的分句清唱音频数据与参考清唱音频数据的相应分句的清唱音频数据之间的基调差是否均小于预设基调阈值。当基调差均小于基调阈值时,则说明已经为目标歌曲的每个分句确定了合适的分句清唱音频数据,这些分句清唱音频数据之间可以认为不存在基调差或者仅存在微小的基调差,也即这些分句清唱音频数据拼接生成的拼接音频数据的基调比较平稳。否则,歌曲音频拼接设备针对基调差不小于基调阈值的分句对应的分句清唱音频数据,可以重新从该分句的备选清唱音频数据中选择一个清唱音频数据作为分句清唱音频数据,直到选择出的该分句对应的分句清唱音频数据与参考清唱音频数据的对应分句的清唱音频数据之间的基调差小于基调阈值。
具体实施中,以目标歌曲的第c分句为例,由于大家演唱的是同一句,所以对应的音符值序列的长度相同,设长度为p,意味着第k分句有p帧,第c分句的音符值序列包括p个音符值,则通过预设的基调差公式可以求出针对目标歌曲的演绎中,第c分句对应的分句清唱数据与参考清唱音频数据的第c分句的清唱音频数据之间的基调差。其中,基调差公式可以表示为:
其中,yut c指第c分句对应的分句清唱数据的音符值序列的第t帧的音符值,yrt c参考清唱音频数据的第c分句的清唱音频数据的音符值序列的第t帧的音符值,mini表示yut c和yrt c两个音符值序列匹配度最高的i,即基调阈值。
在一种可能的情况下,即使歌曲音频拼接设备穷尽某一分句(非第一个分句)的备选清唱音频数据中的所有清唱音频数据,都无法找到与参考清唱音频数据的相应分句的清唱音频数据之间的基调差小于基调阈值的清唱音频数据,那么说明该分句无法匹配第一分句确定的分句清唱音频数据。在这种情况下,歌曲音频拼接设备需要重新从第一个分句的备选清唱音频数据中确定一个新的分句清唱音频数据,再计算第一个分句的新的分句清唱音频数据与参考清唱音频数据的第一分句的清唱音频数据之间的基调差,并将该第一分句的分句清唱音频数据对应的基调差作为新的基调阈值,相应的,其他分句根据该基调差重新确定对应的分句清唱音频数据,直到目标歌曲的各个分句对应的分句清唱音频数据与参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于基调阈值。
在一种可能的情况下,即使歌曲音频拼接设备穷尽第一个分句的备选清唱音频数据中的所有清唱音频数据,都无法使各个分句对应的分句清唱音频数据与参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于基调阈值。也即无法使每一个分句都匹配第一分句确定的分句清唱音频数据。那么歌曲音频拼接设备可以暂停对目标歌曲的拼接处理,等待新的清唱音频数据补充后,再重新进行迭代挑选。
需要说明的是,在本发明实施例中,在从备选清唱音频数据中选择清唱音频数据作为某一目标分句对应的分句清唱音频数据时,歌曲音频拼接设备可以先将备选清唱音频数据中排名第1个清唱音频数据作为目标分句对应的分句清唱音频数据,当排名第1个清唱音频数据作为分句清唱音频数据达不到匹配要求的时候,再将备选清唱音频数据中排名第2个清唱音频数据作为目标分句对应的分句清唱音频数据。也即按照备选清唱音频数据排名的先后顺序,从排名第1的备选清唱音频数据开始依次进行挑选。按照该方法在备选清唱音频数据中确定目标分句对应的分句清唱音频数据。
下面举例说明上述迭代算法,设目标歌曲包括三个分句G1、G2和G3,G1对应的备选清唱音频数据排序为:a1、b1和c1,G2对应的备选清唱音频数据排序为:a2、b2和c2,G3对应的备选清唱音频数据排序为:a3、b3和c3。参考清唱音频数据的三个分句的清唱音频数据分别为R1、R2和R3。
首先,将第一分句G1的备选清唱音频数据中排名第1的a1作为G1的分句清唱音频数据,并计算a1与R1之间的基调差i1;接着将G2的备选清唱音频数据中排名第1的a2作为G2的分句清唱音频数据,并计算a2与R2之间的基调差i2,判断i2与i1的差的绝对值是否小于1,也即基调差差距很小,如果是,那么则确定a2与a1匹配;则进一步将G3的备选清唱音频数据中排名第1的a3作为G3的分句清唱音频数据,并计算a3与R3之间的基调差i3,判断i3与i1的差的绝对值是否小于1,也即基调差差距很小,如果是,那么则确定a3与a1匹配,从而可以确定a1、a2和a3即为各分句对应的分句清唱音频数据。
在另一种情况下,a2与R2之间的基调差i2,判断i2与i1的差的绝对值是否小于1,如果不是,那么则确定a2与a1不匹配;则歌曲音频拼接设备重新在G2的备选清唱音频数据中排名第2的b2作为G2的分句清唱音频数据,并计算b2与R2之间的基调差i4,判断i4与i1的差的绝对值是否小于1,也即基调差差距很小,如果是,那么则确定b2与a1匹配;则进一步将G3的备选清唱音频数据中排名第1的a3作为G3的分句清唱音频数据,并计算a3与R3之间的基调差i3,判断i3与i1的差的绝对值是否小于1,也即基调差差距很小,如果是,那么则确定a3与a1匹配,从而可以确定a1、b2和a3即为各分句对应的分句清唱音频数据。
在又一种情况下,a2与R2之间的基调差i2,若i2与i1的差的绝对值大于1,那么则确定a2与a1不匹配;则歌曲音频拼接设备重新在G2的备选清唱音频数据中排名第2的b2作为G2的分句清唱音频数据,并计算b2与R2之间的基调差i4,若i4与i1的差的绝对值大于1,那么则确定b2与a1不匹配;则歌曲音频拼接设备重新在G2的备选清唱音频数据中排名第2的c2作为G2的分句清唱音频数据,并计算c2与R2之间的基调差i5,若i5与i1的差的绝对值大于1,那么则确定c2与a1不匹配。也就是说,G2的备选清唱音频数据中的所有清唱音频数据均与a1不匹配,那么则需要重新确定第一分句对应的分句清唱音频数据,即将第一分句G1的备选清唱音频数据中排名第2的b1作为G1的分句清唱音频数据,并计算b1与R1之间的基调差h1,然后再将其他分句重新确定出的分句清唱音频数据与参考清唱音频数据之间的基调差和h1做比较后,确定与b1是否匹配,如果仍然找不到与b1匹配的分句清唱音频数据,则重新再将c1确定为G1的分句清唱音频数据,如果仍然找不到与c1匹配的分句清唱音频数据,则暂停对目标歌曲的拼接处理。
步骤S212,根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
具体的,在确定出目标歌曲的各个分句对应的分句清唱音频数据后,歌曲音频拼接设备可以将被选出的各个分句清唱音频数据按照各个分句对应在目标歌曲中的位置和顺序拼接起来。其中,各个分句之间可以根据目标歌曲中各个分句之间的空隙时间补充一定时长的静音,最后再与目标歌曲的伴奏进行混音,从而生成目标歌曲的拼接音频数据,该拼接音频数据包括多个用户对每个分句演绎的分句清唱音频数据。
本发明实施例中,通过获取多个用户针对目标歌曲的演绎音频数据,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列,以计算每个用户演绎目标分句的清唱音频数据的基频距离和,根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据,根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据,实现了从多个用户针对目标歌曲的演绎音频数据中挑选出每个分句对应的分句清唱音频数据,生成目标歌曲的拼接音频数据,提升清唱音频数据的利用率。
下面将结合图3-图6,对本发明实施例提供的歌曲音频拼接设备进行详细介绍。需要说明的是,图3-图6所示的歌曲音频拼接设备,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
图3是本发明实施例提供的一种歌曲音频拼接设备的结构示意图,所述歌曲音频拼接设备包括:
数据获取单元310,用于获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据。
具体的,在本发明实施例中,演绎音频数据可以是用户演唱目标歌曲时通过具有录音功能的终端设备录制的音频数据,该演绎音频数据可以是只有用户演唱的清唱音频数据,也可以是包括用户演唱的清唱音频数据以及目标歌曲的伴奏混音等背景音乐的音频数据,这里不作具体限定。其中,目标歌曲中包括多个分句,对于分句的划分可以通过目标歌曲的歌词信息来进行划分,例如目标歌曲为《新年好》,则“新年好啊,新年好啊,祝福大家新年好”就可以被定义为三个分句。用户在对目标歌曲演唱完成后,可以将其演唱的演绎音频数据上传或者保存在歌曲音频拼接设备中,数据获取单元310就可以获取到多个用户针对目标歌曲的演绎音频数据,从而可以获取到多个用户针对目标歌曲的各个分句的清唱音频数据。
第一音符值转换单元320,用于分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
具体的,第一音符值转换单元320可以提取各用户演绎的各个分句的目标清唱音频数据的基频信息,并且根据各个分句的不同用户的清唱音频数据的基频信息获取对应的音符值序列。可以理解的是,基频信息可以为清唱音频数据的基音,用于决定清唱音频数据中各音符点的音高。其中,音符值指的是针对MIDI(Musical Instrument DigitalInterface)乐器数字接口的一种标准值。
在一种可能的实施场景中,第一音符值转换单元320可以采用预设音符转换公式,并根据调整后的所述各基频点的基频值,计算各基频点的音符值。其中,预设音符转换公式可以为:
其中,Y表示为当前基频点的音符值,x表示为当前基频点的基频值。
可选的,在提取各用户演绎的各个分句的清唱音频数据的基频信息之前,第一音符值转换单元320可以先对每个清唱音频数据按照预设的格式进行规整,例如,可以规整为16k 16bit的PCM格式。
可选的,可以一并参见图4,图4是本发明实施例提供的第一音符值转换单元的结构示意图,所述第一音符值转换单元320包括:
基频点生成子单元321,用于按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点。
具体实施中,基频点生成子单元321可以按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点,然后对至少一个基频点中各基频点的基频值进行调整,并将调整后的各基频点的基频值转换为各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。例如,歌曲音频拼接设备可以预设帧长为30ms,帧移为10ms,采集每个用户演绎的每个分句的清唱音频数据的基频信息,从而每个用户演绎的每个分句都对应存在至少一个基频点。
第一音符值转换子单元322,用于对所述至少一个基频点中各基频点的基频值进行调整,并将调整后的所述各基频点的基频值转换为所述各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
第一音符值转换子单元322对上述至少一个基频点进行除噪、平滑等处理,然后将调整后的各基频点的基频值转换为各基频点对应的音符值,则每个用户演绎的每个分句对应至少一个基频点,至少一个基频点对应了至少一个音符值,至少一个音符值即音符值序列,从而歌曲音频拼接设备就获取到了各个分句的不用用户的清唱音频数据的基频信息对应的音符值序列。
需要说明的是,第一音符值转换子单元322对至少一个基频点中各基频点的基频值进行调整时,可以是对至少一个基频点中的奇异基频点的基频值进行置零处理,例如,如果一个非0基频点的前后基频值均为0,则将此基频点记为0;还可以是对连续的几个基频点进行中值滤波处理,通过中值滤波处理,可以使得基频段曲线平滑,避免噪点的出现。
第一计算单元330,用于计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和。
具体的,第一计算单元330可以分别计算多个用户中的某一目标用户演绎的某一目标分句的音符值序列与其他用户演绎该对应分句的音符值序列之间的基频距离的和,即作为该目标用户演绎目标分句的清唱音频数据的基频距离和。例如,目标用户A演绎目标分句G1的清唱音频数据对应的音符值序列为Y1,演绎目标歌曲的其他用户包括B、C和D三个用户,B演绎目标分句G1的清唱音频数据对应的音符值序列为Y2,C演绎目标分句G1的清唱音频数据对应的音符值序列为Y3,D演绎目标分句G1的清唱音频数据对应的音符值序列为Y4,则第一计算单元330可以分别计算Y1与Y2之间的基频距离,Y1与Y3之间的基频距离,Y1与Y4之间的基频距离,然后将上述计算出的基频距离求和,即为目标用户A演绎目标分句G1的清唱音频数据的基频距离和。
具体实施中,以目标歌曲的第k分句为例,由于大家演唱的是同一句,所以对应的音符值序列的长度相同,设长度为p,意味着第k分句有p帧,第k分句的音符值序列包括p个音符值,则第一计算单元330通过预设的基频距离公式可以求出针对目标歌曲的演绎中,第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离。其中,预设的基频距离公式可以为:
其中,Lij k为第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离,yit k为第i个用户的第k分句的音符值序列的第t帧的音符值,yjt k为第j个用户的第k分句的音符值序列的第t帧的音符值。这里,i∈(1~n),j∈(1~n),其中,n可以指演绎目标歌曲的所有用户的数量。需要说明的是,第一个基频距离公式中的12代表一个八度,也就是说,第一个基频距离公式中认为第i个用户和第j个用户对第k分句的演绎在高一个八度或低一个八度的跨度内的音准都是一样的。
依照上述预设的基频距离公式的其中一个,第一计算单元330可以依次计算出目标用户演绎目标分句的音符值序列分别与多个用户中其他用户演绎目标分句的音符值序列之间的基频距离,并将计算得到的基频距离求和,即为目标用户演绎目标分句的清唱音频数据的基频距离和。其中,以第i个用户为目标用户,目标歌曲的第k分句为目标分句为例,基频距离和的公式可以为:
其中,Si k为第i个用户演绎第k分句的清唱音频数据的基频距离和,Lij k为第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离,n可以指演绎目标歌曲的所有用户的数量。
第一分句数据选择单元340,用于根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据。
具体的,目标分句对应的分句清唱音频数据可以指在多个用户演绎的目标分句的清唱音频数据中选择出的一个用于拼接的清唱音频数据。该目标分句对应的分句清唱音频数据的确定可以依据之前计算得到的各个用户演绎的目标分句的清唱音频数据的基频距离和,再结合不同的预设算法进行选取。
在第一种可能的实施场景中,第一分句数据选择单元340可以获取各个用户演绎目标分句的清唱音频数据的基频距离和中最小的基频距离和,确定该最小的基频距离和所对应的目标清唱音频数据,将该目标清唱音频数据作为目标歌曲中的目标分句对应的分句清唱音频数据即可。
可选的,可以一并参见图5,图5是本发明实施例提供的第一分句数据选择单元的结构示意图,第一分句数据选择单元340包括:
数据排序子单元341,用于按照基频距离和从小到大,对各个用户演绎目标分句的清唱音频数据进行排序。
备选数据获取子单元342,用于获取排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,从所述备选清唱音频数据中选择其中一个清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据。
在第二种可能的实施场景中,数据排序子单元341可以按照基频距离和从小到大,对各个用户演绎目标分句的清唱音频数据进行排序,从而备选数据获取子单元342获取排序前N个清唱音频数据作为目标分句的备选清唱音频数据,从备选清唱音频数据中选择其中一个清唱音频数据作为目标歌曲中的目标分句对应的分句清唱音频数据。具体的,在备选清唱音频数据中选择清唱音频数据作为分句清唱音频数据时,备选数据获取子单元342可以根据预先设定的规则进行依次迭代,从而选择出各个分句之间匹配度最合适的多个分句清唱音频数据;备选数据获取子单元342也可以随机的从备选清唱音频数据中选择清唱音频数据作为分句清唱音频数据,在本实施例中不作具体限定。
需要说明的是,在第二种实施场景中的一种情况下,N可以是歌曲音频拼接设备中预先设定的,例如,备选数据获取子单元342可以预先设定取排序中用户数量的一半的清唱音频数据作为目标分句的备选清唱音频数据,则若有10个用户演唱的针对目标分句的清唱音频数据,将这10个用户演绎目标分句的清唱音频数据的基频距离和从小到大排序后,取前5个清唱音频数据作为目标分句的备选清唱音频数据即可。
可选的,在第二种实施场景中的另一种情况下,所述数据排序子单元341用于:
根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度;
将置信度达到预设置信度阈值的排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,N由置信度达不到预设置信度阈值的基频距离和最小的清唱音频数据的排序确定。
在第二种实施场景中的另一种情况下,N可以是根据各个用户演绎目标分句的清唱音频数据的置信度来确定的。具体来说,数据排序子单元341可以根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度,将置信度达到预设置信度阈值的排序前N个清唱音频数据作为目标分句的备选清唱音频数据。这里,N可以由置信度达不到预设置信度阈值的基频距离和最小的清唱音频数据的排序确定。例如,若有5个用户演唱的针对目标分句的清唱音频数据,数据排序子单元341将这5个用户演绎目标分句的清唱音频数据的基频距离和从小到大排序后,分别计算得到5个用户演绎目标分句的清唱音频数据的置信度,设排名前三位的用户演绎目标分句的清唱音频数据的置信度均大于预设置信度阈值,而排名第四位的用户演绎目标分句的清唱音频数据的置信度小于预设置信度阈值,则这里N即为3,也即将置信度达到预设置信度阈值的排序前3个清唱音频数据作为目标分句的备选清唱音频数据。
进一步的,在计算置信度时,所述数据排序子单元341用于:
在各个用户演绎目标分句的清唱音频数据中,根据排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和之间的比较结果,确定排序第1个清唱音频数据的置信度;
根据所述排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比较结果,确定其他各个清唱音频数据的置信度。
具体的,数据排序子单元341可以先在各个用户演绎目标分句的清唱音频数据中,根据排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和之间的比较结果,确定排序第1个清唱音频数据的置信度。具体来说,在一种情况下,数据排序子单元341可以分别计算排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和的比值,若计算得到的比值均大于预设的第一置信度阈值,那么则可以认为排序第1个清唱音频数据的置信度大于预设置信度阈值,即排序第1个清唱音频数据可以作为目标分句的备选清唱音频数据。在另一种情况下,数据排序子单元341可以计算排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和的求和结果的比值,M可以是数据排序子单元341预设的,若计算得到的比值大于预设的第二置信度阈值,那么则可以认为排序第1个清唱音频数据的置信度大于预设置信度阈值,即排序第1个清唱音频数据可以作为目标分句的备选清唱音频数据。例如,在计算各个用户演绎第k分句的清唱音频数据中排序第1个清唱音频数据的置信度时,置信度公式可以表示为:
其中,f为第k分句的清唱音频数据中排序第1个清唱音频数据的置信度,Sk1为第k分句对应的排名第1个清唱音频数据的基频距离和,为第k分句对应的排名前M个清唱音频数据的基频距离和的求和结果。
在确定排序第1个清唱音频数据的置信度达到预设置信度阈值后,数据排序子单元341可以进一步确定其他各个清唱音频数据的置信度。具体实施中,数据排序子单元341可以根据排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比较结果,确定其他各个清唱音频数据的置信度。若某一清唱音频数据的置信度大于预设的第三置信度阈值,那么则可以认为该清唱音频数据的置信度大于预设置信度阈值,即该清唱音频数据可以作为目标分句的备选清唱音频数据。按照该方法,数据排序子单元341可以确定获取置信度大于预设置信度阈值的排序前N个清唱音频数据作为目标分句的备选清唱音频数据。例如,在计算各个用户演绎第k分句的清唱音频数据中其他各个清唱音频数据的置信度时,可以计算排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比值,即置信度公式可以表示为:
其中,vj为第k分句的清唱音频数据中除排序第1个清唱音频数据的其他各个清唱音频数据的置信度,Sk1为第k分句对应的排名第1个清唱音频数据的基频距离和,Skj为第k分句对应的除排序第1个清唱音频数据的其他各个清唱音频数据的基频距离和。
数据生成单元350,用于根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
具体的,确定出目标歌曲的各个分句对应的分句清唱音频数据后,数据生成单元350可以将被选出的各个分句清唱音频数据按照各个分句对应在目标歌曲中的位置和顺序拼接起来。其中,各个分句之间可以根据目标歌曲中各个分句之间的空隙时间补充一定时长的静音,最后再与目标歌曲的伴奏进行混音,从而生成目标歌曲的拼接音频数据,该拼接音频数据包括多个用户对每个分句演绎的分句清唱音频数据。例如,目标歌曲有4个分句G1、G2、G3和G4,设总共有3个用户演唱了该目标歌曲,用户A对4个分句演绎的清唱音频数据分别为a1、a2、a3、a4,用户B对4个分句演绎的清唱音频数据分别为b1、b2、b3、b4,用户C对4个分句演绎的清唱音频数据分别为c1、c2、c3、c4,其中,数据生成单元350根据上述算法最终确定:G1分句对应的分句清唱音频数据为b1,G2分句对应的分句清唱音频数据为c2,G3分句对应的分句清唱音频数据为b3,G4分句对应的分句清唱音频数据为a4,那么歌曲音频拼接设备就可以将b1、c2、b3以及a4这四个清唱音频数据进行拼接,最终生成目标歌曲的拼接音频数据。
本发明实施例中,通过获取多个用户针对目标歌曲的演绎音频数据,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列,以计算每个用户演绎目标分句的清唱音频数据的基频距离和,根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据,根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据,实现了从多个用户针对目标歌曲的演绎音频数据中挑选出每个分句对应的分句清唱音频数据,生成目标歌曲的拼接音频数据,提升清唱音频数据的利用率。
图6是本发明实施例提供的另一种歌曲音频拼接设备的结构示意图,所述设备包括:
数据获取单元310,用于获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据。
具体的,演绎音频数据可以是用户演唱目标歌曲时通过具有录音功能的终端设备录制的音频数据,该演绎音频数据可以是只有用户演唱的清唱音频数据。其中,目标歌曲中包括多个分句,对于分句的划分可以通过目标歌曲的歌词信息来进行划分,例如目标歌曲为《新年好》,则“新年好啊,新年好啊,祝福大家新年好”就可以被定义为三个分句。用户在对目标歌曲演唱完成后,可以将其演唱的演绎音频数据上传或者保存在歌曲音频拼接设备中,数据获取单元310就可以获取到多个用户针对目标歌曲的演绎音频数据,从而可以获取到多个用户针对目标歌曲的各个分句的清唱音频数据。
第二音符值转换单元360,用于分别提取各用户演绎的目标歌曲的演绎音频数据的基频信息,获取不同用户的演绎音频数据的基频信息对应的音符值序列。
具体的,第二音符值转换单元360可以分别提取各用户演绎的目标歌曲的演绎音频数据的基频信息,并获取不同用户的演绎音频数据的基频信息对应的音符值序列。也就是说,这里第二音符值转换单元360获取的是不同用户针对目标歌曲演绎的完整的演绎音频数据对应的音符值序列。可以理解的是,基频信息可以为清唱音频数据的基音,用于决定清唱音频数据中各音符点的音高。其中,音符值指的是针对MIDI(Musical InstrumentDigital Interface)乐器数字接口的一种标准值。
具体实施中,第二音符值转换单元360可以按照预设帧长和预设帧移分别提取各用户演绎的演绎音频数据的基频信息,以生成各用户演绎的目标歌曲对应的至少一个基频点,然后对至少一个基频点中各基频点的基频值进行调整,并将调整后的各基频点的基频值转换为各基频点对应的音符值,从而获取不同用户的演绎音频数据的基频信息对应的音符值序列。例如,第二音符值转换单元360可以预设帧长为30ms,帧移为10ms,采集每个用户演绎的演绎音频数据的基频信息,从而每个用户演绎的演绎音频数据都对应存在至少一个基频点。第二音符值转换单元360对上述至少一个基频点进行除噪、平滑等处理,然后将调整后的各基频点的基频值转换为各基频点对应的音符值,则每个用户演绎的演绎音频数据对应至少一个基频点,至少一个基频点对应了至少一个音符值,至少一个音符值即音符值序列,从而第二音符值转换单元360就获取到了不用用户的演绎音频数据的基频信息对应的音符值序列。
在一种可能的实施场景中,第二音符值转换单元360可以采用预设音符转换公式,并根据调整后的所述各基频点的基频值,计算各基频点的音符值。其中,预设音符转换公式可以为:
其中,Y表示为当前基频点的音符值,x表示为当前基频点的基频值。
需要说明的是,第二音符值转换单元360对至少一个基频点中各基频点的基频值进行调整时,可以是对至少一个基频点中的奇异基频点的基频值进行置零处理,例如,如果一个非0基频点的前后基频值均为0,则将此基频点记为0;还可以是对连续的几个基频点进行中值滤波处理,通过中值滤波处理,可以使得基频段曲线平滑,避免噪点的出现。
可选的,在提取各用户的演绎音频数据的基频信息之前,第二音符值转换单元360可以先对每个演绎音频数据按照预设的格式进行规整,例如,可以规整为16k 16bit的PCM格式。
第二计算单元370,用于计算所述多个用户中的目标用户的演绎音频数据的音符值序列分别与所述多个用户中其他用户的演绎音频数据的音符值序列之间的基频距离的和,作为所述目标用户的演绎音频数据的基频距离和。
具体的,第二计算单元370可以分别计算多个用户中的某一目标用户的演绎音频数据的音符值序列与其他用户的演绎音频数据的音符值序列之间的基频距离的和,即作为该目标用户的演绎音频数据的基频距离和。例如,目标用户A演绎目标歌曲的演绎音频数据对应的音符值序列为W1,演绎目标歌曲的其他用户包括B、C和D三个用户,B演绎目标歌曲的演绎音频数据对应的音符值序列为W2,C演绎目标歌曲的演绎音频数据对应的音符值序列为W3,D演绎目标歌曲的演绎音频数据对应的音符值序列为W4,则歌曲音频拼接设备可以分别计算W1与W2之间的基频距离,W1与W3之间的基频距离,W1与W4之间的基频距离,然后将上述计算出的基频距离求和,即为目标用户A演绎目标歌曲的演绎音频数据的基频距离和。
具体实施中,以目标歌曲为例,由于大家演唱的是同一首歌,所以对应的音符值序列的长度相同,设长度为q,意味着目标歌曲有q帧,演绎音频数据的音符值序列包括q个音符值,则通过预设的基频距离公式可以求出针对目标歌曲的演绎中,第i个用户的演绎音频数据的音符值序列与第j个用户的演绎音频数据的音符值序列之间的基频距离。其中,预设的基频距离公式可以为:
其中,Lij为第i个用户的演绎音频数据的音符值序列与第j个用户的演绎音频数据的音符值序列之间的基频距离,yit为第i个用户的演绎音频数据的音符值序列的第t帧的音符值,yjt为第j个用户的演绎音频数据的音符值序列的第t帧的音符值。这里,i∈(1~n),j∈(1~n),其中,n可以指演绎目标歌曲的所有用户的数量。需要说明的是,基频距离公式中的12代表一个八度,也就是说,基频距离公式中认为第i个用户和第j个用户对目标歌曲的演绎在高一个八度或低一个八度的跨度内的音准都是一样的。
依照上述预设的基频距离公式,第二计算单元370可以依次计算出目标用户的演绎音频数据的音符值序列分别与多个用户中其他用户的演绎音频数据的音符值序列之间的基频距离,并将计算得到的基频距离求和,即为目标用户的演绎音频数据的基频距离和。其中,以第i个用户为目标用户,目标歌曲为例,基频距离和的公式可以为:
其中,Si为第i个用户的演绎音频数据的基频距离和,Lij为第i个用户的演绎音频数据的音符值序列与第j个用户的演绎音频数据的音符值序列之间的基频距离,n可以指演绎目标歌曲的所有用户的数量。
参考数据选择单元380,用于根据各个用户的演绎音频数据的基频距离和,将基频距离和最小的演绎音频数据作为参考清唱音频数据。
具体的,参考数据选择单元380根据计算出的各个用户的演绎音频数据的基频距离和,可以确定出其中基频距离和最小的一个用户的演绎音频数据,则将该用户的演绎音频数据作为目标歌曲的参考清唱音频数据。
第一音符值转换单元320,用于分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
具体的,第一音符值转换单元320可以提取各用户演绎的各个分句的目标清唱音频数据的基频信息,并且根据各个分句的不同用户的清唱音频数据的基频信息获取对应的音符值序列。可以理解的是,基频信息可以为清唱音频数据的基音,用于决定清唱音频数据中各音符点的音高。其中,音符值指的是针对MIDI(Musical Instrument DigitalInterface)乐器数字接口的一种标准值。
在一种可能的实施场景中,第一音符值转换单元320可以采用预设音符转换公式,并根据调整后的所述各基频点的基频值,计算各基频点的音符值。其中,预设音符转换公式可以为:
其中,Y表示为当前基频点的音符值,x表示为当前基频点的基频值。
可选的,在提取各用户演绎的各个分句的清唱音频数据的基频信息之前,第一音符值转换单元320可以先对每个清唱音频数据按照预设的格式进行规整,例如,可以规整为16k 16bit的PCM格式。
可选的,可以一并参见图4,图4是本发明实施例提供的第一音符值转换单元的结构示意图,所述第一音符值转换单元320包括:
基频点生成子单元321,用于按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点。
具体实施中,基频点生成子单元321可以按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点,然后对至少一个基频点中各基频点的基频值进行调整,并将调整后的各基频点的基频值转换为各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。例如,歌曲音频拼接设备可以预设帧长为30ms,帧移为10ms,采集每个用户演绎的每个分句的清唱音频数据的基频信息,从而每个用户演绎的每个分句都对应存在至少一个基频点。
第一音符值转换子单元322,用于对所述至少一个基频点中各基频点的基频值进行调整,并将调整后的所述各基频点的基频值转换为所述各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
第一音符值转换子单元322对上述至少一个基频点进行除噪、平滑等处理,然后将调整后的各基频点的基频值转换为各基频点对应的音符值,则每个用户演绎的每个分句对应至少一个基频点,至少一个基频点对应了至少一个音符值,至少一个音符值即音符值序列,从而歌曲音频拼接设备就获取到了各个分句的不用用户的清唱音频数据的基频信息对应的音符值序列。
需要说明的是,第一音符值转换子单元322对至少一个基频点中各基频点的基频值进行调整时,可以是对至少一个基频点中的奇异基频点的基频值进行置零处理,例如,如果一个非0基频点的前后基频值均为0,则将此基频点记为0;还可以是对连续的几个基频点进行中值滤波处理,通过中值滤波处理,可以使得基频段曲线平滑,避免噪点的出现。
第一计算单元330,用于计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和。
具体的,第一计算单元330可以分别计算多个用户中的某一目标用户演绎的某一目标分句的音符值序列与其他用户演绎该对应分句的音符值序列之间的基频距离的和,即作为该目标用户演绎目标分句的清唱音频数据的基频距离和。例如,目标用户A演绎目标分句G1的清唱音频数据对应的音符值序列为Y1,演绎目标歌曲的其他用户包括B、C和D三个用户,B演绎目标分句G1的清唱音频数据对应的音符值序列为Y2,C演绎目标分句G1的清唱音频数据对应的音符值序列为Y3,D演绎目标分句G1的清唱音频数据对应的音符值序列为Y4,则第一计算单元330可以分别计算Y1与Y2之间的基频距离,Y1与Y3之间的基频距离,Y1与Y4之间的基频距离,然后将上述计算出的基频距离求和,即为目标用户A演绎目标分句G1的清唱音频数据的基频距离和。
具体实施中,以目标歌曲的第k分句为例,由于大家演唱的是同一句,所以对应的音符值序列的长度相同,设长度为p,意味着第k分句有p帧,第k分句的音符值序列包括p个音符值,则第一计算单元330通过预设的基频距离公式可以求出针对目标歌曲的演绎中,第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离。其中,预设的基频距离公式可以为:
其中,Lij k为第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离,yit k为第i个用户的第k分句的音符值序列的第t帧的音符值,yjt k为第j个用户的第k分句的音符值序列的第t帧的音符值。这里,i∈(1~n),j∈(1~n),其中,n可以指演绎目标歌曲的所有用户的数量。需要说明的是,第一个基频距离公式中的12代表一个八度,也就是说,第一个基频距离公式中认为第i个用户和第j个用户对第k分句的演绎在高一个八度或低一个八度的跨度内的音准都是一样的。
依照上述预设的基频距离公式的其中一个,第一计算单元330可以依次计算出目标用户演绎目标分句的音符值序列分别与多个用户中其他用户演绎目标分句的音符值序列之间的基频距离,并将计算得到的基频距离求和,即为目标用户演绎目标分句的清唱音频数据的基频距离和。其中,以第i个用户为目标用户,目标歌曲的第k分句为目标分句为例,基频距离和的公式可以为:
其中,Si k为第i个用户演绎第k分句的清唱音频数据的基频距离和,Lij k为第i个用户的第k分句的音符值序列与第j个用户的第k分句的音符值序列之间的基频距离,n可以指演绎目标歌曲的所有用户的数量。
第一分句数据选择单元340,用于根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据。
可以一并参见图5,图5是本发明实施例提供的第一分句数据选择单元的结构示意图,第一分句数据选择单元340包括:
数据排序子单元341,用于按照基频距离和从小到大,对各个用户演绎目标分句的清唱音频数据进行排序。
具体的,数据排序子单元341根据上述方法计算得到基频距离和,将基频距离和从小到大进行排序,该排序也即为各个用户演绎目标分句的清唱音频数据的排序。例如,目标分句为G1,有三个用户演唱,A用户演唱G1的清唱音频数据a1的基频距离和排序为第一,B用户演唱G1的清唱音频数据b1的基频距离和排序为第二,C用户演唱G1的清唱音频数据c1的基频距离和排序为第三。那么,ABC三个用户演绎目标分句G1的清唱音频数据排序也即为a1、b1、c1。
备选数据获取子单元342,用于获取排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,从所述备选清唱音频数据中选择其中一个清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据。
具体的,N可以是根据各个用户演绎目标分句的清唱音频数据的置信度来确定的。具体来说,备选数据获取子单元342可以根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度,将置信度达到预设置信度阈值的排序前N个清唱音频数据作为目标分句的备选清唱音频数据。
这里,N可以由置信度达不到预设置信度阈值的基频距离和最小的清唱音频数据的排序确定。例如,若有5个用户演唱的针对目标分句的清唱音频数据,备选数据获取子单元342将这5个用户演绎目标分句的清唱音频数据的基频距离和从小到大排序后,分别计算得到5个用户演绎目标分句的清唱音频数据的置信度,设排名前三位的用户演绎目标分句的清唱音频数据的置信度均大于预设置信度阈值,而排名第四位的用户演绎目标分句的清唱音频数据的置信度小于预设置信度阈值,则这里N即为3,也即将置信度达到预设置信度阈值的排序前3个清唱音频数据作为目标分句的备选清唱音频数据。
进一步的,在计算置信度时,备选数据获取子单元342可以先在各个用户演绎目标分句的清唱音频数据中,根据排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和之间的比较结果,确定排序第1个清唱音频数据的置信度。具体来说,在一种情况下,备选数据获取子单元342可以分别计算排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和的比值,若计算得到的比值均大于预设的第一置信度阈值,那么则可以认为排序第1个清唱音频数据的置信度大于预设置信度阈值,即排序第1个清唱音频数据可以作为目标分句的备选清唱音频数据。在另一种情况下,备选数据获取子单元342可以计算排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和的求和结果的比值,M可以是歌曲音频拼接设备预设的,若计算得到的比值大于预设的第二置信度阈值,那么则可以认为排序第1个清唱音频数据的置信度大于预设置信度阈值,即排序第1个清唱音频数据可以作为目标分句的备选清唱音频数据。例如,在计算各个用户演绎第k分句的清唱音频数据中排序第1个清唱音频数据的置信度时,置信度公式可以表示为:
其中,f为第k分句的清唱音频数据中排序第1个清唱音频数据的置信度,Sk1为第k分句对应的排名第1个清唱音频数据的基频距离和,为第k分句对应的排名前M个清唱音频数据的基频距离和的求和结果。
在确定排序第1个清唱音频数据的置信度达到预设置信度阈值后,备选数据获取子单元342可以进一步确定其他各个清唱音频数据的置信度。具体实施中,备选数据获取子单元342可以根据排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比较结果,确定其他各个清唱音频数据的置信度。若某一清唱音频数据的置信度大于预设的第三置信度阈值,那么则可以认为该清唱音频数据的置信度大于预设置信度阈值,即该清唱音频数据可以作为目标分句的备选清唱音频数据。按照该方法,备选数据获取子单元342可以确定获取置信度大于预设置信度阈值的排序前N个清唱音频数据作为目标分句的备选清唱音频数据。例如,在计算各个用户演绎第k分句的清唱音频数据中其他各个清唱音频数据的置信度时,可以计算排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比值,即置信度公式可以表示为:
其中,vj为第k分句的清唱音频数据中除排序第1个清唱音频数据的其他各个清唱音频数据的置信度,Sk1为第k分句对应的排名第1个清唱音频数据的基频距离和,Skj为第k分句对应的除排序第1个清唱音频数据的其他各个清唱音频数据的基频距离和。
基调差确定单元390,用于确定所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
第二分句数据选择单元400,用于若所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差不能满足均小于预设基调阈值,则重新从各个分句对应的备选清唱音频数据中选择其中的清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据,直至各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
具体的,备选数据获取子单元342可以首先从目标歌曲的第一个分句的备选清唱音频数据中确定一个分句清唱音频数据,然后基调差确定单元390计算第一个分句的分句清唱音频数据与参考清唱音频数据的第一分句的清唱音频数据之间的基调差,并将该第一分句的分句清唱音频数据对应的基调差作为基调阈值。接着备选数据获取子单元342从目标歌曲的第二个分句的备选清唱音频数据中确定一个分句清唱音频数据,然后基调差确定单元390计算第二个分句的分句清唱音频数据与参考清唱音频数据的第二分句的清唱音频数据之间的基调差,并判断第二分句的分句清唱音频数据对应的基调差是否小于基调阈值,若是,则备选数据获取子单元342继续从目标歌曲的下一个分句的备选清唱音频数据中确定一个分句清唱音频数据;否则,则第二分句数据选择单元400重新从第二分句的备选清唱音频数据中选择一个清唱音频数据作为分句清唱音频数据,直到选择出的第二分句对应的分句清唱音频数据与参考清唱音频数据的第二分句的清唱音频数据之间的基调差小于基调阈值。
可以理解的,基调差确定单元390可以按照上述原理,分别判断出备选数据获取子单元342所选择的目标歌曲的各个分句对应的分句清唱音频数据与参考清唱音频数据的相应分句的清唱音频数据之间的基调差是否均小于预设基调阈值。当基调差均小于基调阈值时,则说明已经为目标歌曲的每个分句确定了合适的分句清唱音频数据,这些分句清唱音频数据之间可以认为不存在基调差或者仅存在微小的基调差,也即这些分句清唱音频数据拼接生成的拼接音频数据的基调比较平稳。否则,第二分句数据选择单元400针对基调差不小于基调阈值的分句对应的分句清唱音频数据,可以重新从该分句的备选清唱音频数据中选择一个清唱音频数据作为分句清唱音频数据,直到选择出的该分句对应的分句清唱音频数据与参考清唱音频数据的对应分句的清唱音频数据之间的基调差小于基调阈值。
具体实施中,以目标歌曲的第c分句为例,由于大家演唱的是同一句,所以对应的音符值序列的长度相同,设长度为p,意味着第k分句有p帧,第c分句的音符值序列包括p个音符值,则通过预设的基调差公式可以求出针对目标歌曲的演绎中,第c分句对应的分句清唱数据与参考清唱音频数据的第c分句的清唱音频数据之间的基调差。其中,基调差公式可以表示为:
其中,yut c指第c分句对应的分句清唱数据的音符值序列的第t帧的音符值,yrt c参考清唱音频数据的第c分句的清唱音频数据的音符值序列的第t帧的音符值,mini表示yut c和yrt c两个音符值序列匹配度最高的i,即基调阈值。
在一种可能的情况下,即使备选数据获取子单元342穷尽某一分句(非第一个分句)的备选清唱音频数据中的所有清唱音频数据,都无法找到与参考清唱音频数据的相应分句的清唱音频数据之间的基调差小于基调阈值的清唱音频数据,那么说明该分句无法匹配第一分句确定的分句清唱音频数据。在这种情况下,第二分句数据选择单元400需要重新从第一个分句的备选清唱音频数据中确定一个新的分句清唱音频数据,基调差确定单元390再计算第一个分句的新的分句清唱音频数据与参考清唱音频数据的第一分句的清唱音频数据之间的基调差,并将该第一分句的分句清唱音频数据对应的基调差作为新的基调阈值,相应的,其他分句根据该基调差重新确定对应的分句清唱音频数据,直到目标歌曲的各个分句对应的分句清唱音频数据与参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于基调阈值。
在一种可能的情况下,即使备选数据获取子单元342穷尽第一个分句的备选清唱音频数据中的所有清唱音频数据,都无法使各个分句对应的分句清唱音频数据与参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于基调阈值。也即无法使每一个分句都匹配第一分句确定的分句清唱音频数据。那么可以暂停对目标歌曲的拼接处理,等待新的清唱音频数据补充后,再重新进行迭代挑选。
需要说明的是,在本发明实施例中,备选数据获取子单元342在从备选清唱音频数据中选择清唱音频数据作为某一目标分句对应的分句清唱音频数据时,备选数据获取子单元342可以先将备选清唱音频数据中排名第1个清唱音频数据作为目标分句对应的分句清唱音频数据,当排名第1个清唱音频数据作为分句清唱音频数据达不到匹配要求的时候,再将备选清唱音频数据中排名第2个清唱音频数据作为目标分句对应的分句清唱音频数据。也即按照备选清唱音频数据排名的先后顺序,从排名第1的备选清唱音频数据开始依次进行挑选。按照该方法在备选清唱音频数据中确定目标分句对应的分句清唱音频数据。
数据生成单元350,用于根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
具体的,在确定出目标歌曲的各个分句对应的分句清唱音频数据后,数据生成单元350可以将被选出的各个分句清唱音频数据按照各个分句对应在目标歌曲中的位置和顺序拼接起来。其中,各个分句之间可以根据目标歌曲中各个分句之间的空隙时间补充一定时长的静音,最后再与目标歌曲的伴奏进行混音,从而生成目标歌曲的拼接音频数据,该拼接音频数据包括多个用户对每个分句演绎的分句清唱音频数据。
本发明实施例中,通过获取多个用户针对目标歌曲的演绎音频数据,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列,以计算每个用户演绎目标分句的清唱音频数据的基频距离和,根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据,根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据,实现了从多个用户针对目标歌曲的演绎音频数据中挑选出每个分句对应的分句清唱音频数据,生成目标歌曲的拼接音频数据,提升清唱音频数据的利用率。
图7是本发明实施例提供的另一种歌曲音频拼接设备的结构示意图。如图7所示,所述歌曲音频拼接设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及文件生成应用程序。
在图7所示的歌曲音频拼接设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的音频拼接应用程序,并具体执行以下操作:
获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据;
分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列;
计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和;
根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据;
根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
在一个实施例中,所述处理器1001根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据时,具体执行以下操作:
按照基频距离和从小到大,对各个用户演绎目标分句的清唱音频数据进行排序;
获取排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,从所述备选清唱音频数据中选择其中一个清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据。
在一个实施例中,所述处理器1001获取排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据时,具体执行以下操作:
根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度;
将置信度达到预设置信度阈值的排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,N由置信度达不到预设置信度阈值的基频距离和最小的清唱音频数据的排序确定。
在一个实施例中,所述处理器1001根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度时,具体执行以下操作:
在各个用户演绎目标分句的清唱音频数据中,根据排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和之间的比较结果,确定排序第1个清唱音频数据的置信度;
根据所述排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比较结果,确定其他各个清唱音频数据的置信度。
在一个实施例中,所述处理器1001根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据之前,还执行以下操作:
分别提取各用户演绎的目标歌曲的演绎音频数据的基频信息,获取不同用户的演绎音频数据的基频信息对应的音符值序列;
计算所述多个用户中的目标用户的演绎音频数据的音符值序列分别与所述多个用户中其他用户的演绎音频数据的音符值序列之间的基频距离的和,作为所述目标用户的演绎音频数据的基频距离和;
根据各个用户的演绎音频数据的基频距离和,将基频距离和最小的演绎音频数据作为参考清唱音频数据;
确定所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
在一个实施例中,所述处理器1001还用于执行以下操作:
若所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差不能满足均小于预设基调阈值,则重新从各个分句对应的备选清唱音频数据中选择其中的清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据,直至各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
在一个实施例中,所述处理器1001分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列时,具体执行以下操作:
按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点;
对所述至少一个基频点中各基频点的基频值进行调整,并将调整后的所述各基频点的基频值转换为所述各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
在一个实施例中,所述处理器1001对所述至少一个基频点中各基频点的基频值进行调整时,具体执行以下操作:
对所述至少一个基频点中的奇异基频点的基频值进行置零处理;
对所述各基频点进行中值滤波处理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (16)

1.一种歌曲音频拼接方法,其特征在于,所述方法包括:
获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据;
分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列;
计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和;
根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据;
根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
2.如权利要求1所述的方法,其特征在于,所述根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据包括:
按照基频距离和从小到大,对各个用户演绎目标分句的清唱音频数据进行排序;
获取排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,从所述备选清唱音频数据中选择其中一个清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据。
3.如权利要求2所述的方法,其特征在于,所述获取排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据包括:
根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度;
将置信度达到预设置信度阈值的排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,N由置信度达不到预设置信度阈值的基频距离和最小的清唱音频数据的排序确定。
4.如权利要求3所述的方法,其特征在于,所述根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度包括:
在各个用户演绎目标分句的清唱音频数据中,根据排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和之间的比较结果,确定排序第1个清唱音频数据的置信度;
根据所述排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比较结果,确定其他各个清唱音频数据的置信度。
5.如权利要求2所述的方法,其特征在于,所述根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据之前还包括:
分别提取各用户演绎的目标歌曲的演绎音频数据的基频信息,获取不同用户的演绎音频数据的基频信息对应的音符值序列;
计算所述多个用户中的目标用户的演绎音频数据的音符值序列分别与所述多个用户中其他用户的演绎音频数据的音符值序列之间的基频距离的和,作为所述目标用户的演绎音频数据的基频距离和;
根据各个用户的演绎音频数据的基频距离和,将基频距离和最小的演绎音频数据作为参考清唱音频数据;
确定所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
若所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差不能满足均小于预设基调阈值,则重新从各个分句对应的备选清唱音频数据中选择其中的清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据,直至各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
7.如权利要求1-6所述的任一方法,其特征在于,所述分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列包括:
按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点;
对所述至少一个基频点中各基频点的基频值进行调整,并将调整后的所述各基频点的基频值转换为所述各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
8.根据权利要求7所述的方法,其特征在于,所述对所述至少一个基频点中各基频点的基频值进行调整包括:
对所述至少一个基频点中的奇异基频点的基频值进行置零处理;
对所述各基频点进行中值滤波处理。
9.一种歌曲音频拼接设备,其特征在于,所述设备包括:
数据获取单元,用于获取多个用户针对目标歌曲的演绎音频数据,所述演绎音频数据包括所述目标歌曲的各个分句的清唱音频数据;
第一音符值转换单元,用于分别提取各用户演绎的各个分句的清唱音频数据的基频信息,获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列;
第一计算单元,用于计算所述多个用户中的目标用户演绎目标分句的音符值序列分别与所述多个用户中其他用户演绎目标分句的音符值序列之间的基频距离的和,作为所述目标用户演绎目标分句的清唱音频数据的基频距离和;
第一分句数据选择单元,用于根据各个用户演绎目标分句的清唱音频数据的基频距离和,从所述各个用户演绎目标分句的清唱音频数据中确定所述目标歌曲中的目标分句对应的分句清唱音频数据;
数据生成单元,用于根据目标歌曲的各个分句对应的分句清唱音频数据,生成所述目标歌曲的拼接音频数据。
10.如权利要求9所述的设备,其特征在于,所述第一分句数据选择单元包括:
数据排序子单元,用于按照基频距离和从小到大,对各个用户演绎目标分句的清唱音频数据进行排序;
备选数据获取子单元,用于获取排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,从所述备选清唱音频数据中选择其中一个清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据。
11.如权利要求10所述的设备,其特征在于,所述数据排序子单元用于:
根据各个用户演绎目标分句的清唱音频数据的基频距离和,计算各个用户演绎目标分句的清唱音频数据的置信度;
将置信度达到预设置信度阈值的排序前N个清唱音频数据作为所述目标分句的备选清唱音频数据,N由置信度达不到预设置信度阈值的基频距离和最小的清唱音频数据的排序确定。
12.如权利要求11所述的设备,其特征在于,所述数据排序子单元用于:
在各个用户演绎目标分句的清唱音频数据中,根据排序第1个清唱音频数据的基频距离和与排序前M个清唱音频数据的基频距离和之间的比较结果,确定排序第1个清唱音频数据的置信度;
根据所述排序第1个清唱音频数据的基频距离和与其他各个清唱音频数据的基频距离和的比较结果,确定其他各个清唱音频数据的置信度。
13.如权利要求10所述的设备,其特征在于,所述设备还包括:
第二音符值转换单元,用于分别提取各用户演绎的目标歌曲的演绎音频数据的基频信息,获取不同用户的演绎音频数据的基频信息对应的音符值序列;
第二计算单元,用于计算所述多个用户中的目标用户的演绎音频数据的音符值序列分别与所述多个用户中其他用户的演绎音频数据的音符值序列之间的基频距离的和,作为所述目标用户的演绎音频数据的基频距离和;
参考数据选择单元,用于根据各个用户的演绎音频数据的基频距离和,将基频距离和最小的演绎音频数据作为参考清唱音频数据;
基调差确定单元,用于确定所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
14.如权利要求13所述的设备,其特征在于,所述设备还包括:
第二分句数据选择单元,用于若所述目标歌曲的各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差不能满足均小于预设基调阈值,则重新从各个分句对应的备选清唱音频数据中选择其中的清唱音频数据作为所述目标歌曲中的目标分句对应的分句清唱音频数据,直至各个分句对应的分句清唱音频数据与所述参考清唱音频数据的相应分句的清唱音频数据之间的基调差均小于预设基调阈值。
15.如权利要求9-14所述的任一设备,其特征在于,所述第一音符值转换单元包括:
基频点生成子单元,用于按照预设帧长和预设帧移分别提取各用户演绎的各个分句的清唱音频数据的基频信息,以生成各用户演绎的各个分句对应的至少一个基频点;
第一音符值转换子单元,用于对所述至少一个基频点中各基频点的基频值进行调整,并将调整后的所述各基频点的基频值转换为所述各基频点对应的音符值,从而获取各个分句的不同用户的清唱音频数据的基频信息对应的音符值序列。
16.根据权利要求15所述的设备,其特征在于,所述第一音符值转换子单元用于:
对所述至少一个基频点中的奇异基频点的基频值进行置零处理;
对所述各基频点进行中值滤波处理。
CN201611124339.8A 2016-12-08 2016-12-08 一种歌曲音频拼接方法及设备 Active CN106652986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611124339.8A CN106652986B (zh) 2016-12-08 2016-12-08 一种歌曲音频拼接方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611124339.8A CN106652986B (zh) 2016-12-08 2016-12-08 一种歌曲音频拼接方法及设备

Publications (2)

Publication Number Publication Date
CN106652986A true CN106652986A (zh) 2017-05-10
CN106652986B CN106652986B (zh) 2020-03-20

Family

ID=58819880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611124339.8A Active CN106652986B (zh) 2016-12-08 2016-12-08 一种歌曲音频拼接方法及设备

Country Status (1)

Country Link
CN (1) CN106652986B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107452361A (zh) * 2017-08-08 2017-12-08 腾讯音乐娱乐(深圳)有限公司 歌曲分句方法及装置
WO2019101015A1 (zh) * 2017-11-21 2019-05-31 广州酷狗计算机科技有限公司 音频信号处理方法、装置和存储介质
CN110415677A (zh) * 2018-04-26 2019-11-05 腾讯科技(深圳)有限公司 音频生成方法和装置及存储介质
CN111182315A (zh) * 2019-10-18 2020-05-19 腾讯科技(深圳)有限公司 一种多媒体文件拼接方法、装置、设备及介质
CN111653290A (zh) * 2020-05-29 2020-09-11 北京百度网讯科技有限公司 音频场景分类模型生成方法、装置、设备以及存储介质
US10924877B2 (en) 2017-12-26 2021-02-16 Guangzhou Kugou Computer Technology Co., Ltd Audio signal processing method, terminal and storage medium thereof
US11039261B2 (en) 2017-12-26 2021-06-15 Guangzhou Kugou Computer Technology Co., Ltd. Audio signal processing method, terminal and storage medium thereof
US11315582B2 (en) 2018-09-10 2022-04-26 Guangzhou Kugou Computer Technology Co., Ltd. Method for recovering audio signals, terminal and storage medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009022084A1 (fr) * 2007-08-10 2009-02-19 Voxler Procédé pour composer automatiquement une sonnerie personnalisée à partir d'un enregistrement de voix fredonnée et téléphone portable mettant en oeuvre ce procédé
CN102456345A (zh) * 2010-10-19 2012-05-16 盛乐信息技术(上海)有限公司 拼接语音检测系统及方法
CN103531196A (zh) * 2013-10-15 2014-01-22 中国科学院自动化研究所 一种波形拼接语音合成的选音方法
CN104112444A (zh) * 2014-07-28 2014-10-22 中国科学院自动化研究所 一种基于文本信息的波形拼接语音合成方法
CN104778220A (zh) * 2015-03-20 2015-07-15 广东欧珀移动通信有限公司 一种清唱歌曲拼接的方法及装置
CN104780438A (zh) * 2015-03-20 2015-07-15 广东欧珀移动通信有限公司 一种视频与歌曲音频拼接的方法及装置
CN104778219A (zh) * 2015-03-20 2015-07-15 广东欧珀移动通信有限公司 一种预设效果歌曲拼接的方法及装置
CN104978380A (zh) * 2014-10-22 2015-10-14 腾讯科技(深圳)有限公司 一种音频处理方法及装置
CN105788589A (zh) * 2016-05-04 2016-07-20 腾讯科技(深圳)有限公司 一种音频数据的处理方法及装置
CN106210266A (zh) * 2016-06-23 2016-12-07 腾讯科技(深圳)有限公司 一种音频信号处理方法及音频信号处理装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009022084A1 (fr) * 2007-08-10 2009-02-19 Voxler Procédé pour composer automatiquement une sonnerie personnalisée à partir d'un enregistrement de voix fredonnée et téléphone portable mettant en oeuvre ce procédé
CN102456345A (zh) * 2010-10-19 2012-05-16 盛乐信息技术(上海)有限公司 拼接语音检测系统及方法
CN103531196A (zh) * 2013-10-15 2014-01-22 中国科学院自动化研究所 一种波形拼接语音合成的选音方法
CN104112444A (zh) * 2014-07-28 2014-10-22 中国科学院自动化研究所 一种基于文本信息的波形拼接语音合成方法
CN104978380A (zh) * 2014-10-22 2015-10-14 腾讯科技(深圳)有限公司 一种音频处理方法及装置
CN104778220A (zh) * 2015-03-20 2015-07-15 广东欧珀移动通信有限公司 一种清唱歌曲拼接的方法及装置
CN104780438A (zh) * 2015-03-20 2015-07-15 广东欧珀移动通信有限公司 一种视频与歌曲音频拼接的方法及装置
CN104778219A (zh) * 2015-03-20 2015-07-15 广东欧珀移动通信有限公司 一种预设效果歌曲拼接的方法及装置
CN105788589A (zh) * 2016-05-04 2016-07-20 腾讯科技(深圳)有限公司 一种音频数据的处理方法及装置
CN106210266A (zh) * 2016-06-23 2016-12-07 腾讯科技(深圳)有限公司 一种音频信号处理方法及音频信号处理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XUNYU PAN: ""detecting splicing in digital audios using local noise level estimation"", 《ICASSP》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107452361A (zh) * 2017-08-08 2017-12-08 腾讯音乐娱乐(深圳)有限公司 歌曲分句方法及装置
CN107452361B (zh) * 2017-08-08 2020-07-07 腾讯音乐娱乐(深圳)有限公司 歌曲分句方法及装置
WO2019101015A1 (zh) * 2017-11-21 2019-05-31 广州酷狗计算机科技有限公司 音频信号处理方法、装置和存储介质
US10964300B2 (en) 2017-11-21 2021-03-30 Guangzhou Kugou Computer Technology Co., Ltd. Audio signal processing method and apparatus, and storage medium thereof
US10924877B2 (en) 2017-12-26 2021-02-16 Guangzhou Kugou Computer Technology Co., Ltd Audio signal processing method, terminal and storage medium thereof
US11039261B2 (en) 2017-12-26 2021-06-15 Guangzhou Kugou Computer Technology Co., Ltd. Audio signal processing method, terminal and storage medium thereof
CN110415677A (zh) * 2018-04-26 2019-11-05 腾讯科技(深圳)有限公司 音频生成方法和装置及存储介质
US11315582B2 (en) 2018-09-10 2022-04-26 Guangzhou Kugou Computer Technology Co., Ltd. Method for recovering audio signals, terminal and storage medium
CN111182315A (zh) * 2019-10-18 2020-05-19 腾讯科技(深圳)有限公司 一种多媒体文件拼接方法、装置、设备及介质
CN111653290A (zh) * 2020-05-29 2020-09-11 北京百度网讯科技有限公司 音频场景分类模型生成方法、装置、设备以及存储介质
CN111653290B (zh) * 2020-05-29 2023-05-02 北京百度网讯科技有限公司 音频场景分类模型生成方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN106652986B (zh) 2020-03-20

Similar Documents

Publication Publication Date Title
CN106652986A (zh) 一种歌曲音频拼接方法及设备
CN107123415B (zh) 一种自动编曲方法及系统
US6437227B1 (en) Method for recognizing and selecting a tone sequence, particularly a piece of music
CN103188407B (zh) 交互式语音应答ivr的处理方法、终端、拨测服务器和系统
US20130346083A1 (en) Computer-Implemented System And Method For User-Controlled Processing Of Audio Signals
CN106448630A (zh) 歌曲的数字乐谱文件的生成方法和装置
CN109496332A (zh) 语音对话装置、语音对话方法以及存储介质
CN106095384B (zh) 一种音效调节方法及用户终端
CN106055659A (zh) 一种歌词数据匹配方法及其设备
CN1711585A (zh) 使用通信设备的化身控制
CN108074557A (zh) 音调调整方法、装置及存储介质
CN101374306A (zh) 手机按键的按键音提示方法
CN110444190A (zh) 语音处理方法、装置、终端设备及存储介质
CN106155640A (zh) 一种音量显示方法及装置
CN109726309A (zh) 音频生成方法、装置及存储介质
JP4382710B2 (ja) 利用者別楽曲別好適キー設定システム
CN106953962A (zh) 一种通话录音方法及装置
CN104142952B (zh) 报表展示方法和装置
CN110070891A (zh) 一种歌曲识别方法、装置以及存储介质
CN108962286A (zh) 音频识别方法、装置及存储介质
CN102883063A (zh) 移动终端和铃声设置方法
CN105956040B (zh) 音乐信息网络中社交关系影响下的歌曲流行度分析方法
JP2006337407A (ja) 利用者別楽曲別好適キー設定システム
WO2010047444A1 (ko) 음악분수 구동장치 및 방법과 이를 위한 음악분수 시나리오 생성장치 및 방법
CN106911832A (zh) 一种语音记录的方法及装置

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