CN108461086B - 一种音频的实时切换方法和装置 - Google Patents
一种音频的实时切换方法和装置 Download PDFInfo
- Publication number
- CN108461086B CN108461086B CN201611146427.8A CN201611146427A CN108461086B CN 108461086 B CN108461086 B CN 108461086B CN 201611146427 A CN201611146427 A CN 201611146427A CN 108461086 B CN108461086 B CN 108461086B
- Authority
- CN
- China
- Prior art keywords
- data
- audio data
- vocal
- original
- queue
- 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
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- 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/36—Accompaniment arrangements
- G10H1/361—Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本发明实施例提供了一种音频的实时切换方法和装置。所述方法包括:解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据,将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列,根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据。依据上述方法,实现了从播放伴唱到播放原唱的实时切换,由于将多声道的原唱和伴唱分别存储到多声道的原唱音频编码文件和伴唱音频编码文件中,所以无论原唱和伴唱都是多声道的,在实现实时切换的同时保证了原唱和伴唱的声音效果。
Description
技术领域
本发明涉及音频处理技术领域,特别是涉及一种音频的实时切换方法和装置。
背景技术
唱歌应用中,用户仅听伴唱去唱歌,容易走调或者跟不上节奏,而这个时候需要用户可以听着原唱唱歌并且录制下来的作品却是自己的人声和伴唱合成起来的作品。
现有的技术为了实现原唱和伴唱的实时切换,在一个音频文件中将原唱存储为一个声道,将伴唱存储为一个声道,播放时通过切换声道来实现原唱和伴唱之间的切换,因此无论原唱还是伴唱都是单声道的,声音效果都不好。而且最终得到的合成音频也是由录制的用户音频和单声道的伴唱来合成,导致合成音频中伴唱也是单声道的,即合成的用户作品声音效果不好。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种音频的实时切换方法和装置。
依据本发明的一个方面,提供了一种音频的实时切换方法,包括:
解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据;
将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列;
根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据。
优选地,在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之后,所述方法还包括:
从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据。
优选地,所述解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据包括:
从所述伴唱音频编码文件中逐帧解码得到伴唱音频数据,在解码各帧伴唱音频数据之后,从所述原唱音频编码文件中解码得到与之对应的一帧所述原唱音频数据;
所述将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列包括:
分别将所述伴唱音频数据和原唱音频数据逐帧添加到所述第二数据队列和第一数据队列。
优选地,在所述解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据之前,所述方法还包括:
根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作。
优选地,所述根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作包括:
如果所述第一数据队列或第二数据队列中的当前数据量小于预设的最小数据量,则开启解码操作;
如果所述第一数据队列或第二数据队列中的当前数据量大于等于预设的最大数据量,则暂停解码操作。
优选地,在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之前,所述方法包括:
从所述第二数据队列的前端提取伴唱音频数据并播放,同时从所述第一数据队列的对应位置删除原唱音频数据。
优选地,所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据包括:
根据切换操作,将播放从所述第二数据队列的前端提取的伴唱音频数据,切换为播放从所述第一数据队列的前端开始提取的原唱音频数据。
优选地,在所述从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据之前,所述方法还包括:
在播放所述原唱音频数据的同时,从音频采集设备中获取音频数据。
根据本发明的另一方面,提供了一种音频的实时切换装置,包括:
文件解码模块,用于解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据;
数据添加模块,用于将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列;
切换模块,用于根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据。
优选地,所述装置还包括:
合成模块,用于在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之后,从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据。
优选地,所述文件解码模块,具体用于从所述伴唱音频编码文件中逐帧解码得到伴唱音频数据,在解码各帧伴唱音频数据之后,从所述原唱音频编码文件中解码得到与之对应的一帧所述原唱音频数据;
所述数据添加模块,具体用于分别将所述伴唱音频数据和原唱音频数据逐帧添加到所述第二数据队列和第一数据队列。
优选地,所述装置还包括:
解码操作开启与暂停模块,用于在所述解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据之前,根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作。
优选地,所述解码操作开启与暂停模块包括:
解码操作开启子模块,用于如果所述第一数据队列或第二数据队列中的当前数据量小于预设的最小数据量,则开启解码操作;
解码操作暂停子模块,用于如果所述第一数据队列或第二数据队列中的当前数据量大于等于预设的最大数据量,则暂停解码操作。
优选地,所述装置包括:
音频数据提取和删除模块,用于在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之前,从所述第二数据队列的前端提取伴唱音频数据并播放,同时从所述第一数据队列的对应位置删除原唱音频数据。
优选地,所述切换模块,具体用于根据切换操作,将播放从所述第二数据队列的前端提取的伴唱音频数据,切换为播放从所述第一数据队列的前端开始提取的原唱音频数据。
优选地,所述装置还包括:
音频数据获取模块,用于在所述从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据之前,在播放所述原唱音频数据的同时,从音频采集设备中获取音频数据。
综上所述,依据本发明实施例,通过解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据,由于将多声道的原唱和伴唱分别存储到多声道的原唱音频编码文件和伴唱音频编码文件中,所以解码得到的原唱音频数据和对应的伴唱音频数据都是多声道的。
进一步,通过将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列,根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据,由于第一数据队列和第二数据队列的相应位置中存放着在音频播放的时间轴上处于相同位置的原唱音频数据和伴唱音频数据,使得将播放从第二数据队列中提取的伴唱音频数据切换播放从所述第一数据队列的对应位置开始提取的原唱音频数据,就实现了从播放伴唱到播放原唱的实时切换,而且无论原唱和伴唱都是多声道的,在实现实时切换的同时保证了原唱和伴唱的声音效果。
附图说明
图1示出了本发明音频的实时切换方法的一种实施例的步骤流程图;
图2示出了本发明音频的实时切换方法的另一种实施例的步骤流程图;
图3示出了本发明音频的实时切换装置的一种实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明音频的实时切换方法的一种实施例的步骤流程图,具体可以包括如下步骤:
步骤101,解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据。
声道(Sound Channel)是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。编码是指把数字化声音信息按一定数据格式表示,它的实现方法是靠各种不同的压缩方法将数据编码压缩。音频编码文件是指多声道的音频数据采用某种编码方式进行编码后存储的文件。一般获取音频数据的方法是:采用固定的时间间隔,对音频电压采样,并将结果以某种分辨率存储。采样的时间间隔可以有不同的标准。因此,采样率,分辨率和声道数目(例如立体声为双声道)是音频文件格式的关键参数。
解码是指将信息从已经编码的形式恢复到编码前原状的过程。解码,就是编码的逆过程,将音频编码文件解码成可以用来播放的音频数据,然后播放。
PCM(英文名:Pulse-code modulation,中文名:脉冲编码调制)是一种模拟信号的数字化方法。数字模式下,音频数据是PCM编码的,例如:WAV文件中的音频数据。但是PCM编码体积庞大,不利于传输,于是经过压缩编码使其体积变下,例如WAV文件编码成MP3文件。在播放MP3文件时,是先将MP3文件解码成PCM编码的音频数据,然后播放。
在本发明实施例中,原唱是指有主唱人声的音乐,伴唱是指没有主唱人声的音乐,将原唱和伴唱分别保存到多声道的原唱音频编码文件和伴唱音频编码文件中,通过解码程序,得到的原唱音频数据和伴唱音频数据都是多声道的。与原唱音频数据相应的伴唱音频数据是指与原唱音频数据在音频播放的时间轴上处于相同位置的伴唱音频数据。
具体而言,在解码多声道的原唱音频编码文件和伴唱音频编码文件时,一种实现方式是同时以相同的速度解码原唱音频编码文件和伴唱音频编码文件,另一种实现方式是先解码原唱音频编码文件得到一段原唱音频数据,紧接着解码伴唱音频编码文件得到相应的一段伴唱音频数据,或者先解码伴唱音频编码文件得到一段伴唱音频数据,紧接着解码原唱音频编码文件得到相应的一段原唱音频数据。
步骤102,将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列。
在本发明实施例中,将解码得到的原唱音频数据添加到第一数据队列,将对应的伴唱音频数据添加到第二数据队列,其中原唱音频数据在第一数据队列中按照解码的顺序排列,伴唱音频数据在第二数据队列中按照解码的顺序排列,也就是说在第一数据队列的某个位置提取出原唱音频数据,那么就可以在第二数据队列的相应位置提取到相应的伴唱音频数据。
步骤103,根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据。
在本发明实施例中,切换操作包括人工的切换选择操作、设置好的机器切换操作。从第二数据队列中提取伴唱音频数据并播放,然后根据切换操作,切换为从第一数据队列的相应位置开始提取原唱音频数据并播放,实现从播放伴唱到播放原唱的实时切换。
在实际应用中,也可以根据切换操作,将播放从所述第一数据队列中提取的原唱音频数据,切换为播放从所述第二数据队列的对应位置开始提取的伴唱音频数据,实现从播放原唱到播放伴唱的实时切换。
综上所述,依据本发明实施例,通过解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据,由于将多声道的原唱和伴唱分别存储到多声道的原唱音频编码文件和伴唱音频编码文件中,所以解码得到的原唱音频数据和对应的伴唱音频数据都是多声道的。
进一步,通过将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列,根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据,由于第一数据队列和第二数据队列的相应位置中存放着在音频播放的时间轴上处于相同位置的原唱音频数据和伴唱音频数据,使得将播放从第二数据队列中提取的伴唱音频数据切换播放从所述第一数据队列的对应位置开始提取的原唱音频数据,就实现了从播放伴唱到播放原唱的实时切换,而且无论原唱和伴唱都是多声道的,在实现实时切换的同时保证了原唱和伴唱的声音效果。
在本发明实施例中,优选地,所述解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据的一种实现方式是从所述伴唱音频编码文件中逐帧解码得到伴唱音频数据,在解码各帧伴唱音频数据之后,从所述原唱音频编码文件中解码得到与之对应的一帧所述原唱音频数据。相应的,所述将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列的实现方式是分别将所述伴唱音频数据和原唱音频数据逐帧添加到所述第二数据队列和第一数据队列。
具体而言,音频数据在被播放前,首先启动解码程序,之后,先解码一帧伴唱音频数据放入伴唱的第二数据队列,紧接着解码一帧原唱音频数据放入原唱的第一数据队列,如此逐帧解码伴唱音频数据和原唱音频数据,并逐帧添加到第二数据队列和第一数据队列中。实际应用中,也可以先开始解码一帧原唱音频数据再解码一帧伴唱音频数据也是可以的。这样在第一数据队列和第二数据队列中相应的位置上刚好存储着一帧原唱音频数据和相应的一帧伴唱音频数据。
参照图2,示出了本发明音频的实时切换方法的另一种实施例的步骤流程图,具体可以包括如下步骤:
步骤201,根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作。
在本发明实施例中,第一数据队列中的当前数据量是指第一数据队列中的原唱音频数据的数据量,第二数据队列中的当前数据量是指第一数据队列中的伴唱音频数据的数据量,随着解码音频数据放入数据队列或从数据队列中取出音频数据,第一数据队列和第二数据队列中的当前数据量会增加或减少。根据第一数据队列或第二数据队列中的当前数据量,判断是否需要开启解码操作,如果当前数据量达到一定的数量,就可以暂停解码操作,等到当前数据量减少到一定的数量,再开启解码操作。
在本发明实施例中,优选地,所述根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作的一种实现方式是如果所述第一数据队列或第二数据队列中的当前数据量小于预设的最小数据量,则开启解码操作;如果所述第一数据队列或第二数据队列中的当前数据量大于等于预设的最大数据量,则暂停解码操作。
具体而言,预设一个最小数据量和一个最大数据量,用来控制数据队列中音频数据的多少。如果第一数据队列或第二数据队列中的当前数据量小于预设的最小数据量,则开启解码操作;如果第一数据队列或第二数据队列中的当前数据量大于等于预设的最大数据量,则暂停解码操作。
步骤202,解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据。
步骤203,将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列。
步骤204,从所述第二数据队列的前端提取伴唱音频数据并播放,同时从所述第一数据队列的对应位置删除原唱音频数据。
在本发明实施例中,音频数据从数据队列的后端添加,从数据队列的前端提取,当播放从第二数据队列的前端提取的伴唱音频数据时,从第一数据队列的对应位置删除相应的原唱音频数据。例如从第二数据队列的前端取出一帧伴唱音频数据,并播放该帧伴唱音频数据,同时,从第一数据队列的前端删除一帧原唱音频数据,这样保证两个数据队列的前端的音频数据刚好在播放时间轴上是原唱和伴唱相应的音频。
步骤205,根据切换操作,将播放从所述第二数据队列的前端提取的伴唱音频数据,切换为播放从所述第一数据队列的前端开始提取的原唱音频数据。
在本发明实施例中,切换操作包括人工的切换选择操作、设置好的机器切换操作。从第二数据队列的前端提取伴唱音频数据并播放,然后根据切换操作,切换为从第一数据队列的的前端开始提取原唱音频数据并播放,因为两个数据队列的前端的音频数据刚好在播放时间轴上是原唱和伴唱相应的音频,实现从播放伴唱到播放原唱的实时切换。
步骤206,在播放所述原唱音频数据的同时,从音频采集设备中获取音频数据。
在本发明实施例中,在播放原唱音频数据的同时,从音频采集设备中获取当前录制的音频数据。唱歌应用中,在播放原唱音频数据或伴唱音频数据时,需要开启音频采集设备录制唱歌人歌唱的声音。实际应用中,播放伴唱音频数据时,也需要从音频采集设备中获取音频数据。
步骤207,从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据。
在本发明实施例中,从第一数据队列的提取的原唱音频数据并播放的同时,从第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成,因为录制的音频数据时多声道的,且从第二数据队列提取的伴唱音频数据也是多声道的,所以得到的合成音频数据也是多声道的。
综上所述,依据本发明实施例,通过根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作,由于数据队列中可以存储的音频数据小于音频编码文件中音频数据的总量,所以需要控制解码操作的开启和暂停。通过解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据,由于将多声道的原唱和伴唱分别存储到多声道的原唱音频编码文件和伴唱音频编码文件中,所以解码得到的原唱音频数据和对应的伴唱音频数据都是多声道的。
进一步,通过将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列,从所述第二数据队列的前端提取伴唱音频数据并播放,同时从所述第一数据队列的对应位置删除原唱音频数据,根据切换操作,将播放从所述第二数据队列的前端提取的伴唱音频数据,切换为播放从所述第一数据队列的前端开始提取的原唱音频数据,由于第一数据队列和第二数据队列的前端存放着在音频播放的时间轴上处于相同位置的原唱音频数据和伴唱音频数据,使得将播放从第二数据队列的前端提取的伴唱音频数据切换播放从所述第一数据队列的前端开始提取的原唱音频数据,就实现了从播放伴唱到播放原唱的实时切换,而且无论原唱和伴唱都是多声道的,在实现实时切换的同时保证了原唱和伴唱的声音效果。
再进一步,通过在播放所述原唱音频数据的同时,从音频采集设备中获取音频数据,从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据,使得合成的音频数据也是多声道的,提高了合成的用户作品的声音效果。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明音频的实时切换装置的一种实施例的结构框图,具体可以包括如下模块:
文件解码模块301,用于解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据;
数据添加模块302,用于将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列;
切换模块303,用于根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据。
在本发明实施例中,优选地,所述装置还包括:
合成模块,用于在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之后,从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据。
在本发明实施例中,优选地,所述文件解码模块301,具体用于从所述伴唱音频编码文件中逐帧解码得到伴唱音频数据,在解码各帧伴唱音频数据之后,从所述原唱音频编码文件中解码得到与之对应的一帧所述原唱音频数据;
所述数据添加模块302,具体用于分别将所述伴唱音频数据和原唱音频数据逐帧添加到所述第二数据队列和第一数据队列。
在本发明实施例中,优选地,所述装置还包括:
解码操作开启与暂停模块,用于在所述解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据之前,根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作。
在本发明实施例中,优选地,所述解码操作开启与暂停模块包括:
解码操作开启子模块,用于如果所述第一数据队列或第二数据队列中的当前数据量小于预设的最小数据量,则开启解码操作;
解码操作暂停子模块,用于如果所述第一数据队列或第二数据队列中的当前数据量大于等于预设的最大数据量,则暂停解码操作。
在本发明实施例中,优选地,所述装置包括:
音频数据提取和删除模块,用于在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之前,从所述第二数据队列的前端提取伴唱音频数据并播放,同时从所述第一数据队列的对应位置删除原唱音频数据。
在本发明实施例中,优选地,所述切换模块303,具体用于根据切换操作,将播放从所述第二数据队列的前端提取的伴唱音频数据,切换为播放从所述第一数据队列的前端开始提取的原唱音频数据。
在本发明实施例中,优选地,所述装置还包括:
音频数据获取模块,用于在所述从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据之前,在播放所述原唱音频数据的同时,从音频采集设备中获取音频数据。
综上所述,依据本发明实施例,通过解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据,由于将多声道的原唱和伴唱分别存储到多声道的原唱音频编码文件和伴唱音频编码文件中,所以解码得到的原唱音频数据和对应的伴唱音频数据都是多声道的。
进一步,通过将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列,根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据,由于第一数据队列和第二数据队列的相应位置中存放着在音频播放的时间轴上处于相同位置的原唱音频数据和伴唱音频数据,使得将播放从第二数据队列中提取的伴唱音频数据切换播放从所述第一数据队列的对应位置开始提取的原唱音频数据,就实现了从播放伴唱到播放原唱的实时切换,而且无论原唱和伴唱都是多声道的,在实现实时切换的同时保证了原唱和伴唱的声音效果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种音频的实时切换方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种音频的实时切换方法,其特征在于,包括:
解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据;
将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列;
根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据;
其中,将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列,包括:
分别将所述伴唱音频数据和原唱音频数据逐帧添加到所述第二数据队列和第一数据队列。
2.根据权利要求1所述的方法,其特征在于,在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之后,所述方法还包括:
从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据。
3.根据权利要求1所述的方法,其特征在于,所述解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据包括:
从所述伴唱音频编码文件中逐帧解码得到伴唱音频数据,在解码各帧伴唱音频数据之后,从所述原唱音频编码文件中解码得到与之对应的一帧所述原唱音频数据。
4.根据权利要求1所述的方法,其特征在于,在所述解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据之前,所述方法还包括:
根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作包括:
如果所述第一数据队列或第二数据队列中的当前数据量小于预设的最小数据量,则开启解码操作;
如果所述第一数据队列或第二数据队列中的当前数据量大于等于预设的最大数据量,则暂停解码操作。
6.根据权利要求1所述的方法,其特征在于,在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之前,所述方法包括:
从所述第二数据队列的前端提取伴唱音频数据并播放,同时从所述第一数据队列的对应位置删除原唱音频数据。
7.根据权利要求6所述的方法,其特征在于,所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据包括:
根据切换操作,将播放从所述第二数据队列的前端提取的伴唱音频数据,切换为播放从所述第一数据队列的前端开始提取的原唱音频数据。
8.根据权利要求2所述的方法,其特征在于,在所述从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据之前,所述方法还包括:
在播放所述原唱音频数据的同时,从音频采集设备中获取音频数据。
9.一种音频的实时切换装置,其特征在于,包括:
文件解码模块,用于解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据;
数据添加模块,用于将所述原唱音频数据和对应的伴唱音频数据分别添加到按序排列的第一数据队列和第二数据队列;
切换模块,用于根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据;
其中,所述数据添加模块,具体用于分别将所述伴唱音频数据和原唱音频数据逐帧添加到所述第二数据队列和第一数据队列。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
合成模块,用于在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之后,从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据。
11.根据权利要求9所述的装置,其特征在于,所述文件解码模块,具体用于从所述伴唱音频编码文件中逐帧解码得到伴唱音频数据,在解码各帧伴唱音频数据之后,从所述原唱音频编码文件中解码得到与之对应的一帧所述原唱音频数据。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
解码操作开启与暂停模块,用于在所述解码多声道的原唱音频编码文件和伴唱音频编码文件,得到多声道的原唱音频数据和对应的伴唱音频数据之前,根据所述第一数据队列或第二数据队列中的当前数据量,开启或暂停解码操作。
13.根据权利要求12所述的装置,其特征在于,所述解码操作开启与暂停模块包括:
解码操作开启子模块,用于如果所述第一数据队列或第二数据队列中的当前数据量小于预设的最小数据量,则开启解码操作;
解码操作暂停子模块,用于如果所述第一数据队列或第二数据队列中的当前数据量大于等于预设的最大数据量,则暂停解码操作。
14.根据权利要求9所述的装置,其特征在于,所述装置包括:
音频数据提取和删除模块,用于在所述根据切换操作,将播放从所述第二数据队列中提取的伴唱音频数据,切换为播放从所述第一数据队列的对应位置开始提取的原唱音频数据之前,从所述第二数据队列的前端提取伴唱音频数据并播放,同时从所述第一数据队列的对应位置删除原唱音频数据。
15.根据权利要求14所述的装置,其特征在于,所述切换模块,具体用于根据切换操作,将播放从所述第二数据队列的前端提取的伴唱音频数据,切换为播放从所述第一数据队列的前端开始提取的原唱音频数据。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括:
音频数据获取模块,用于在所述从所述第二数据队列的对应位置提取伴唱音频数据,和录制的音频数据合成得到多声道的合成音频数据之前,在播放所述原唱音频数据的同时,从音频采集设备中获取音频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611146427.8A CN108461086B (zh) | 2016-12-13 | 2016-12-13 | 一种音频的实时切换方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611146427.8A CN108461086B (zh) | 2016-12-13 | 2016-12-13 | 一种音频的实时切换方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108461086A CN108461086A (zh) | 2018-08-28 |
CN108461086B true CN108461086B (zh) | 2020-05-15 |
Family
ID=63229009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611146427.8A Active CN108461086B (zh) | 2016-12-13 | 2016-12-13 | 一种音频的实时切换方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108461086B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109410902A (zh) * | 2018-11-20 | 2019-03-01 | 福建海媚数码科技有限公司 | 一种基于音频信息的卡拉ok智能导唱方法及系统 |
CN112929792B (zh) * | 2021-01-21 | 2022-06-28 | 稿定(厦门)科技有限公司 | 基于Sox的音频处理方法、介质、设备及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848690A (zh) * | 2004-09-17 | 2006-10-18 | 广州广晟数码技术有限公司 | 多声道数字音频编码设备及其方法 |
CN101131816A (zh) * | 2007-09-30 | 2008-02-27 | 炬力集成电路设计有限公司 | 一种音频文件生成方法、装置及数码播放器 |
CN103474078A (zh) * | 2013-09-17 | 2013-12-25 | 惠州华阳通用电子有限公司 | 一种混音实现方法 |
CN104143325A (zh) * | 2014-07-18 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 伴奏/原唱音频数据切换方法和系统 |
CN104318933A (zh) * | 2014-08-26 | 2015-01-28 | 北京洛哈技术有限公司 | 一种原伴唱切换方法及装置 |
WO2015111949A1 (ko) * | 2014-01-23 | 2015-07-30 | 재단법인 다차원 스마트 아이티 융합시스템 연구단 | 보컬 하모닉 코딩을 위한 인코딩 장치, 디코딩 장치 및 그 방법 |
CN105336333A (zh) * | 2014-08-12 | 2016-02-17 | 北京天籁传音数字技术有限公司 | 多声道声音信号编码方法、解码方法及装置 |
CN105551512A (zh) * | 2015-12-17 | 2016-05-04 | 天翼爱音乐文化科技有限公司 | 音频格式转换方法和装置 |
CN105741835A (zh) * | 2016-03-18 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种音频信息处理方法及终端 |
CN105989824A (zh) * | 2015-02-16 | 2016-10-05 | 北京天籁传音数字技术有限公司 | 一种移动设备的卡拉ok系统及移动设备 |
-
2016
- 2016-12-13 CN CN201611146427.8A patent/CN108461086B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848690A (zh) * | 2004-09-17 | 2006-10-18 | 广州广晟数码技术有限公司 | 多声道数字音频编码设备及其方法 |
CN101131816A (zh) * | 2007-09-30 | 2008-02-27 | 炬力集成电路设计有限公司 | 一种音频文件生成方法、装置及数码播放器 |
CN103474078A (zh) * | 2013-09-17 | 2013-12-25 | 惠州华阳通用电子有限公司 | 一种混音实现方法 |
WO2015111949A1 (ko) * | 2014-01-23 | 2015-07-30 | 재단법인 다차원 스마트 아이티 융합시스템 연구단 | 보컬 하모닉 코딩을 위한 인코딩 장치, 디코딩 장치 및 그 방법 |
CN104143325A (zh) * | 2014-07-18 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 伴奏/原唱音频数据切换方法和系统 |
CN105336333A (zh) * | 2014-08-12 | 2016-02-17 | 北京天籁传音数字技术有限公司 | 多声道声音信号编码方法、解码方法及装置 |
CN104318933A (zh) * | 2014-08-26 | 2015-01-28 | 北京洛哈技术有限公司 | 一种原伴唱切换方法及装置 |
CN105989824A (zh) * | 2015-02-16 | 2016-10-05 | 北京天籁传音数字技术有限公司 | 一种移动设备的卡拉ok系统及移动设备 |
CN105551512A (zh) * | 2015-12-17 | 2016-05-04 | 天翼爱音乐文化科技有限公司 | 音频格式转换方法和装置 |
CN105741835A (zh) * | 2016-03-18 | 2016-07-06 | 腾讯科技(深圳)有限公司 | 一种音频信息处理方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN108461086A (zh) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5394931B2 (ja) | オブジェクトベースオーディオ信号の復号化方法及びその装置 | |
US10776422B2 (en) | Dual sound source audio data processing method and apparatus | |
KR102124547B1 (ko) | 인코딩된 오디오 메타데이터-기반 등화 | |
US11170791B2 (en) | Systems and methods for implementing efficient cross-fading between compressed audio streams | |
CN104718572B (zh) | 音频编码方法和装置、音频解码方法和装置及采用该方法和装置的多媒体装置 | |
KR101227932B1 (ko) | 다채널 멀티트랙 오디오 시스템 및 오디오 처리 방법 | |
CN101131816B (zh) | 一种音频文件生成方法、装置及数码播放器 | |
JP2010515944A (ja) | オーディオデコーダ | |
CN109068163B (zh) | 一种音视频合成系统及其合成方法 | |
JP2005352396A (ja) | 音響信号符号化装置および音響信号復号装置 | |
KR20020071691A (ko) | 오디오 데이터 편집 방법과 이를 적용한 기록매체 및디지털 오디오 플레이어 | |
CN108461086B (zh) | 一种音频的实时切换方法和装置 | |
TW202123220A (zh) | 使用方向性元資料之多通道音頻編碼及解碼 | |
Marchand et al. | DReaM: a novel system for joint source separation and multi-track coding | |
KR102431737B1 (ko) | 멀티미디어 데이터에서 하이라이트를 찾는 방법 및 그를 이용한 장치 | |
KR20210113342A (ko) | 고해상도 오디오 코딩 | |
JP4618634B2 (ja) | 圧縮オーディオデータ処理方法 | |
CN111866542B (zh) | 音频信号处理方法、多媒体信息处理方法、装置及电子设备 | |
KR20120071072A (ko) | 객체 기반 오디오를 제공하는 방송 송신 장치 및 방법, 그리고 방송 재생 장치 및 방법 | |
CN108352165A (zh) | 解码装置、解码方法以及程序 | |
KR100664637B1 (ko) | 악곡 재생 장치 및 방법과 컴퓨터 판독 가능한 기억 매체 | |
WO2019051689A1 (zh) | 一种用于智能终端的声音控制方法及声音控制装置 | |
US11961538B2 (en) | Systems and methods for implementing efficient cross-fading between compressed audio streams | |
KR100793023B1 (ko) | 오디오 음원 표시 방법 및 그 장치 | |
KR20210027330A (ko) | 객체 기반 오디오를 제공하는 방송 송신 장치 및 방법, 그리고 방송 재생 장치 및 방법 |
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 |