音頻文件導(dǎo)出方法和裝置的制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種音頻文件導(dǎo)出方法和裝置,涉及音頻技術(shù)領(lǐng)域,該方法包括:周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取第一音頻文件的全部音色數(shù)據(jù),第一音頻文件的格式為樂(lè)器數(shù)字接口MIDI格式,并根據(jù)第一音頻文件的全部音色數(shù)據(jù)生成與第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。能夠大大縮小用MIDI音頻文件導(dǎo)出音樂(lè)文件的時(shí)間,提高導(dǎo)出效率。
【專(zhuān)利說(shuō)明】
音頻文件導(dǎo)出方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及音頻處理技術(shù)領(lǐng)域,具體地,涉及一種音頻文件導(dǎo)出方法和裝置。
【背景技術(shù)】
[0002]MIDI (Musical Instrument Digital Interface)是音樂(lè)設(shè)備數(shù)字接口。MIDI協(xié)議作為一種通用的通信協(xié)議,可以使電子樂(lè)器與電子樂(lè)器、電子樂(lè)器與電腦之間進(jìn)行通信。MIDI傳輸?shù)牟皇锹曇粜盘?hào),而是音符、控制參數(shù)等指令,它指示MIDI設(shè)備要做什么,怎么做,如演奏哪個(gè)音符、多大音量等。現(xiàn)代音樂(lè)大都是用MIDI加上音色庫(kù)來(lái)制作合成的。
[0003]在現(xiàn)有技術(shù)中,將MIDI格式的音頻文件轉(zhuǎn)換成音樂(lè)的過(guò)程,通常需要從音色庫(kù)中獲取MIDI音頻文件中的每個(gè)音符對(duì)應(yīng)的數(shù)據(jù),也就相當(dāng)于將整個(gè)MIDI文件播放一遍,因此現(xiàn)有技術(shù)中通過(guò)MIDI文件生成音樂(lè)所用的時(shí)間通常與MIDI文件的播放時(shí)間是相同的。比如,一個(gè)可以播放400秒的MIDI文件,根據(jù)其生成音樂(lè)文件的時(shí)間也是400秒??梢?jiàn)利用上述現(xiàn)有技術(shù)將MIDI格式的音頻文件轉(zhuǎn)換成音樂(lè)文件的過(guò)程耗時(shí)長(zhǎng),效率低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的提供一種音頻文件導(dǎo)出方法和裝置,用以解決現(xiàn)有技術(shù)將MIDI格式的音頻文件轉(zhuǎn)換成音樂(lè)的過(guò)程耗時(shí)長(zhǎng),效率低的問(wèn)題。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種音頻文件導(dǎo)出方法,所述方法包括:
[0006]周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式;
[0007]根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。
[0008]可選的,所述周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù)包括:
[0009]周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),以及所述規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的人聲音頻文件的人聲數(shù)據(jù),直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù);其中,所述人聲音頻文件是預(yù)先存儲(chǔ)的錄制有用戶(hù)哼唱的音頻文件。
[0010]可選的,所述周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),以及所述規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的人聲音頻文件的人聲數(shù)據(jù),直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)包括:
[0011]在當(dāng)前處理周期中,根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng);
[0012]根據(jù)所述當(dāng)前處理周期的采樣點(diǎn)起點(diǎn),以及所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)確定所述當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段,以及確定所述當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段;
[0013]在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的的人聲數(shù)據(jù);
[0014]周期性的執(zhí)行所述根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)至所述在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的的人聲數(shù)據(jù)在步驟,直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)。
[0015]可選的,處理周期的數(shù)量是根據(jù)所述所述規(guī)定數(shù)量、所述第二音頻文件的時(shí)長(zhǎng),以及所述第一采樣率確定的;以及,
[0016]在單位時(shí)間內(nèi)能夠執(zhí)行的處理周期的數(shù)量是根據(jù)處理器的處理速度確定的。
[0017]可選的,所述根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件包括:
[0018]根據(jù)所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)生成所述第二音頻文件。
[0019 ]本發(fā)明提供一種音頻文件導(dǎo)出裝置,所述裝置包括:
[0020]數(shù)據(jù)獲取模塊,用于周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式;
[0021]文件導(dǎo)出模塊,用于根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。
[0022]可選的,所述數(shù)據(jù)獲取模塊用于:
[0023]周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),以及所述規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的人聲音頻文件的人聲數(shù)據(jù),直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù);其中,所述人聲音頻文件是預(yù)先存儲(chǔ)的錄制有用戶(hù)哼唱的音頻文件。
[0024]可選的,所述數(shù)據(jù)獲取模塊,包括:
[0025]時(shí)長(zhǎng)確定子模塊,用于在當(dāng)前處理周期中,根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng);
[0026]時(shí)段確定子模塊,用于根據(jù)所述當(dāng)前處理周期的采樣點(diǎn)起點(diǎn),以及所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)確定所述當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段,以及確定所述當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段;
[0027]數(shù)據(jù)獲取子模塊,用于在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的的人聲數(shù)據(jù);
[0028]周期性的執(zhí)行所述根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)至所述在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的的人聲數(shù)據(jù)在步驟,直至所述數(shù)據(jù)獲取子模塊獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)。
[0029]可選的,處理周期的數(shù)量是根據(jù)所述所述規(guī)定數(shù)量、所述第二音頻文件的時(shí)長(zhǎng),以及所述第一采樣率確定的;以及,
[0030]在單位時(shí)間內(nèi)能夠執(zhí)行的處理周期的數(shù)量是根據(jù)處理器的處理速度確定的。
[0031]可選的,所述文件導(dǎo)出模塊用于:
[0032]根據(jù)所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)生成所述第二音頻文件。
[0033]綜上所述,本發(fā)明實(shí)施例提供的音頻文件導(dǎo)出方法和裝置,通過(guò)周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式,并根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。由于在采樣率確定的情況下,MIDI音頻文件的總采樣點(diǎn)數(shù)是確定的,因此每個(gè)處理周期獲取固定采樣點(diǎn)數(shù)對(duì)應(yīng)的音色數(shù)據(jù),通過(guò)多個(gè)處理周期即可獲取全部的音色數(shù)據(jù),對(duì)于現(xiàn)有的大多數(shù)處理器而言,一秒內(nèi)可以執(zhí)行很多個(gè)處理周期,特別是對(duì)于處理能力較強(qiáng)的處理器,因此相比現(xiàn)有技術(shù)需要播放MIDI音頻文件的來(lái)生成音樂(lè)文件的方式而言,能夠大大縮小用MIDI音頻文件導(dǎo)出音樂(lè)文件的時(shí)間,提高導(dǎo)出效率。
[0034]本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的【具體實(shí)施方式】部分予以詳細(xì)說(shuō)明。
【附圖說(shuō)明】
[0035]附圖是用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與下面的【具體實(shí)施方式】一起用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0036]圖1是本發(fā)明各個(gè)實(shí)施例所涉及的一種實(shí)施環(huán)境的結(jié)構(gòu)示意圖;
[0037]圖2是本發(fā)明實(shí)施例提供的一種音頻文件導(dǎo)出方法的流程示意圖;
[0038]圖3是本發(fā)明實(shí)施例提供的另一種音頻文件導(dǎo)出方法的流程示意圖;
[0039]圖4是根據(jù)一示例性實(shí)施例示出的音頻文件導(dǎo)出裝置的框圖;
[0040]圖5是圖4所示實(shí)施例示出的一種數(shù)據(jù)獲取模塊的框圖。
【具體實(shí)施方式】
[0041]以下結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的【具體實(shí)施方式】?jī)H用于說(shuō)明和解釋本發(fā)明,并不用于限制本發(fā)明。
[0042]在介紹本發(fā)明提供的音頻文件導(dǎo)出方法之前,首先對(duì)本發(fā)明所涉及應(yīng)用場(chǎng)景進(jìn)行介紹,圖1是本發(fā)明各個(gè)實(shí)施例所涉及的一種實(shí)施環(huán)境的結(jié)構(gòu)示意圖。參見(jiàn)圖1,該實(shí)施環(huán)境可以包括:終端100和服務(wù)器200,其中終端100可以是具有聯(lián)網(wǎng)功能的電子設(shè)備,可以通過(guò)數(shù)據(jù)網(wǎng)絡(luò)(例如3G、4G網(wǎng)絡(luò)等)訪問(wèn)服務(wù)器200,或者可以通過(guò)無(wú)線局域網(wǎng)(例如W1-Fi)來(lái)訪問(wèn)服務(wù)器200。服務(wù)器200可以作為數(shù)據(jù)庫(kù)為該終端100提供海量的伴奏、MIDI音色庫(kù)、歌曲等音樂(lè)資源以及與這些資源相關(guān)的其他必要信息。其中,MIDI音色庫(kù)也可以設(shè)置在終端100。
[0043]其中,上述的終端100例如可以是智能手機(jī)、平板電腦、智能電視、智能手表、PDA(Personal Digital Assistant,個(gè)人數(shù)字助理)、便攜計(jì)算機(jī)等移動(dòng)終端,也可以是臺(tái)式計(jì)算機(jī)等固定終端。服務(wù)器200可以為一臺(tái)服務(wù)器,或者由若干臺(tái)服務(wù)器組成的服務(wù)器集群,或者可以是一個(gè)云計(jì)算服務(wù)中心。
[0044]圖2是本發(fā)明實(shí)施例提供的一種音頻文件導(dǎo)出方法的流程示意圖,參見(jiàn)圖2,本實(shí)施例以該音頻文件導(dǎo)出方法應(yīng)用于終端來(lái)舉例說(shuō)明,該終端可以為圖1所示實(shí)施環(huán)境中的終端,該方法可以包括以下步驟:
[0045]步驟201,周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式。
[0046]步驟202,根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。
[0047]綜上所述,本發(fā)明實(shí)施例提供的音頻文件導(dǎo)出方法,通過(guò)周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式,并根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件,能夠大大縮小用MIDI音頻文件導(dǎo)出音樂(lè)文件的時(shí)間,提高導(dǎo)出效率。
[0048]圖3是本發(fā)明實(shí)施例提供的另一種音頻文件導(dǎo)出方法的流程示意圖,參見(jiàn)圖3,本實(shí)施例以該音頻文件導(dǎo)出方法應(yīng)用于終端來(lái)舉例說(shuō)明,該終端可以為圖1所示實(shí)施環(huán)境中的終端,該方法可以包括:
[0049]步驟301,在當(dāng)前處理周期中,根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)。
[0050]其中,所述第一采樣率為第一音頻文件的采樣率,同樣也是將要生成的與第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件的采樣率,音色庫(kù)也采用第一采樣率。示例地,第一采樣率可以為44100(采樣點(diǎn)/秒),下面以第一音頻文件為MIDI格式的音頻文件,規(guī)定格式為WAV格式為例進(jìn)行說(shuō)明。
[0051 ]假設(shè)第一音頻文件為4/4拍(4/4拍是指以四分音符為一拍,每小節(jié)四拍),60bpm(指I分鐘60拍,I秒I拍),假設(shè)第一音頻文件的音符總時(shí)長(zhǎng)為192000tick,由于通常規(guī)定四分音符的時(shí)長(zhǎng)為480tick,則可以得出按照現(xiàn)有通過(guò)播放來(lái)導(dǎo)出的方法,如果要獲取第一音頻文件所有的音色數(shù)據(jù),則需要將時(shí)長(zhǎng)192000tick的所有音符播放一遍,需要192000tick+ 480tick = 400(秒),從而將第一音頻文件從MIDI轉(zhuǎn)換為WAV至少需要400秒的時(shí)間,可見(jiàn)耗時(shí)長(zhǎng),效率低。
[0052]本實(shí)施例中,首先根據(jù)第一音頻文件的時(shí)長(zhǎng)400秒,以及第一采樣率44100(采樣點(diǎn)/秒),可以確定第一音頻文件共需要采樣400*44100 = 17640000個(gè)采樣點(diǎn)。可以設(shè)置每個(gè)處理周期的規(guī)定數(shù)量的采樣點(diǎn)為512個(gè)采樣點(diǎn)。如果按照播放時(shí)間來(lái)計(jì)算,每秒可以獲取的音色數(shù)據(jù)實(shí)際就是44100個(gè)采樣點(diǎn)對(duì)應(yīng)的數(shù)據(jù),則512個(gè)采樣點(diǎn)折合成播放時(shí)間為512/44100秒,約為11.609毫秒。則上述的規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)就約為11.609毫秒。
[0053]步驟302,根據(jù)所述當(dāng)前處理周期的采樣點(diǎn)起點(diǎn),以及所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)確定所述當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段,以及確定所述當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段。
[0054]以步驟301中得到的時(shí)長(zhǎng)11.609毫秒為例,如果當(dāng)前處理周期是第一個(gè)處理周期,則當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段為第一音頻文件的O?11.609毫秒的時(shí)段,當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段為人聲音頻文件的O?11.609毫秒的時(shí)段。如果當(dāng)前處理周期是第一個(gè)處理周期,則當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段為第一音頻文件的11.609?23.218毫秒的時(shí)段,當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段為人聲音頻文件的11.609?23.218毫秒的時(shí)段,以此類(lèi)推。
[0055]步驟303,在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的的人聲數(shù)據(jù)。
[0056]以當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段為第一音頻文件的O?11.609毫秒的時(shí)段,當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段為人聲音頻文件的O?
11.609毫秒的時(shí)段為例,從音色庫(kù)中獲取與第一音頻文件的O?11.609毫秒的時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),以及獲取與人聲音頻文件的O?11.609毫秒的時(shí)段對(duì)應(yīng)的人聲數(shù)據(jù)。
[0057]其中,第一音頻文件文件的音色數(shù)據(jù)存儲(chǔ)在服務(wù)器中的音色庫(kù)中,或者也可以預(yù)先存儲(chǔ)在終端本地的音色庫(kù)中,人聲數(shù)據(jù)可以是由用戶(hù)哼唱產(chǎn)生的人聲數(shù)據(jù),用戶(hù)在哼唱結(jié)束后,終端根據(jù)用戶(hù)的哼唱產(chǎn)生的人聲數(shù)據(jù)生成人聲音頻文件,并進(jìn)行存儲(chǔ)??梢源鎯?chǔ)在終端本地的音色庫(kù)中,也可以上傳至服務(wù)器的音色庫(kù)中。
[0058]周期性的執(zhí)行步驟301至步驟303,直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的至少與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù),由于伴奏的時(shí)間通常不短于人聲部分的時(shí)間,因此需要至少獲取第一音頻文件中的與人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù),優(yōu)選地可以獲取整個(gè)第一音頻文件的全部音色數(shù)據(jù),當(dāng)然,如果人聲音頻文件是完整的歌,則可以獲取的第一音頻文件的全部音色數(shù)據(jù)。
[0059]由此可見(jiàn),如果是按照現(xiàn)有的通過(guò)將音符播放一遍來(lái)獲取音色數(shù)據(jù)的方法,獲取512個(gè)采樣點(diǎn)對(duì)應(yīng)的音色數(shù)據(jù)所需要的時(shí)間為11.609毫秒,而本實(shí)施例中不進(jìn)行播放,而是先通過(guò)確定當(dāng)前處理周期的512個(gè)采樣點(diǎn)所對(duì)應(yīng)的音色數(shù)據(jù)后,然后獲取這些數(shù)據(jù)。由于不需要播放,因此在獲取數(shù)據(jù)是并非是按照播放時(shí)一秒44100個(gè)采樣點(diǎn)的速度獲取數(shù)據(jù),處理器實(shí)際一秒可以獲取ri*44100個(gè)采樣點(diǎn)對(duì)應(yīng)的音色數(shù)據(jù)(或者可以理解為采用將音符播放一遍來(lái)獲取音色數(shù)據(jù)的方法,每獲取44100個(gè)采樣點(diǎn)對(duì)應(yīng)的音色數(shù)據(jù)需要I秒,而本實(shí)施例所提供的方法每獲取44100個(gè)采樣點(diǎn)對(duì)應(yīng)的音色數(shù)據(jù)只需要I/η秒),因此獲取一個(gè)處理周期512個(gè)采樣點(diǎn)對(duì)應(yīng)的音色數(shù)據(jù)所用的時(shí)間就是512/44100n秒。同理的,獲取一個(gè)處理周期512個(gè)采樣點(diǎn)對(duì)應(yīng)的人聲數(shù)據(jù)的時(shí)間也是512/44100n秒,由此看見(jiàn)可以顯著提高從MIDI導(dǎo)出音樂(lè)文件速度,其中η取值可以根據(jù)處理器的實(shí)際頻率來(lái)確定,特別是較高級(jí)的處理器η可以達(dá)到上萬(wàn),例如,根據(jù)實(shí)驗(yàn),在iphone設(shè)備上,η約等于20000,從而導(dǎo)出時(shí)長(zhǎng)為400秒的MIDI 文件的時(shí)間為 T= [512/(44100*20000) ]*[400*44100/512] =0.02 秒,遠(yuǎn)小于現(xiàn)有方法所用的400秒,大大縮短了獲取數(shù)據(jù)的時(shí)間,從而也就能大大縮短生成最終的音樂(lè)文件,SP下文所述的第二音頻文件的時(shí)間,其中[512/(44100*20000)]表示每個(gè)處理周期所用的時(shí)間,[400*44100/512]表示400秒時(shí)長(zhǎng)的MIDI文件總共包括的處理周期的數(shù)量。
[0060]步驟304,根據(jù)所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)生成與所述第二音頻文件。
[0061]綜上所述,本發(fā)明實(shí)施例提供的音頻文件導(dǎo)出方法,通過(guò)周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式,并根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。由于在采樣率確定的情況下,MIDI音頻文件的總采樣點(diǎn)數(shù)是確定的,因此每個(gè)處理周期獲取固定采樣點(diǎn)數(shù)對(duì)應(yīng)的音色數(shù)據(jù),通過(guò)多個(gè)處理周期即可獲取全部的音色數(shù)據(jù),對(duì)于現(xiàn)有的大多數(shù)處理器而言,一秒內(nèi)可以執(zhí)行很多個(gè)處理周期,特別是對(duì)于處理能力較強(qiáng)的處理器,因此相比現(xiàn)有技術(shù)需要播放MIDI音頻文件的來(lái)生成音樂(lè)文件的方式而言,能夠大大縮小用MIDI音頻文件導(dǎo)出音樂(lè)文件的時(shí)間,提高導(dǎo)出效率。
[0062]關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
[0063]圖4是根據(jù)一示例性實(shí)施例示出的音頻文件導(dǎo)出裝置的框圖,該音頻文件導(dǎo)出裝置400可以應(yīng)用于終端,該終端可以是圖1所示實(shí)施環(huán)境中的終端100,該裝置400可以通過(guò)軟件或者硬件或者二者結(jié)合的形式構(gòu)成該終端的部分或者全部,參見(jiàn)圖4,該裝置400可以包括:
[0064]數(shù)據(jù)獲取模塊410,用于周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式;
[0065]文件導(dǎo)出模塊420,用于根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。
[0066]可選的,所述數(shù)據(jù)獲取模塊410可以用于:
[0067]周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),以及所述規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的人聲音頻文件的人聲數(shù)據(jù),直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù);其中,所述人聲音頻文件是預(yù)先存儲(chǔ)的錄制有用戶(hù)哼唱的音頻文件。
[0068]可選的,圖5是圖4所示實(shí)施例示出的一種數(shù)據(jù)獲取模塊的框圖,參見(jiàn)圖5,所述數(shù)據(jù)獲取模塊410,包括:
[0069]時(shí)長(zhǎng)確定子模塊411,用于在當(dāng)前處理周期中,根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng);
[0070]時(shí)段確定子模塊412,用于根據(jù)所述當(dāng)前處理周期的采樣點(diǎn)起點(diǎn),以及所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)確定所述當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段,以及確定所述當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段;
[0071]數(shù)據(jù)獲取子模塊413,用于在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的的人聲數(shù)據(jù);
[0072]周期性的執(zhí)行所述根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)至所述在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的的人聲數(shù)據(jù)在步驟,直至所述數(shù)據(jù)獲取子模塊獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)。
[0073]可選的,處理周期的數(shù)量是根據(jù)所述所述規(guī)定數(shù)量、所述第二音頻文件的時(shí)長(zhǎng),以及所述第一采樣率確定的;以及,
[0074]在單位時(shí)間內(nèi)能夠執(zhí)行的處理周期的數(shù)量是根據(jù)處理器的處理速度確定的。
[0075]可選的,所述文件導(dǎo)出模塊420用于:
[0076]根據(jù)所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)生成所述第二音頻文件。
[0077]綜上所述,本發(fā)明實(shí)施例提供的音頻文件導(dǎo)出裝置,通過(guò)周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式,并根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。由于在采樣率確定的情況下,MIDI音頻文件的總采樣點(diǎn)數(shù)是確定的,因此每個(gè)處理周期獲取固定采樣點(diǎn)數(shù)對(duì)應(yīng)的音色數(shù)據(jù),通過(guò)多個(gè)處理周期即可獲取全部的音色數(shù)據(jù),對(duì)于現(xiàn)有的大多數(shù)處理器而言,一秒內(nèi)可以執(zhí)行很多個(gè)處理周期,特別是對(duì)于處理能力較強(qiáng)的處理器,因此相比現(xiàn)有技術(shù)需要播放MIDI音頻文件的來(lái)生成音樂(lè)文件的方式而言,能夠大大縮小用MIDI音頻文件導(dǎo)出音樂(lè)文件的時(shí)間,提高導(dǎo)出效率。
[0078]以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本發(fā)明的保護(hù)范圍。
[0079]另外需要說(shuō)明的是,在上述【具體實(shí)施方式】中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過(guò)任何合適的方式進(jìn)行組合,為了避免不必要的重復(fù),本發(fā)明對(duì)各種可能的組合方式不再另行說(shuō)明。
[0080]此外,本發(fā)明的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開(kāi)的內(nèi)容。
【主權(quán)項(xiàng)】
1.一種音頻文件導(dǎo)出方法,其特征在于,所述方法包括: 周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式; 根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù)包括: 周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),以及所述規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的人聲音頻文件的人聲數(shù)據(jù),直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù);其中,所述人聲音頻文件是預(yù)先存儲(chǔ)的錄制有用戶(hù)哼唱的音頻文件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),以及所述規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的人聲音頻文件的人聲數(shù)據(jù),直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)包括: 在當(dāng)前處理周期中,根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng); 根據(jù)所述當(dāng)前處理周期的采樣點(diǎn)起點(diǎn),以及所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)確定所述當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段,以及確定所述當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段; 在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的人聲數(shù)據(jù); 周期性的執(zhí)行所述根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)至所述在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的人聲數(shù)據(jù)在步驟,直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,處理周期的數(shù)量是根據(jù)所述所述規(guī)定數(shù)量、所述第二音頻文件的時(shí)長(zhǎng),以及所述第一采樣率確定的;以及, 在單位時(shí)間內(nèi)能夠執(zhí)行的處理周期的數(shù)量是根據(jù)處理器的處理速度確定的。5.根據(jù)權(quán)利要求2-4任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件包括: 根據(jù)所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)生成所述第二音頻文件。6.一種音頻文件導(dǎo)出裝置,其特征在于,所述裝置包括: 數(shù)據(jù)獲取模塊,用于周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),直至獲取所述第一音頻文件的全部音色數(shù)據(jù),所述第一音頻文件的格式為樂(lè)器數(shù)字接口 MIDI格式; 文件導(dǎo)出模塊,用于根據(jù)所述第一音頻文件的全部音色數(shù)據(jù)生成與所述第一音頻文件對(duì)應(yīng)的規(guī)定格式的第二音頻文件。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)獲取模塊用于: 周期性的獲取規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的第一音頻文件的音色數(shù)據(jù),以及所述規(guī)定數(shù)量的采樣點(diǎn)對(duì)應(yīng)的人聲音頻文件的人聲數(shù)據(jù),直至獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù);其中,所述人聲音頻文件是預(yù)先存儲(chǔ)的錄制有用戶(hù)哼唱的音頻文件。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述數(shù)據(jù)獲取模塊,包括: 時(shí)長(zhǎng)確定子模塊,用于在當(dāng)前處理周期中,根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng); 時(shí)段確定子模塊,用于根據(jù)所述當(dāng)前處理周期的采樣點(diǎn)起點(diǎn),以及所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)確定所述當(dāng)前處理周期對(duì)應(yīng)所述第一音頻文件的目標(biāo)時(shí)段,以及確定所述當(dāng)前處理周期對(duì)應(yīng)所述人聲音頻文件的目標(biāo)時(shí)段; 數(shù)據(jù)獲取子模塊,用于在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的人聲數(shù)據(jù); 周期性的執(zhí)行所述根據(jù)所述規(guī)定數(shù)量的采樣點(diǎn),以及所述第二音頻文件的第一采樣率確定所述規(guī)定數(shù)量的采樣點(diǎn)所對(duì)應(yīng)的時(shí)長(zhǎng)至所述在音色庫(kù)中獲取與所述第一音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的音色數(shù)據(jù),并獲取與所述人聲音頻文件的目標(biāo)時(shí)段對(duì)應(yīng)的人聲數(shù)據(jù)在步驟,直至所述數(shù)據(jù)獲取子模塊獲取所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,處理周期的數(shù)量是根據(jù)所述所述規(guī)定數(shù)量、所述第二音頻文件的時(shí)長(zhǎng),以及所述第一采樣率確定的;以及, 在單位時(shí)間內(nèi)能夠執(zhí)行的處理周期的數(shù)量是根據(jù)處理器的處理速度確定的。10.根據(jù)權(quán)利要求7-9任一項(xiàng)所述的裝置,其特征在于,所述文件導(dǎo)出模塊用于: 根據(jù)所述人聲音頻文件的全部人聲數(shù)據(jù),以及至少獲取所述第一音頻文件中的與所述人聲音頻文件對(duì)應(yīng)部分的全部音色數(shù)據(jù)生成所述第二音頻文件。
【文檔編號(hào)】G10H1/00GK105869614SQ201610188670
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年3月29日
【發(fā)明人】王靖詞
【申請(qǐng)人】北京精奇互動(dòng)科技有限公司