本發(fā)明涉及用于控制音樂(lè)混音的混音指令文件,涉及用于創(chuàng)建和執(zhí)行混音指令文件的計(jì)算機(jī)程序產(chǎn)品以及包括至少一個(gè)這樣的計(jì)算機(jī)程序產(chǎn)品的計(jì)算機(jī)設(shè)備。
背景技術(shù):
本發(fā)明涉及音樂(lè)混音的創(chuàng)建和回放。創(chuàng)建和存儲(chǔ)將音樂(lè)曲目文件操作成可以被重放的混音的音樂(lè)混音是眾所周知的。這樣的文件往往變得相當(dāng)大,因?yàn)樗鼈儼ɑ煲糁噶詈鸵魳?lè)文件本身。
國(guó)際專利申請(qǐng)wo2008/004971公開了一種創(chuàng)建混音配置的方法,其中將如何混音音樂(lè)文件的指令存儲(chǔ)在單獨(dú)的混音配置文件中,它被設(shè)置為當(dāng)混音中需要時(shí),檢索獲取音樂(lè)曲目文件。混音配置文件具有指向音樂(lè)文件的鏈接。
在上述申請(qǐng)中,可以例如通過(guò)因特網(wǎng)從各種數(shù)據(jù)庫(kù)檢索音樂(lè)曲目文件?;煲襞渲梦募鎯?chǔ)在本地,通常也在本地創(chuàng)建。在現(xiàn)有技術(shù)的應(yīng)用中,沒(méi)有預(yù)見到可以從另一臺(tái)計(jì)算機(jī)檢索混音配置文件本身。這將引起問(wèn)題,因?yàn)槲募臋z索需要一些時(shí)間,這取決于文件的大小和網(wǎng)絡(luò)的容量。同時(shí),希望能夠共享混音指令文件,甚至是實(shí)時(shí)的,即它被創(chuàng)建時(shí)即可以。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供用于音樂(lè)曲目的混音的混音配置,其適于被流傳輸。
本發(fā)明涉及用于回放音樂(lè)曲目(musictrack)的混音的混音配置文件(mixrecipefile),以及分別用于創(chuàng)建這樣的混音和播放這樣的混音的第一計(jì)算機(jī)程序產(chǎn)品和第二計(jì)算機(jī)程序產(chǎn)品。
特別地,本發(fā)明涉及用于控制至少一個(gè)音樂(lè)曲目文件的回放的混音指令文件,混音指令文件包括指令,該指令包括在所述至少一個(gè)音樂(lè)曲目文件要被訪問(wèn)時(shí)的時(shí)間點(diǎn)處的所述至少一個(gè)音樂(lè)曲目文件的指示,以及用于操作至少一個(gè)音樂(lè)曲目文件的輸出的至少一個(gè)功能,構(gòu)成混音狀態(tài)的所述至少一個(gè)音樂(lè)曲目文件的指示和所述至少一個(gè)功能總和?;煲糁噶钗募环殖芍辽俚谝话偷诙?,至少第二包在其開始處包括關(guān)于在與第二包的開始對(duì)應(yīng)的時(shí)間點(diǎn)處的混音的回放狀態(tài)的信息。
這有助于混音指令文件在計(jì)算機(jī)之間的傳輸,特別是從正在生成該混音指令文件的第一計(jì)算機(jī)到要在其上被回放的第二計(jì)算機(jī)的傳輸?;胤派踔量梢栽诮鯇?shí)時(shí)的情況下發(fā)生,因?yàn)橐呀?jīng)創(chuàng)建的混音指令文件的數(shù)據(jù)包可能會(huì)在創(chuàng)建剩余的混音同時(shí)傳輸。如本領(lǐng)域常見的,每個(gè)包通常被封包在一個(gè)幀中,這使得它能夠被同步用于流傳輸。
在第一優(yōu)選實(shí)施例中,混音指令文件還包括在要訪問(wèn)音樂(lè)曲目文件之前的時(shí)間點(diǎn)指向至少一個(gè)音樂(lè)曲目文件的提前指針,以使得能夠檢索音樂(lè)曲目文件。這是因?yàn)橐魳?lè)曲目文件的檢索通常需要一些時(shí)間,時(shí)間的數(shù)量取決于存儲(chǔ)在哪里。提前指針應(yīng)該足夠早,以確保在混音中播放之前檢索到音樂(lè)曲目文件。
優(yōu)選地,每個(gè)混音指令包在其開始處具有在與指令包的起始相對(duì)應(yīng)的相關(guān)時(shí)間點(diǎn)處音樂(lè)混音的狀態(tài)的完整信息。這確保每個(gè)新包具有繼續(xù)回放所需的信息,而不會(huì)在新包開始時(shí)發(fā)生任何中斷或突然變化。
混音指令文件也可以設(shè)計(jì)成使得每個(gè)混音指令包具有音樂(lè)混音內(nèi)的任意時(shí)間點(diǎn)的音樂(lè)混音狀態(tài)的完整信息。這使得能夠在這樣任意的時(shí)間點(diǎn)開始回放。
第一計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀代碼裝置,其在第一計(jì)算機(jī)設(shè)備中運(yùn)行時(shí),將使設(shè)備根據(jù)用戶輸入:
a.檢索獲取要包含在混音中的至少一個(gè)音樂(lè)曲目;
b.應(yīng)用至少一個(gè)效果到音樂(lè)曲目,從而影響回放速度和/或回放聲音;
c.將關(guān)于至少一個(gè)音樂(lè)曲目和至少一個(gè)效果的信息存儲(chǔ)在可以在第二計(jì)算機(jī)設(shè)備(32)中的回放程序中播放的混音指令文件中,使得第二計(jì)算機(jī)設(shè)備以與在第一計(jì)算機(jī)設(shè)備上的播放方式基本相同的方式播放混音。
該程序被設(shè)置為將混音指令文件分成至少第一包和第二包,第二包跟隨混音中的第一包,并且在第二包的開始處插入定義第一包末尾處的混音狀態(tài)的信息。
優(yōu)選地,第一計(jì)算機(jī)程序產(chǎn)品還被設(shè)置為識(shí)別至少第一時(shí)間點(diǎn),在該時(shí)間點(diǎn)處將檢索音樂(lè)曲目,并且在混音指令文件中插入在要訪問(wèn)音樂(lè)曲目文件之前的時(shí)間點(diǎn)處指向至少一個(gè)音樂(lè)曲目文件的提前指針,以使得能夠檢索獲取音樂(lè)曲目文件。
第二計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀代碼裝置,其在計(jì)算機(jī)設(shè)備中運(yùn)行時(shí),將使設(shè)備:
a.檢索獲取根據(jù)前述權(quán)利要求中任一項(xiàng)的混音指令文件;
b.檢索獲取至少第一音樂(lè)曲目文件,其保持要播放的音樂(lè)曲目;
c.回放音樂(lè)曲目文件,同時(shí)將混音指令文件中的指令應(yīng)用到音樂(lè)曲目,以改變其播放方式。
有利地,混音指令文件包括針對(duì)至少第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)的、標(biāo)識(shí)分別在第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)播放的音樂(lè)曲目文件的信息。其還優(yōu)選地包括針對(duì)至少第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)的、在至少一個(gè)包內(nèi),與分別在第一時(shí)間點(diǎn)和第二時(shí)間點(diǎn)對(duì)音樂(lè)曲目文件應(yīng)用效果相關(guān)的信息。該信息可以被包括在用于音樂(lè)曲目文件的第一狀態(tài)掩碼中和用于關(guān)于效果的信息的第二狀態(tài)掩碼中,或者在用于兩種類型的信息的一個(gè)公共狀態(tài)掩碼中。在這種情況下,第一計(jì)算機(jī)程序產(chǎn)品被設(shè)置為將相應(yīng)的信息包括在文件中,并且第二計(jì)算機(jī)程序產(chǎn)品被設(shè)置成從文件中獲得這樣的信息,并根據(jù)信息確定開始回放混音的位置。
第二計(jì)算機(jī)程序產(chǎn)品優(yōu)選地還包括用于使計(jì)算機(jī)設(shè)備上的屏幕顯示與音樂(lè)曲目文件的播放相關(guān)的信息的計(jì)算機(jī)可讀代碼裝置,諸如正在播放的音樂(lè)曲目文件的標(biāo)題,以及對(duì)其應(yīng)用的指令。
這使得遠(yuǎn)程創(chuàng)建的混音配置文件能夠被發(fā)送到不同的位置,并且在它被創(chuàng)建的同時(shí)被播放,因?yàn)樵趧?chuàng)建新包的同時(shí)可以檢索和播放已經(jīng)創(chuàng)建的混音配置文件的包。混音配置文件可以以最小延遲播放,即只有網(wǎng)絡(luò)延遲和很少的額外延遲。
本發(fā)明還涉及用于計(jì)算機(jī)設(shè)備的計(jì)算機(jī)程序產(chǎn)品,計(jì)算機(jī)程序產(chǎn)品被設(shè)置成使計(jì)算機(jī)設(shè)備檢索混音指令文件并執(zhí)行混音指令文件中的指令。因此,計(jì)算機(jī)設(shè)備可以用于播放音樂(lè)曲目的混音,其中使用dj功能混音并操作音樂(lè)曲目。指令包括用于檢索要播放的至少一個(gè)音樂(lè)曲目文件的指令和影響音樂(lè)曲目文件或多個(gè)文件的回放的指令。
混音指令文件和音樂(lè)曲目文件可以存儲(chǔ)在本地計(jì)算機(jī)設(shè)備上,或者可以例如通過(guò)因特網(wǎng)或其它網(wǎng)絡(luò)從一個(gè)或多個(gè)其它計(jì)算機(jī)設(shè)備檢索獲取。在這種情況下,計(jì)算機(jī)設(shè)備可以是能夠存儲(chǔ)文件的任何類型的計(jì)算機(jī),包括服務(wù)器、個(gè)人計(jì)算機(jī)、智能手機(jī)等。例如,可以設(shè)置程序來(lái)確定哪些文件在本地可用,并且從因特網(wǎng)檢索本地不可用的任何文件。本發(fā)明適用于音樂(lè)流服務(wù),諸如
本發(fā)明還涉及其上存儲(chǔ)有如上的計(jì)算機(jī)程序產(chǎn)品的計(jì)算機(jī)設(shè)備。
混音可以包括任何數(shù)量的音樂(lè)曲目,兩個(gè)、三個(gè)或更多。事實(shí)上,由于混音通常還包括在單個(gè)音樂(lè)曲目?jī)?nèi)的操作,因此混音可以僅包括一個(gè)曲目。
附圖說(shuō)明
以下將參照附圖更詳細(xì)地描述本發(fā)明,其中,
圖1示出了可以使用本發(fā)明的網(wǎng)絡(luò)環(huán)境。
圖2示出了被分成包并被設(shè)置為在多個(gè)音樂(lè)曲目文件上工作的混音配置文件的第一個(gè)示例。
圖3示意性地示出了根據(jù)一個(gè)實(shí)施例使用混音配置文件來(lái)控制回放的音樂(lè)曲目的回放。
圖4示出了音樂(lè)曲目的回放的替代實(shí)施例。
具體實(shí)施方式
圖1公開了可以使用本發(fā)明的網(wǎng)絡(luò)環(huán)境。第一計(jì)算機(jī)設(shè)備31和第二計(jì)算機(jī)設(shè)備32被示意性地示出為連接到由云33表示的互聯(lián)網(wǎng)。計(jì)算機(jī)設(shè)備在圖1中示出為小型手持設(shè)備,但是可以是由用戶操作的任何類型的計(jì)算機(jī)設(shè)備,包括諸如具有音樂(lè)播放能力的移動(dòng)電話和平板電腦設(shè)備。計(jì)算機(jī)設(shè)備31、32具有用戶輸入/輸出裝置,通常但不一定包括屏幕35、36,屏幕35、36可以包括本領(lǐng)域常見的一些或全部用戶輸入/輸出裝置。如本領(lǐng)域常見的,計(jì)算機(jī)設(shè)備可通過(guò)有線或無(wú)線連接連接到因特網(wǎng)。通常,今天的計(jì)算機(jī)設(shè)備具有通過(guò)多種不同類型的連接(包括有線以太網(wǎng)、wifi、藍(lán)牙等)連接到網(wǎng)絡(luò)和/或連接到其它設(shè)備的裝置。
其它計(jì)算機(jī)設(shè)備(未示出)也連接到網(wǎng)絡(luò)33。這些計(jì)算機(jī)設(shè)備可以是服務(wù)器、個(gè)人計(jì)算機(jī)、平板電腦,或存儲(chǔ)文件或能夠傳送文件的任何其它類型的計(jì)算機(jī)設(shè)備。第一計(jì)算機(jī)設(shè)備31和第二計(jì)算機(jī)設(shè)備32可以從這些計(jì)算機(jī)設(shè)備檢索可以被下載或流式傳輸?shù)囊魳?lè)曲目文件和/或混音指令文件。在第一種情況下,通過(guò)網(wǎng)絡(luò)檢索文件并在使用之前將其存儲(chǔ)在計(jì)算機(jī)設(shè)備31、32上。在后一種情況下,在使用這些文件的同時(shí),檢索獲取這些文件并在計(jì)算機(jī)設(shè)備31、32上緩沖文件,但是通常不會(huì)將其永久地存儲(chǔ)在相應(yīng)的計(jì)算機(jī)設(shè)備31、32上,盡管這也是可能的。
在該示例中,第一計(jì)算機(jī)設(shè)備31是生成混音指令文件的設(shè)備。因此,該計(jì)算機(jī)設(shè)備31具有混音生成程序37,該混音生成程序37將允許設(shè)備31的用戶通過(guò)加載和回放曲目、同時(shí)操縱其速度和添加其它效果、并且以本領(lǐng)域已知的方式在曲目之間混音,來(lái)產(chǎn)生混音?;煲羯沙绦?7還包括用于將混音存儲(chǔ)在混音指令文件中以及用于將其發(fā)送到諸如第二計(jì)算機(jī)設(shè)備32的其它設(shè)備的一些功能。這可能發(fā)生在混音正在生成或稍后階段。以下將討論用于促進(jìn)混音指令文件分發(fā)的混音生成程序37的創(chuàng)造性功能。
為了回放混音指令文件,第二計(jì)算機(jī)設(shè)備32具有回放程序38,其可以是諸如腳本或app的小程序,被設(shè)置為檢索獲取混音指令文件、檢索獲取音樂(lè)曲目文件并根據(jù)需要在適當(dāng)?shù)臅r(shí)間點(diǎn)執(zhí)行存儲(chǔ)在混音指令文件中的指令。可以一次檢索整個(gè)混音指令文件,但是優(yōu)選地將其分成多個(gè)包,可以從第一計(jì)算機(jī)設(shè)備31各個(gè)單獨(dú)發(fā)送。如本領(lǐng)域中常見的,包通常被包裝在幀中,使得它們能夠被同步流式傳送。這兩者將使得實(shí)現(xiàn)帶寬控制,并且還可以實(shí)現(xiàn)在創(chuàng)建混音指令文件的同時(shí)對(duì)其進(jìn)行流式傳輸。如果設(shè)備32具有屏幕36,則回放程序38或單獨(dú)的程序可以提供控制功能,用于顯示與混音有關(guān)的信息,例如正在播放哪個(gè)曲目,哪個(gè)曲目將要很快播放、已經(jīng)被應(yīng)用的任何效果等。
當(dāng)然,任何設(shè)備可以都包括混音生成程序37和回放程序38,其也可以在一個(gè)單個(gè)程序中實(shí)現(xiàn)。
在一個(gè)實(shí)施例中,第二設(shè)備32被設(shè)置為在屏幕上顯示圖像,模擬dj設(shè)備,其具有用于執(zhí)行各種功能的控制輸入裝置。在這種情況下,混音指令文件不僅包括加載正確的曲目以及按需要操作它們所需的信息,而且還包括混音指令文件的創(chuàng)建者如何使用他設(shè)備上的各種輸入裝置來(lái)選擇曲目并操作它們相關(guān)的信息。為了實(shí)現(xiàn)這一點(diǎn),回放程序38還包括功能:用于在屏幕上操作控制輸入裝置以反映響應(yīng)于混音指令文件中的指令正在音樂(lè)曲目上執(zhí)行的功能。屏幕將作為一種反映正在播放的音樂(lè)的“演奏者鋼琴”。
圖2示出了混音配置文件1,被分成第一混音配置包2,第二混音配置包4和第三混音配置包6,每個(gè)包包括用于與回放混音時(shí)的某個(gè)時(shí)間段對(duì)應(yīng)的一部分文件的所有混音指令。由混音指令包覆蓋的確切時(shí)間段對(duì)于所有包可以是相同的,但是優(yōu)選地,包之間的時(shí)間段是可變的。當(dāng)回放混音配置時(shí),可以一次檢索包2、4、6中的一個(gè)。在混音配置文件1的第一包2的開始8處,如箭頭9所示,尋址第一音樂(lè)曲目文件21,然后包將包含如何操作音樂(lè)曲目文件的回放的指令。這可能包括速度改變操作,例如曲調(diào)或音調(diào)(bendorpitch),改變回放音量以及添加循環(huán)或回放效果(如混響或刮擦聲)。圖2的第一混音配置包2還包括一段時(shí)間之后檢索獲取第二音樂(lè)曲目文件23、與第一音樂(lè)曲目21文件相混音的命令,以及從第一音樂(lè)曲目文件21到第二音樂(lè)曲目文件23的漸變的命令。用箭頭10示出檢索獲取第二音樂(lè)曲目文件23的命令。漸變淡入淡出的時(shí)間段表示為圖2中的陰影區(qū)域24。
因此,經(jīng)過(guò)一段時(shí)間,混音指令文件中指示的添加的操作動(dòng)作表示一種回放狀態(tài),指示當(dāng)前正在播放哪個(gè)音樂(lè)曲目文件(或多個(gè)文件)、在音樂(lè)曲目文件中的位置以及當(dāng)前應(yīng)用的效果,例如回放速度。在第二包4中,用箭頭11表示檢索獲取第三音樂(lè)曲目文件25的命令。從第二曲目到第三曲目的漸變淡入淡出被示為圖2中的陰影區(qū)域26。在圖2中,第三包6未被設(shè)置成檢索獲取任何音樂(lè)曲目文件,而只是繼續(xù)操作已經(jīng)由第二包4使用的音樂(lè)曲目文件或多個(gè)文件。當(dāng)然,混音指令包2、4、6中的每一個(gè)可被設(shè)置成檢索獲取一個(gè)任意數(shù)量的音樂(lè)曲目文件,并根據(jù)需要對(duì)文件應(yīng)用任何效果的組合。
優(yōu)選地,每個(gè)混音配置包,或第一包2之后的每個(gè)混音配置包,開始于開始部分12、14,在相應(yīng)包的開始處示出為陰影區(qū)域,具有對(duì)在包的開始時(shí)間的混音配置的回放狀態(tài)的完全表示,其與前一包結(jié)束時(shí)的狀態(tài)相同。第一個(gè)混音配置包可以具有這樣的開始部分,但不是必需的,因?yàn)椴粫?huì)考慮以前的活動(dòng)。在整個(gè)數(shù)據(jù)包中,對(duì)混音所做的更改(音樂(lè)曲目的更改或應(yīng)用的任何效果)可以逐漸存儲(chǔ)在數(shù)據(jù)包中。
從開始回放混音配置文件1時(shí),檢索獲取該第一音樂(lè)曲目文件21,然后以混音配置文件中指示的方式進(jìn)行操作。在適當(dāng)?shù)臅r(shí)間點(diǎn)檢索獲取第二個(gè)音樂(lè)曲目文件,以混音配置文件中指示的方式進(jìn)行操作。通常,改變第一音樂(lè)曲目文件和/或第二音樂(lè)曲目文件的回放速度,使得它們相匹配,并且執(zhí)行從第一音樂(lè)曲目文件到第二音樂(lè)文件的漸變淡入淡出。
以下將討論混音生成程序37的功能:
當(dāng)混音的創(chuàng)建者開始在第一設(shè)備31上的混音生成程序37中創(chuàng)建混音時(shí),這涉及檢索獲取音樂(lè)曲目,在期望的時(shí)間點(diǎn)添加諸如曲調(diào)、音調(diào)、刮擦聲等的效果??捎玫拇_切效果將取決于混音生成程序。此外,在一些實(shí)施方式中,可以從外部模塊導(dǎo)入效果。如果要在不同的回放程序38中播放混音,則在回放程序38中應(yīng)該可以獲得如在混音生成程序37中相同的效果,以確保所有設(shè)備上的回放聽起來(lái)都一樣。
混音生成程序37還執(zhí)行使得能夠?qū)⑽募l(fā)送到第二設(shè)備32所需的功能,并將其存儲(chǔ)在第一設(shè)備32上。這涉及將混音指令文件分成包。將文件分為包有兩個(gè)原因:首先,包的大小可以適應(yīng)帶寬要求。此外,為了實(shí)時(shí)回放,必須在創(chuàng)建混音指令文件的同時(shí)發(fā)送混音指令文件。這意味著已經(jīng)生成的文件的部分應(yīng)在整個(gè)包準(zhǔn)備就緒之前傳輸。
為了確??梢圆シ琶總€(gè)新包,每個(gè)包應(yīng)包括覆蓋在與包開始對(duì)應(yīng)的時(shí)間點(diǎn)的混音的整個(gè)回放狀態(tài)的信息?;蛘撸挥幸恍┌梢员辉O(shè)置成包括這樣的信息。這將減少混音需要傳輸?shù)拈_銷量,但也可能降低回放質(zhì)量。此外,可能并不總是只跳到當(dāng)前包的開頭,可能需要跳回到具有整個(gè)狀態(tài)的最近的前一個(gè)包。
包開始處的信息通常包括諸如哪些曲目是活躍的、每個(gè)曲目?jī)?nèi)的位置、回放速度和可能已經(jīng)被應(yīng)用的其它效果的信息,以及正被檢索獲取或應(yīng)該很快將被檢索獲取的曲目。優(yōu)選地,包還應(yīng)包括在該時(shí)間點(diǎn)存儲(chǔ)在特定效果的緩沖器中的數(shù)據(jù),以確保回放聽起來(lái)正確。當(dāng)并不是從頭到尾連續(xù)播放混音時(shí),這是特別有用的。例如,當(dāng)跳回到應(yīng)用混響的時(shí)間點(diǎn)時(shí),在給定時(shí)刻由混響效果產(chǎn)生的實(shí)際輸出將取決于當(dāng)時(shí)應(yīng)用的混響。
這意味著每個(gè)包必須以狀態(tài)信息的形式攜帶一些開銷(overhead)信息。因此,這些包不會(huì)太小,因?yàn)檫@將導(dǎo)致通過(guò)網(wǎng)絡(luò)傳輸?shù)拈_銷信息的總量增加。同時(shí),包應(yīng)該足夠小以便以低延遲傳輸。對(duì)于近乎實(shí)時(shí)的傳輸,包可以覆蓋一秒或更少。當(dāng)發(fā)送供以后使用的混音指令文件時(shí),可以更自由地選擇每個(gè)包中包括的時(shí)間段,例如最多10秒。
可以選擇包來(lái)覆蓋固定的時(shí)間量,對(duì)于所有包可以是相同的,或者更優(yōu)選地,可以根據(jù)每個(gè)包中的信息量來(lái)劃分包。如果在特定時(shí)間段內(nèi)沒(méi)有添加任何效果,則與該時(shí)間段對(duì)應(yīng)的包將包含每時(shí)間單位非常少的數(shù)據(jù)。因此,該包可以選擇來(lái)覆蓋更長(zhǎng)的時(shí)間段而不變得太大。在一個(gè)短的時(shí)間段內(nèi)應(yīng)用幾個(gè)效果的時(shí)候,和/或檢索獲取幾個(gè)曲目時(shí),將在一段時(shí)間內(nèi)有大量的信息。在這種情況下,包應(yīng)該覆蓋較短的時(shí)間段以使其處于可管理的大小。此外,優(yōu)選地,在需要發(fā)送相對(duì)少的狀態(tài)信息的點(diǎn)處,在包之間進(jìn)行分割。這可能是例如當(dāng)沒(méi)有特殊效果時(shí),因?yàn)樘砑拥揭魳?lè)中的特殊效果將增加需要發(fā)送的開銷信息量。此外,優(yōu)選的是只有一個(gè)曲目正在播放,并且沒(méi)有檢索獲取曲目。將結(jié)合圖3對(duì)此討論。
當(dāng)播放混音指令文件時(shí)要使用的曲目可以存儲(chǔ)在播放混音指令文件的本地設(shè)備中,或者可以從另一設(shè)備或從網(wǎng)絡(luò)獲取。因此,檢索獲取曲目可能會(huì)延遲,使得在開始播放時(shí)可能不可用。特別是當(dāng)?shù)诙O(shè)備32需要比創(chuàng)建混音的第一設(shè)備31更長(zhǎng)時(shí)間的來(lái)檢索獲取曲目時(shí),這是一個(gè)問(wèn)題。特別的情況是在第一設(shè)備31上找到音樂(lè)文件本身。因此,當(dāng)創(chuàng)建混音指令文件時(shí),生成它的混音生成程序37被配置為檢測(cè)在特定的時(shí)間點(diǎn)開始播放特定音樂(lè)曲目文件的指令,并在較早的時(shí)間點(diǎn)添加開始檢索獲取該音樂(lè)曲目的指令。為了確保第二音樂(lè)曲目文件在正確的時(shí)間點(diǎn)可用,混音配置文件因而包括將要使用第二音樂(lè)曲目文件的提前指示。在圖2中,示出了由三角形16和18表示的兩個(gè)這樣的提前指示,分別表示應(yīng)該檢索獲取第二音樂(lè)曲目文件23和第三音樂(lè)曲目文件25。以這種方式,設(shè)備可以開始檢索獲取第二音樂(lè)曲目文件,例如在播放之前幾秒鐘,并緩沖它,以便在需要時(shí)可以使用它。應(yīng)當(dāng)選擇特定時(shí)間點(diǎn)10和較早的時(shí)間點(diǎn)16之間的時(shí)間差,以確保在回放程序38將要執(zhí)行開始播放音樂(lè)曲目文件的指令之前,播放混音的設(shè)備32中接收了足夠的音樂(lè)曲目?;煲糁噶畎鼉?yōu)選地以提前指示和用于檢索獲取第二音樂(lè)文件的命令處于相同包的方式來(lái)設(shè)置。如果它們被放置在不同的包中,則在混音中從一個(gè)包移動(dòng)到另一個(gè)包時(shí),需要跟蹤音樂(lè)文件的檢索獲取所需的數(shù)據(jù)量。
在一個(gè)實(shí)施例中,混音指令包還可以包括除了包開始處的其它點(diǎn)處的狀態(tài)檢查點(diǎn)。狀態(tài)檢查點(diǎn)將包括在相關(guān)時(shí)間點(diǎn)的音樂(lè)混音的回放狀態(tài)的全部或一部分。
圖3示意性地示出了其中使用兩個(gè)信道回放混音的回放情況:第一信道ch1和第二信道ch2。第一信道顯示在最上半部分,第二信道顯示在最下半部分。正在回放的曲目沿時(shí)間線顯示為細(xì)長(zhǎng)的矩形。
繪圖中的情況從在第一信道中播放的第一曲目101開始。在第一時(shí)間點(diǎn)t1處,第一效果被施加到第一曲目,并且在第二時(shí)間點(diǎn)效果結(jié)束。在第三時(shí)間點(diǎn)t3處,第二曲目102開始在第二信道中播放,在第四時(shí)間點(diǎn)t4處,第一曲目停止回放。在第三時(shí)間點(diǎn)t3和第四時(shí)間點(diǎn)4之間,如本領(lǐng)域中所熟知的,通常會(huì)施加漸變淡入淡出以逐漸淡出第一曲目101同時(shí)增加第二曲目102的音量。在第五時(shí)間點(diǎn)t5和第六時(shí)間點(diǎn)t6之間,第二個(gè)效果被應(yīng)用到第二曲目。
理想地,可以在混音的任何時(shí)間點(diǎn)開始回放。如結(jié)合圖2所討論的,混音指令文件優(yōu)選地被分成包,以這種方式使得每個(gè)新包在不施加效果并且沒(méi)有加載新曲目的時(shí)間點(diǎn)開始。所以在圖3的例子中,優(yōu)選的時(shí)間將是例如在第二個(gè)時(shí)間點(diǎn)t2和第三個(gè)時(shí)間點(diǎn)t3之間,以及在第四個(gè)時(shí)間點(diǎn)t4到第五個(gè)時(shí)間點(diǎn)t5之間,如點(diǎn)劃線105所示的,此時(shí)只有播放曲目的標(biāo)識(shí),即分別是第一曲目101和第二曲目102,以及曲目?jī)?nèi)的位置需要傳送。類似地,如果在這樣的時(shí)間開始回放,則可以傳送所需的信息。
為了知道正在播放哪個(gè)曲目以及正在應(yīng)用哪些效果,在任何給定的時(shí)間,可以應(yīng)用狀態(tài)掩碼,其保持每個(gè)時(shí)間點(diǎn)的該信息。狀態(tài)掩碼可以是指向狀態(tài)改變的所有時(shí)間點(diǎn)的表格的形式。這包括加載新曲目的時(shí)間點(diǎn)、曲目開始播放的時(shí)間點(diǎn)、曲目停止播放的時(shí)間點(diǎn),以及應(yīng)用于曲目的任何效果。
狀態(tài)掩碼可以是簡(jiǎn)單表格,對(duì)于每個(gè)時(shí)間點(diǎn)具有一個(gè)記錄,每個(gè)記錄包括對(duì)應(yīng)于不同功能或效果的幾個(gè)比特,并且被設(shè)置以指示該功能是否開啟。通常,如果在相關(guān)時(shí)間點(diǎn)應(yīng)用了效果,則該比特被設(shè)置為1,如果不是,該比特被設(shè)置為0。可以包括對(duì)于應(yīng)用的效果開始時(shí)的時(shí)間點(diǎn)的索引。這將增加每個(gè)記錄的大小。為了限制增加,它可以僅針對(duì)隨時(shí)間變化的效果來(lái)實(shí)施,這將是有利的。
所播放的曲目可以包括在同一個(gè)表格中,或者可以具有它自己的表格,對(duì)每個(gè)時(shí)間點(diǎn)指示正在播放哪個(gè)曲目。曲目中的實(shí)際位置必須包含在其中一個(gè)表格中。
效果可以是本領(lǐng)域已知的任何類型的效果。一些效果將以明確的方式影響曲目,只要效果被應(yīng)用,這將是相同的。對(duì)于其它的,結(jié)果將隨時(shí)間而變化。例如,回聲或混響效果將在應(yīng)用于曲目的時(shí)間段內(nèi)變化。為了處理后一類型的效果,例如,當(dāng)在應(yīng)用這樣的效果的特定時(shí)間點(diǎn)開始回放時(shí),對(duì)于該特定時(shí)間點(diǎn)檢索獲取狀態(tài)掩碼是不夠的。要獲得完全相同的回放結(jié)果,有必要返回到第一次應(yīng)用效果的時(shí)間點(diǎn),例如圖3中的t1或t5,并從此時(shí)間點(diǎn)回放或分析回放。跳轉(zhuǎn)到效果開始的時(shí)間點(diǎn)t1或t5并不總是可行的。相反,可能優(yōu)選跳轉(zhuǎn)到更早的時(shí)間點(diǎn),例如應(yīng)用效果的包的開始處。在這種情況下,假設(shè)包的開始由圖103中的虛線105指示,這意味著如果嘗試在第五時(shí)間點(diǎn)t5和第六時(shí)間點(diǎn)t6之間開始,則實(shí)際上將在包開始的時(shí)間點(diǎn)105處開始。這是用于包開始的合適位置,因?yàn)榛煲糁噶畈话?,因此唯一發(fā)生的是正在播放第二曲目。
圖4中示出了替代實(shí)施例,其類似于圖3示出了使用第一信道ch1和第二信道ch2的混音。該示例類似于圖3的示例,從在第一信道中播放的第一曲目201開始。在一段時(shí)間之后,開始在第二信道中播放第二曲目202,并且稍后一段時(shí)間,第一曲目停止回放。在稍后的時(shí)刻,第三曲目和第四個(gè)曲目分別開始。施加到曲目的效果顯示為相應(yīng)曲目?jī)?nèi)的陰影區(qū)域。
在該實(shí)施例中,混音指令文件中的每個(gè)包具有關(guān)于曲目或曲目播放的信息以及在數(shù)據(jù)包中的任何給定時(shí)間應(yīng)用于曲目的任何效果的信息??梢栽诨煲糁噶钗募?nèi)的任何時(shí)間點(diǎn)開始回放,但是為了說(shuō)明的目的,確認(rèn)了在第二信道ch2上正在播放曲目的第一時(shí)間點(diǎn)205,以及在第一信道ch1上正在播放曲目的第二時(shí)間點(diǎn)206。在第一時(shí)間點(diǎn)205,對(duì)第一曲目施加效果。在第二時(shí)間點(diǎn)206,沒(méi)有施加效果。因此,當(dāng)在混音指令文件中的特定位置開始回放時(shí),關(guān)于當(dāng)前曲目和效果的信息將在文件中可用,而不是關(guān)于它們的起始點(diǎn)的信息。
為了提供該信息,為每個(gè)包提供表格210,其包括針對(duì)每個(gè)改變的時(shí)間點(diǎn)信息,即,針對(duì)每個(gè)新曲目和每個(gè)效果的起始點(diǎn)的信息。這在圖4中由實(shí)心箭頭表示,從表格指向針對(duì)曲目和效果的起始點(diǎn)。為了清楚起見,圖4中沒(méi)有示出所有可能的指針。
表格210在包完成之后生成。如果混音指令文件不是實(shí)時(shí)或半實(shí)時(shí)共享,則所有表格可以在混音指令完成后生成,或者一個(gè)表格可以用于多個(gè)包,或者用于整個(gè)混音指令文件。為了生成表格,需要搜索數(shù)據(jù)包,并注意任何起始點(diǎn)。
在所有實(shí)施例中,可以定義信息類型的層級(jí)。當(dāng)然,在任何給定時(shí)間跟蹤的最重要的信息是識(shí)別正在播放的音樂(lè)曲目文件及其起始點(diǎn)。關(guān)于應(yīng)用隨時(shí)間變化的混響或刮擦聲等效果的信息也重要,因?yàn)樵撔Ч慕Y(jié)果將隨時(shí)間而變化。此外,這種效果可能會(huì)影響曲目的定時(shí)。關(guān)于不隨時(shí)間變化的效果的應(yīng)用的信息對(duì)于保持準(zhǔn)確的跟蹤不太重要。這意味著在圖4所示的實(shí)施例中,將在表格中找到關(guān)于每個(gè)曲目的起始點(diǎn)的信息。此外,優(yōu)選地包括關(guān)于根據(jù)時(shí)間而變化的任何效果(諸如刮擦聲或混響)的起始點(diǎn)的信息。當(dāng)然,也可以包括其它信息,諸如關(guān)于隨時(shí)間恒定的效果的信息。然而,一般來(lái)說(shuō),期望使信息量最小化,以保持必須傳送的信息量盡可能低。
在圖4的實(shí)施例中,如果沒(méi)有提供表格,則仍然可以在任何時(shí)間點(diǎn)開始回放混音。然而,在這種情況下,至少必須以某種替代方式確定關(guān)于曲目的起始點(diǎn)的信息,以確定要播放的曲目中的正確時(shí)間。一種替代方式是在時(shí)間上向后搜索包,以便可以確定當(dāng)前曲目的起始點(diǎn)。根據(jù)上面的推理,至少要確定曲目的起始點(diǎn)。優(yōu)選地,當(dāng)新曲目開始時(shí),停止應(yīng)用到先前曲目的所有效果?;蛘撸部梢栽谇扛淖儠r(shí)保持效果的運(yùn)行。
根據(jù)本發(fā)明的混音指令文件適用于流式傳輸,并且適用于與流式音樂(lè)曲目文件一起使用,因?yàn)樗辉O(shè)計(jì)為使等待時(shí)間最小化,如上概括的。因此其適用于音樂(lè)流媒體服務(wù),諸如
有時(shí),當(dāng)將曲目添加到混音中時(shí),曲目應(yīng)該在其它點(diǎn)而不是曲目的開頭開始播放。例如,在流服務(wù)(例如