一種歌曲拼接算法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及音頻處理技術(shù)領(lǐng)域,尤其涉及一種歌曲拼接算法及裝置。
【背景技術(shù)】
[0002]隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,歌曲拼接裝置(如手機(jī)、平板電腦、touch)及專用播放機(jī)等對(duì)音樂(lè)的追求也越來(lái)越來(lái)。目前來(lái)看,現(xiàn)有技術(shù)中對(duì)音樂(lè)的功能播放僅限于提高自身的音質(zhì)處理,如通過(guò)裝置或者專用播放機(jī)中自帶的處理軟件對(duì)劣質(zhì)音頻文件進(jìn)行適當(dāng)處理,以提高播放質(zhì)量;或者,對(duì)音頻文件本身的質(zhì)量要求較高,往往正版音頻文件能播出較好的效果,而對(duì)音頻文件的局部處理,如切割技術(shù)、提取技術(shù)研宄較少。
[0003]現(xiàn)有技術(shù)中,對(duì)歌曲的剪切主要依賴于網(wǎng)絡(luò)軟件,而這些軟件往往需要人工手工操作,不能精確定位每一句歌詞的確切位置。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種歌曲拼接算法及裝置,可對(duì)歌曲音頻文件進(jìn)行解碼操作,對(duì)解碼數(shù)據(jù)進(jìn)行拼接,具有較高拼接效率。
[0005]本發(fā)明實(shí)施例第一方面提供了一種歌曲拼接算法,包括:
[0006]獲取N個(gè)歌曲音頻文件,其中,N為大于或等于I的整數(shù);
[0007]按照預(yù)設(shè)順序?qū)⑺鯪個(gè)歌曲音頻文件進(jìn)行拼接,以得到拼接歌曲音頻文件。
[0008]本發(fā)明實(shí)施例第二方面提供了一種歌曲拼接裝置,包括:
[0009]獲取單元,用于獲取N個(gè)歌曲音頻文件,其中,N為大于或等于I的整數(shù);
[0010]拼接單元,用于按照預(yù)設(shè)順序?qū)⑺鯪個(gè)歌曲音頻文件進(jìn)行拼接,以得到拼接歌曲音頻文件。
[0011]本發(fā)明實(shí)施例獲取N個(gè)歌曲音頻文件,其中,N為大于或等于I的整數(shù);按照預(yù)設(shè)順序?qū)⑺鯪個(gè)歌曲音頻文件進(jìn)行拼接,以得到拼接歌曲音頻文件。采用本發(fā)明實(shí)施例可對(duì)歌曲音頻文件進(jìn)行解碼操作,以獲取解碼音頻數(shù)據(jù),對(duì)解碼音頻數(shù)據(jù)進(jìn)行拼接,得到拼接歌曲音頻文件。
【附圖說(shuō)明】
[0012]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例、描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明實(shí)施例的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0013]圖1為本發(fā)明實(shí)施例提供的一種歌曲拼接算法的第一實(shí)施例流程示意圖;
[0014]圖2為本發(fā)明實(shí)施例提供的一種歌曲拼接算法的第二實(shí)施例流程示意圖;
[0015]圖3為本發(fā)明實(shí)施例提供的一種歌曲拼接算法的第三實(shí)施例流程示意圖;
[0016]圖4為本發(fā)明實(shí)施例提供的一種歌曲拼接算法的第四實(shí)施例流程示意圖;
[0017]圖5為本發(fā)明實(shí)施例提供的一種歌曲拼接裝置的第一實(shí)施例結(jié)構(gòu)示意圖;
[0018]圖6為本發(fā)明實(shí)施例提供的一種歌曲拼接裝置的第二實(shí)施例結(jié)構(gòu)示意圖;
[0019]圖7為本發(fā)明實(shí)施例提供的一種歌曲拼接裝置的第三實(shí)施例結(jié)構(gòu)示意圖;
[0020]圖8為本發(fā)明實(shí)施例提供的一種歌曲拼接裝置的第四實(shí)施例結(jié)構(gòu)示意圖;
[0021]圖9為本發(fā)明實(shí)施例提供的一種歌曲拼接裝置的第五實(shí)施例結(jié)構(gòu)示意圖;
[0022]圖10為本發(fā)明實(shí)施例提供的一種歌曲拼接裝置的第六實(shí)施例結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明實(shí)施例一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明實(shí)施例中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明實(shí)施例保護(hù)的范圍。
[0024]實(shí)現(xiàn)中,本發(fā)明實(shí)施例中,裝置可以包括但不限于:筆記本電腦、手機(jī)、平板電腦、智能可穿戴設(shè)備、播放機(jī)、MP3、MP4、智能電視、機(jī)頂盒、服務(wù)器等等。歌曲拼接裝置的系統(tǒng)指歌曲拼接裝置的操作系統(tǒng),可以包括但不限于=Android系統(tǒng)、塞班系統(tǒng)、Windows系統(tǒng)、1S (蘋(píng)果公司開(kāi)發(fā)的移動(dòng)操作系統(tǒng))系統(tǒng)等等。需要說(shuō)明的是,Android裝置指Android系統(tǒng)的裝置,塞班裝置指塞班系統(tǒng)的裝置,等等。上述裝置僅是舉例,而非窮舉,包含但不限于上述裝置。
[0025]實(shí)現(xiàn)中,本發(fā)明實(shí)施例中,歌曲可以包括但不限于:中文歌曲、英文歌曲、俄文歌曲、西班牙歌曲、古典歌曲、流行音樂(lè)歌曲、搖滾音樂(lè)歌曲、輕音樂(lè)歌曲、說(shuō)唱歌曲、清唱歌曲、視頻中的歌曲等等。上述歌曲僅是舉例,而非窮舉,包含但不限于上述歌曲。
[0026]實(shí)現(xiàn)過(guò)程中,歌曲的格式可包括但不僅限于:MP3、MP4、WMV, WAV、FLV等等。上述歌曲的格式僅是舉例,而非窮舉,包含但不限于上述歌曲的格式。
[0027]結(jié)合圖1至圖10對(duì)本發(fā)明實(shí)施例提供的一種歌曲拼接算法及裝置進(jìn)行描述。
[0028]請(qǐng)參閱圖1,圖1是本發(fā)明實(shí)施例提供的一種歌曲拼接算法的第一實(shí)施例流程示意圖。本實(shí)施例中所描述的歌曲拼接算法的方法,包括步驟:
[0029]S101、獲取N個(gè)歌曲音頻文件,其中,N為大于或等于I的整數(shù)。
[0030]具體地,獲取N個(gè)歌曲音頻文件,可通過(guò)程序讀取N個(gè)歌曲音頻文件,或者可通過(guò)系統(tǒng)設(shè)置N個(gè)歌曲音頻文件。
[0031]作為一種可能的實(shí)施方式,歌曲音頻文件可包括但不僅限于:MP3歌曲音頻文件、WAV歌曲音頻文件、WMV歌曲音頻文件和CD歌曲音頻文件。
[0032]S102、按照預(yù)設(shè)順序?qū)⑺鯪個(gè)歌曲音頻文件進(jìn)行拼接,以得到拼接歌曲音頻文件。
[0033]具體地,按照預(yù)設(shè)順序?qū)個(gè)歌曲音頻文件進(jìn)行拼接,以得到拼接歌曲音頻文件。其中,預(yù)設(shè)順序可為時(shí)間先后順序,或者用于自己定義的拼接順序。
[0034]本發(fā)明實(shí)施例獲取N個(gè)歌曲音頻文件,其中,N為大于或等于I的整數(shù);按照預(yù)設(shè)順序?qū)⑺鯪個(gè)歌曲音頻文件進(jìn)行拼接,以得到拼接歌曲音頻文件。采用本發(fā)明實(shí)施例可對(duì)歌曲音頻文件進(jìn)行解碼操作,以獲取解碼音頻數(shù)據(jù),對(duì)解碼音頻數(shù)據(jù)進(jìn)行拼接,得到拼接歌曲音頻文件。
[0035]請(qǐng)參閱圖2,圖2是本發(fā)明實(shí)施例提供的一種歌曲拼接算法的第二實(shí)施例流程示意圖,圖2為圖1中步驟S102的具體細(xì)化。本實(shí)施例中所描述的歌曲拼接算法,包括步驟:
[0036]S201、獲取所述N個(gè)歌曲音頻文件的起始位置。
[0037]具體地,獲取N個(gè)歌曲音頻文件的起始位置,可對(duì)N個(gè)歌曲音頻文件進(jìn)行分析,將其第一個(gè)片段出現(xiàn)的位置定義為歌曲音頻文件的起始位置,或者,將N個(gè)歌曲音頻文件的頭文件定義為歌曲音頻文件的起始位置。
[0038]S202、根據(jù)所述N個(gè)歌曲音頻文件的起始位置對(duì)所述N個(gè)歌曲音頻文件進(jìn)行解碼操作以得到解碼音頻數(shù)據(jù)。
[0039]具體地,根據(jù)N個(gè)歌曲音頻文件的起始位置對(duì)N個(gè)歌曲音頻文件進(jìn)行解碼操作以得到解碼音頻數(shù)據(jù)。其中,根據(jù)N個(gè)歌曲音頻文件的起始位置對(duì)N個(gè)歌曲音頻文件進(jìn)行解碼,解碼得到解碼音頻數(shù)據(jù),基于該解碼音頻數(shù)據(jù)可將歌曲分成一句一句的片段。
[0040]S203、將所述解碼音頻數(shù)據(jù)送至緩存隊(duì)列。
[0041]具體地,將解碼音頻數(shù)據(jù)送至緩存隊(duì)列,可按照解碼的時(shí)間先后順序?qū)⒔獯a音頻數(shù)據(jù)送至緩存隊(duì)列。
[0042]S204、將所述緩存隊(duì)列中的解碼音頻數(shù)據(jù)按照預(yù)設(shè)順序進(jìn)行拼接,以獲取拼接歌曲音頻文件。
[0043]具體地,將緩存隊(duì)列中的解碼音頻數(shù)據(jù)按照預(yù)設(shè)順序進(jìn)行拼接,以獲取拼接歌曲音頻文件。其中,預(yù)設(shè)順序可包括但不僅限于:時(shí)間先后順序、隨機(jī)順序、用戶自己設(shè)置的順序等等。
[0044]作為一種可能的實(shí)施方式,所述獲取所述N個(gè)歌曲音頻文件之前,可設(shè)置所述解碼操作的控制解碼參數(shù)。其中,解碼參數(shù)可包括但不僅限于:解碼類型、解碼速度、解碼方式等等。
[0045]作為一種可能的實(shí)施方式,以分析開(kāi)始兩首歌曲音頻文件為例,假如使用DSP解碼器,可設(shè)置DSP解碼參數(shù),后臺(tái)線程將文件中的原始音頻數(shù)據(jù)的起始位置找到,DSP開(kāi)始解碼,后臺(tái)線程將解碼音頻數(shù)據(jù)送音頻數(shù)據(jù)到緩存隊(duì)列,再?gòu)木彺骊?duì)列送出至DSP解碼輸出聲音。當(dāng)將第一首歌曲音頻文件的音頻數(shù)據(jù)全部讀到緩存隊(duì)列中,就找到第二首歌曲音頻文件的音頻數(shù)據(jù)的起始位置。將該位置音頻數(shù)據(jù)直接在前面一首歌曲音頻文件的音頻數(shù)據(jù)(結(jié)尾幀frame)后面送入緩沖隊(duì)列(buffer)中,再將buffer中的數(shù)據(jù)順序送到DSP解碼,這樣就能保證兩首歌曲的音頻數(shù)據(jù)是連續(xù)順序進(jìn)入DSP解碼的。通常情況下,讀取USB設(shè)備的速度要快于解碼播放的速度,但第一首歌曲還有20秒的數(shù)據(jù)要解碼播放的時(shí)候,第一首歌曲的音頻數(shù)據(jù)就已經(jīng)完成緩存了,這時(shí)解析第二首歌曲,并開(kāi)始將第二首數(shù)據(jù)音頻數(shù)據(jù)緩存,對(duì)用戶來(lái)說(shuō)完全連續(xù)解碼。
[0046]本發(fā)明實(shí)施例獲取所述N個(gè)歌曲音頻文件的起始位置;根據(jù)所述N個(gè)歌曲音頻文件的起始位置對(duì)所述N個(gè)歌曲音頻文件進(jìn)行解碼操作以得到解碼音頻數(shù)據(jù);將所述解碼音頻數(shù)據(jù)送至緩存隊(duì)列;將所述緩存隊(duì)列中的解碼音頻數(shù)據(jù)按照預(yù)設(shè)順序進(jìn)行拼接,以得到拼接歌曲音頻文件。采用本發(fā)明實(shí)施例可對(duì)歌曲音頻文件進(jìn)行解碼操作,以獲取解碼音頻數(shù)據(jù),對(duì)解碼音頻數(shù)據(jù)進(jìn)行拼接,得到拼接歌曲音頻文件。
[0047]請(qǐng)參閱圖3,圖3是本發(fā)明實(shí)施例提供的一種歌