本發(fā)明涉及音頻處理技術(shù)領(lǐng)域,尤其涉及一種基于HOOK技術(shù)的音效混合方法與系統(tǒng)。
背景技術(shù):
音頻信號(hào)是有規(guī)律的聲波的頻率、幅度變化信息載體,其可以包括語(yǔ)音、音樂(lè)及音效。用于播放音頻信號(hào)的應(yīng)用軟件是多種多樣的,例如,酷狗音樂(lè)、QQ音樂(lè)等等。該些應(yīng)用軟件可以同時(shí)進(jìn)行音頻信號(hào)的播放,使得該些音頻信號(hào)經(jīng)過(guò)聲卡處理之后,再經(jīng)由音頻設(shè)備以音效混合信號(hào)的形式播放出聲音。
音效的混合形式有多種多樣,但并非每一種混合形式都能被實(shí)現(xiàn)。如果我們需要保留其中一個(gè)應(yīng)用軟件所播放的音頻信號(hào),例如,主持人的聲音,而對(duì)其他應(yīng)用軟件所播放的音頻信號(hào)進(jìn)行改變音效的處理,例如,消除原唱僅保留伴奏,那么經(jīng)過(guò)聲卡處理之后,音頻設(shè)備播放的將是主持人的聲音與伴奏混音之后的音效混合信號(hào)。而通常多個(gè)音頻信號(hào)在經(jīng)過(guò)聲卡處理之后,主持人的聲音將和原唱一起被消除而無(wú)法保留。
此外,各應(yīng)用軟件所適用的音效插件不盡相同,所預(yù)存的音效也不盡相同且種類均有限,使得僅利用某一種音效插件對(duì)音頻信號(hào)進(jìn)行音效處理的方式很有限,只能是固定的幾種模式。同時(shí),如果要對(duì)各應(yīng)用軟件所播放的音頻信號(hào)分別進(jìn)行音效處理,必須先下載對(duì)應(yīng)的音效插件,然后再在各應(yīng)用軟件中一一進(jìn)行操作,這也給用戶帶來(lái)許多不便。
因此,現(xiàn)有的音效混合處理方式既受限于音效的混合形式又受限于音效的種類,并且操作過(guò)于繁瑣,這必然導(dǎo)致了音效混合處理方式過(guò)于單一而滿足不了用戶日新月異的需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種操作簡(jiǎn)單的基于HOOK技術(shù)的音效混合方法與系統(tǒng),用于解決現(xiàn)有技術(shù)中音效混合處理方式過(guò)于單一的問(wèn)題。
為了解決上述技術(shù)問(wèn)題,本發(fā)明所采用的技術(shù)方案為:
一種基于HOOK技術(shù)的音效混合方法,其包括:響應(yīng)用戶對(duì)所述控制按鈕的觸發(fā)生成控制命令;按照所述控制命令調(diào)用預(yù)設(shè)的應(yīng)用程序編程接口,該預(yù)設(shè)的應(yīng)用程序編程接口包括用于HOOK音頻應(yīng)用程序編程接口函數(shù)的鉤子函數(shù),以獲取多個(gè)音頻信號(hào);根據(jù)預(yù)設(shè)的音效庫(kù)分別對(duì)獲取到的所述多個(gè)音頻信號(hào)進(jìn)行音效處理,得到多個(gè)音頻處理信號(hào);及將該些音頻處理信號(hào)進(jìn)行混音處理,得到音效混合信號(hào)。
在一實(shí)施例中,所述響應(yīng)所述控制命令調(diào)用預(yù)設(shè)的應(yīng)用程序編程接口,該預(yù)設(shè)的應(yīng)用程序編程接口包括用于HOOK音頻應(yīng)用程序編程接口函數(shù)的鉤子函數(shù),以獲取多個(gè)音頻信號(hào)的步驟包括:獲取所述音頻應(yīng)用程序編程接口函數(shù)的入口地址;使用所述鉤子函數(shù)的入口地址替換所述音頻應(yīng)用程序編程接口函數(shù)的入口地址,以使所述多個(gè)音頻信號(hào)傳輸至所述鉤子函數(shù)的入口地址;及調(diào)用所述鉤子函數(shù),以獲取所述多個(gè)音頻信號(hào)。
在一實(shí)施例中,所述根據(jù)預(yù)設(shè)的音效庫(kù)分別對(duì)獲取到的所述多個(gè)音頻信號(hào)進(jìn)行音效處理,得到多個(gè)音頻處理信號(hào)的步驟之前,所述音效混合方法還包括:載入至少一音效插件,以獲取各種不同的音效;及存儲(chǔ)獲取到的所述音效,形成預(yù)設(shè)的所述音效庫(kù)。
在一實(shí)施例中,所述根據(jù)預(yù)設(shè)的音效庫(kù)分別對(duì)獲取到的所述多個(gè)音頻信號(hào)進(jìn)行音效處理,得到多個(gè)音頻處理信號(hào)的步驟包括:從所述音效庫(kù)中提取存儲(chǔ)的音效;建立所述音效與所述多個(gè)音頻信號(hào)的對(duì)應(yīng)關(guān)系;及分別根據(jù)與每一音頻信號(hào)有對(duì)應(yīng)關(guān)系的音效對(duì)該音頻信號(hào)進(jìn)行音效處理,得到所述多個(gè)音頻處理信號(hào)。
在一實(shí)施例中,所述將該些音頻處理信號(hào)進(jìn)行混音處理,得到音效混合信號(hào)的步驟之后,所述音效混合方法還包括:將所述音效混合信號(hào)輸出至音頻接口;及接收并播放所述音頻接口輸出的所述音效混合信號(hào)。
一種基于HOOK技術(shù)的音效混合系統(tǒng),其包括:控制按鈕;控制命令生成模塊,用于響應(yīng)用戶對(duì)所述控制按鈕的觸發(fā)生成控制命令;音頻信號(hào)獲取模塊,用于按照所述控制命令調(diào)用預(yù)設(shè)的應(yīng)用程序編程接口,該預(yù)設(shè)的應(yīng)用程序編程接口包括用于HOOK音頻應(yīng)用程序編程接口函數(shù)的鉤子函數(shù),以獲取多個(gè)音頻信號(hào);音效處理模塊,用于根據(jù)預(yù)設(shè)的音效庫(kù)分別對(duì)獲取到的所述多個(gè)音頻信號(hào)進(jìn)行音效處理,得到多個(gè)音頻處理信號(hào);及混音處理模塊,用于將該些音頻處理信號(hào)進(jìn)行混音處理,得到音效混合信號(hào)。
在一實(shí)施例中,所述音頻信號(hào)獲取模塊包括:入口地址獲取單元,用于獲取所述音頻應(yīng)用程序編程接口函數(shù)的入口地址;入口地址替換單元,用于使用所述鉤子函數(shù)的入口地址替換所述音頻應(yīng)用程序編程接口函數(shù)的入口地址,以使所述多個(gè)音頻信號(hào)傳輸至所述鉤子函數(shù)的入口地址;及鉤子函數(shù)調(diào)用單元,用于調(diào)用所述鉤子函數(shù),以獲取所述多個(gè)音頻信號(hào)。
在一實(shí)施例中,所述音效混合系統(tǒng)還包括:音效插件載入模塊,用于載入至少一音效插件,以獲取各種不同的音效;及音效庫(kù)形成模塊,用于存儲(chǔ)獲取到的所述音效,形成預(yù)設(shè)的所述音效庫(kù)。
在一實(shí)施例中,所述音效處理模塊包括:音效提取單元,用于從所述音效庫(kù)中提取存儲(chǔ)的音效;音效對(duì)應(yīng)單元,用于建立所述音效與所述多個(gè)音頻信號(hào)的對(duì)應(yīng)關(guān)系;及音效處理信號(hào)獲取單元,用于分別根據(jù)與每一音頻信號(hào)有對(duì)應(yīng)關(guān)系的音效對(duì)該音頻信號(hào)進(jìn)行音效處理,得到所述多個(gè)音頻處理信號(hào)。
在一實(shí)施例中,所述音效混合系統(tǒng)還包括:輸出模塊,用于將所述音效混合信號(hào)輸出至音頻接口;及播放模塊,用于接收并播放所述音頻接口輸出的所述音效混合信號(hào)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
通過(guò)基于HOOK技術(shù),形成一包括用于HOOK音頻應(yīng)用程序編程接口函數(shù)的鉤子函數(shù)的預(yù)設(shè)的應(yīng)用程序編程接口,由于該鉤子函數(shù)的入口地址與音頻應(yīng)用程序編程接口函數(shù)的入口地址不同,使得該鉤子函數(shù)可以在第一時(shí)間獲取到音頻信號(hào)及其控制權(quán),通過(guò)對(duì)該些音頻信號(hào)根據(jù)預(yù)設(shè)的音效庫(kù)進(jìn)行音效處理與混音處理,以此實(shí)現(xiàn)了音效混合處理方式的多元化,進(jìn)而滿足了用戶日新月異的需求。
附圖說(shuō)明
圖1為一實(shí)施例的基于HOOK技術(shù)的音效混合方法的流程圖。
圖2為另一實(shí)施例的基于HOOK技術(shù)的音效混合方法的流程圖。
圖3為另一實(shí)施例的基于HOOK技術(shù)的音效混合方法的流程圖。
圖4為圖3中音頻信號(hào)獲取的方法流程圖。
圖5為一實(shí)施例的基于HOOK技術(shù)的音效混合系統(tǒng)的結(jié)構(gòu)框圖。
圖6為另一實(shí)施例的基于HOOK技術(shù)的音效混合系統(tǒng)的結(jié)構(gòu)框圖。
圖7為圖5中音頻信號(hào)獲取模塊的結(jié)構(gòu)框圖。
圖8為圖5中音效處理模塊的結(jié)構(gòu)框圖。
具體實(shí)施方式
以下參考附圖,對(duì)本發(fā)明予以進(jìn)一步地詳盡闡述。
請(qǐng)參閱圖1,在一實(shí)施例中,一種基于HOOK技術(shù)的音效混合方法包括以下步驟:
步驟110,響應(yīng)用戶對(duì)控制按鈕的觸發(fā)生成控制命令。
步驟120,按照控制命令調(diào)用預(yù)設(shè)的應(yīng)用程序編程接口,該預(yù)設(shè)的應(yīng)用程序編程接口包括用于HOOK音頻應(yīng)用程序編程接口函數(shù)的鉤子函數(shù),以獲取多個(gè)音頻信號(hào)。
步驟130,根據(jù)預(yù)設(shè)的音效庫(kù)分別對(duì)獲取到的多個(gè)音頻信號(hào)進(jìn)行音效處理,得到多個(gè)音頻處理信號(hào)。
步驟140,將該些音頻處理信號(hào)進(jìn)行混音處理,得到音效混合信號(hào)。
請(qǐng)參閱圖2,在一實(shí)施例中,步驟140之后,一種基于HOOK技術(shù)的音效混合方法還包括以下步驟:
步驟210,將音效混合信號(hào)輸出至音頻接口。
步驟220,接收并播放音頻接口輸出的音效混合信號(hào)。
請(qǐng)參閱圖5,在一實(shí)施例中,一種基于HOOK技術(shù)的音效混合系統(tǒng)包括:控制按鈕、控制命令生成模塊410、音頻信號(hào)獲取模塊420、音效處理模塊430及混音處理模塊440,其中:
控制按鈕可以為音頻硬件設(shè)備上的實(shí)體按鍵,也可以為音頻軟件中的虛擬圖標(biāo)。
控制命令生成模塊410用于響應(yīng)用戶對(duì)控制按鈕的觸發(fā)生成控制命令。
音頻信號(hào)獲取模塊420,用于響應(yīng)控制命令調(diào)用預(yù)設(shè)的應(yīng)用程序編程接口,該預(yù)設(shè)的應(yīng)用程序編程接口包括用于HOOK音頻應(yīng)用程序編程接口函數(shù)的鉤子函數(shù),以獲取多個(gè)音頻信號(hào)。
音效處理模塊430用于根據(jù)預(yù)設(shè)的音效庫(kù)分別對(duì)獲取到的多個(gè)音頻信號(hào)進(jìn)行音效處理,得到多個(gè)音頻處理信號(hào)。
混音處理模塊440用于將該些音頻處理信號(hào)進(jìn)行混音處理,得到音效混合信號(hào)。
如圖5所示,在一實(shí)施例中,一種基于HOOK技術(shù)的音效混合系統(tǒng)還包括:輸出模塊450及播放模塊460,其中:
輸出模塊450用于將音效混合信號(hào)輸出至音頻接口。
播放模塊460用于接收并播放音頻接口輸出的音效混合信號(hào)。
請(qǐng)參閱圖6,在一實(shí)施例中,一種基于HOOK技術(shù)的音效混合系統(tǒng)還包括:音效插件載入模塊510及音效庫(kù)形成模塊520,其中:
音效插件載入模塊510用于載入至少一音效插件,以獲取各種不同的音效。
音效庫(kù)形成模塊520用于存儲(chǔ)獲取到的音效,形成預(yù)設(shè)的音效庫(kù)。
請(qǐng)參閱圖7,在一實(shí)施例中,音頻信號(hào)獲取模塊420包括:入口地址獲取單元421、入口地址替換單元422、及鉤子函數(shù)調(diào)用單元423,其中:
入口地址獲取單元421用于獲取音頻應(yīng)用程序編程接口函數(shù)的入口地址。
入口地址替換單元422用于使用鉤子函數(shù)的入口地址替換音頻應(yīng)用程序編程接口函數(shù)的入口地址,以使多個(gè)音頻信號(hào)傳輸至鉤子函數(shù)的入口地址。
鉤子函數(shù)調(diào)用單元423用于調(diào)用鉤子函數(shù),以獲取多個(gè)音頻信號(hào)。
請(qǐng)參閱圖8,在一實(shí)施例中,音效處理模塊430包括:音效提取單元431、音效對(duì)應(yīng)單元432及音效處理信號(hào)獲取單元433,其中:
音效提取單元431用于從音效庫(kù)中提取存儲(chǔ)的音效。
音效對(duì)應(yīng)單元432用于建立音效與多個(gè)音頻信號(hào)的對(duì)應(yīng)關(guān)系。
音效處理信號(hào)獲取單元433用于分別根據(jù)與每一音頻信號(hào)有對(duì)應(yīng)關(guān)系的音效對(duì)該音頻信號(hào)進(jìn)行音效處理,得到多個(gè)音頻處理信號(hào)。
請(qǐng)參閱圖3,并結(jié)合圖1至圖8,對(duì)本發(fā)明一實(shí)施例中基于HOOK技術(shù)的音效混合方法的流程圖加以詳細(xì)地說(shuō)明。
步驟310,響應(yīng)用戶對(duì)控制按鈕的觸發(fā)生成控制命令。
具體地,控制命令生成模塊410(下文簡(jiǎn)稱為控制平臺(tái))用于生成與用戶觸發(fā)控制按鈕相應(yīng)的各種控制命令,該控制平臺(tái)可以設(shè)置在計(jì)算機(jī)、手機(jī)、平板電腦或者其它一些音頻硬件設(shè)備上。相應(yīng)地,該控制按鈕可以為其他一些音頻硬件設(shè)備上的實(shí)體按鍵,也可以為計(jì)算機(jī)、手機(jī)、平板電腦的音頻軟件中的虛擬圖標(biāo)。
例如,該控制平臺(tái)可以是安裝于手機(jī)上的一款A(yù)PP,其為用戶提供對(duì)應(yīng)的音效混合操作界面,此時(shí),控制按鈕為該音效混合操作界面上的虛擬圖標(biāo),用戶觸發(fā)控制按鈕即為用戶按照控制按鈕的預(yù)設(shè)觸發(fā)方式觸發(fā)了控制按鈕,而形成了相應(yīng)的指示操作。用戶觸發(fā)的指示操作可以是點(diǎn)擊了該操作界面上的“開(kāi)始”圖標(biāo),即用于指示音效混合方法的開(kāi)始,從而使得APP接收到該指示,進(jìn)而生成了相應(yīng)的控制命令以執(zhí)行后續(xù)的步驟320。
當(dāng)然,用戶觸發(fā)的指示操作也可以是相應(yīng)地連接了該操作界面上的“播放列表”圖標(biāo)與“音效”圖標(biāo),即用于指示不同的音頻信號(hào)將對(duì)應(yīng)于何種音效,從而使得APP接收到該指示,進(jìn)而生成了相應(yīng)的控制命令以執(zhí)行后續(xù)的步驟360。
或者,該控制平臺(tái)可以是組成音頻硬件設(shè)備的單片機(jī),其為用戶提供對(duì)應(yīng)的控制面板,包括啟動(dòng)按鍵、聲控旋鈕等。用戶觸發(fā)的指示操作可以是按下了該控制面板上的啟動(dòng)按鍵,即用于指示音效混合方法的開(kāi)始,從而使得單片機(jī)接收到該指示,進(jìn)而生成了相應(yīng)的控制命令以執(zhí)行后續(xù)的步驟320。
當(dāng)然,用戶觸發(fā)的指示操作也可以是旋轉(zhuǎn)了該控制面板上的聲控旋鈕,用于控制播放模塊460播放音效混合信號(hào)時(shí)的音量,從而使得單片機(jī)接收到該指示,進(jìn)而生成了相應(yīng)的控制命令以執(zhí)行后續(xù)的步驟380。
步驟320,按照控制命令調(diào)用預(yù)設(shè)的應(yīng)用程序編程接口,該預(yù)設(shè)的應(yīng)用程序編程接口包括用于HOOK音頻應(yīng)用程序編程接口函數(shù)的鉤子函數(shù),以獲取多個(gè)音頻信號(hào)。
在此,先介紹下HOOK(鉤子)技術(shù)的原理,鉤子實(shí)際上是一個(gè)針對(duì)某種特定消息進(jìn)行加工處理的程序段,亦即鉤子函數(shù),通過(guò)系統(tǒng)調(diào)用對(duì)應(yīng)的應(yīng)用程序編程接口,把該鉤子掛入系統(tǒng)的進(jìn)程列表中。每當(dāng)特定消息發(fā)出,在沒(méi)有達(dá)到目的窗口(即指定的應(yīng)用程序編程接口)之前,鉤子先在第一時(shí)間將其捕獲,亦即鉤子先獲取到該特定消息及其控制權(quán)。此時(shí),鉤子可以對(duì)該特定消息進(jìn)行加工處理,并將加工處理后發(fā)生了改變的特定消息繼續(xù)傳遞至原目的窗口。當(dāng)然,鉤子也可以不對(duì)該特定消息進(jìn)行加工處理,而只是延長(zhǎng)該特定消息傳遞至原目的窗口的時(shí)間、或者攔截該特定消息、或者更改該特定消息待傳遞的最終目的窗口。
本實(shí)施例中,音頻信號(hào)即為鉤子針對(duì)的特定消息,目的窗口即為音頻API(Application Programming Interface,應(yīng)用程序編程接口)函數(shù)的入口地址。如圖4所示,步驟320具體包括以下步驟:
步驟321,獲取音頻API函數(shù)的入口地址。
通過(guò)入口地址獲取單元421響應(yīng)步驟310生成的控制命令獲取到音頻API函數(shù)的入口地址,該音頻API函數(shù)的入口地址即為音頻信號(hào)的原目的窗口與最終目的窗口,待音頻信號(hào)經(jīng)步驟330至步驟370的相關(guān)處理后,將被返回至該音頻API函數(shù)的入口地址。
步驟322,使用鉤子函數(shù)的入口地址替換音頻API函數(shù)的入口地址,以使多個(gè)音頻信號(hào)傳輸至鉤子函數(shù)的入口地址。
通過(guò)入口地址替換單元422將音頻信號(hào)的入口地址由原計(jì)劃的音頻API函數(shù)的入口地址替換為鉤子函數(shù)的入口地址之后,鉤子函數(shù)就替代了音頻API函數(shù),使得音頻信號(hào)的傳輸路徑從音頻API函數(shù)的入口地址跳轉(zhuǎn)至鉤子函數(shù)的入口地址,進(jìn)而使得鉤子函數(shù)可以在第一時(shí)間先將多個(gè)音頻信號(hào)捕獲到。
步驟323,調(diào)用鉤子函數(shù),以獲取多個(gè)音頻信號(hào)。
經(jīng)過(guò)調(diào)用預(yù)設(shè)的應(yīng)用程序編程接口,將鉤子函數(shù)掛入系統(tǒng)的進(jìn)程列表中,鉤子函數(shù)優(yōu)先于音頻API函數(shù)獲取到該音頻信號(hào)及其控制權(quán)。
值得一提的是,鉤子函數(shù)可以被應(yīng)用在應(yīng)用層、驅(qū)動(dòng)層,甚至可以被應(yīng)用在硬件接口層。優(yōu)選地,將鉤子函數(shù)應(yīng)用于應(yīng)用層,以方便地查看發(fā)出特定消息的進(jìn)程是哪一個(gè),并以自身的入口地址替換發(fā)出特定消息的該進(jìn)程所對(duì)應(yīng)的入口地址,進(jìn)而針對(duì)該進(jìn)程發(fā)出的特定消息進(jìn)行加工處理,例如,執(zhí)行后續(xù)的步驟330至步驟370。
步驟330,載入至少一音效插件,以獲取各種不同的音效。
具體地,各應(yīng)用軟件的音效插件經(jīng)常會(huì)有更新,為了獲取足夠多的音效的種類,音效的載入包括主動(dòng)方式與被動(dòng)方式。
被動(dòng)方式時(shí),例如,控制平臺(tái)的操作界面上可以設(shè)置“下載”圖標(biāo),以提示用戶對(duì)音效庫(kù)進(jìn)行更新,控制平臺(tái)被動(dòng)的按照客戶的指示控制載入的時(shí)間。當(dāng)有更新信息時(shí),通過(guò)用戶的下載指示操作,音效插件載入模塊510在接收到控制平臺(tái)因響應(yīng)該下載指示操作而發(fā)出的控制命令后,進(jìn)行音效的載入。
主動(dòng)方式時(shí),例如,控制平臺(tái)的操作界面上可以進(jìn)行“定期更新”的設(shè)置,由控制平臺(tái)主動(dòng)控制載入的時(shí)間。一旦音效插件載入模塊510接收到控制平臺(tái)發(fā)出的定期更新的控制命令,則進(jìn)行音效的載入。載入的時(shí)間可以是一周也可以是一個(gè)月,這取決于用戶的實(shí)際需求是否被滿足。例如,當(dāng)用戶需求得以滿足時(shí),載入的時(shí)間可以被設(shè)置為一個(gè)月,當(dāng)用戶需求不被滿足時(shí),載入的時(shí)間將被縮短至一周甚至是每天,從而通過(guò)及時(shí)更新音效插件,獲取更多種類不同的音效,以使用戶需求得以滿足。
步驟340,存儲(chǔ)獲取到的音效,形成預(yù)設(shè)的音效庫(kù)。
該音效庫(kù)可以被設(shè)置在計(jì)算機(jī)、手機(jī)、平板電腦或者其它一些音頻硬件設(shè)備上,并且可以定期更新,以更好地滿足用戶日新月異的需求。
步驟350,從音效庫(kù)中提取存儲(chǔ)的音效。
具體地,該步驟350由音效提取單元431配合控制平臺(tái)執(zhí)行。
例如,用戶的需求是對(duì)酷狗音樂(lè)的音頻信號(hào)進(jìn)行消音,對(duì)QQ音樂(lè)的音頻信號(hào)添加回聲效果,對(duì)foobar2000的音頻信號(hào)添加增強(qiáng)低音效果。于是,用戶在控制平臺(tái)所提供的操作界面上對(duì)與音效庫(kù)中音效對(duì)應(yīng)的圖標(biāo)進(jìn)行勾選(例如,勾選與音效庫(kù)中消音效果對(duì)應(yīng)的“消音音效”圖標(biāo))??刂破脚_(tái)則根據(jù)接收到的用戶觸發(fā)的上述指示操作,產(chǎn)生相應(yīng)的控制命令,進(jìn)而使得音效提取單元431根據(jù)該控制命令從步驟340所形成的音效庫(kù)中提取該些音效,該些音效包括消音效果、回聲效果及增強(qiáng)低音效果。
當(dāng)然,在其他實(shí)施例中,用戶如果只有音效混合的需求,而并不看重于音頻信號(hào)應(yīng)該添加何種音效時(shí),該步驟350也可以由音效提取單元431獨(dú)立完成。例如,音頻信號(hào)獲取模塊420獲取到三個(gè)音頻信號(hào),則音效提取單元431提取音效庫(kù)中的前三個(gè)音效,以此類推。
步驟360,建立音效與多個(gè)音頻信號(hào)的對(duì)應(yīng)關(guān)系。
具體地,該步驟360由音效對(duì)應(yīng)單元432配合控制平臺(tái)執(zhí)行。
例如,用戶的需求是對(duì)酷狗音樂(lè)的音頻信號(hào)進(jìn)行消音,對(duì)QQ音樂(lè)的音頻信號(hào)添加回聲效果,對(duì)foobar2000的音頻信號(hào)添加增強(qiáng)低音效果。于是,用戶在控制平臺(tái)所提供的操作界面上進(jìn)行對(duì)應(yīng)的連接(例如,“酷狗音樂(lè)播放列表”圖標(biāo)與“消音音效”圖標(biāo)連接,其中,“酷狗音樂(lè)播放列表”圖標(biāo)已通過(guò)步驟320的音頻信號(hào)的獲取而被呈現(xiàn)于操作界面上,“消音音效”圖標(biāo)則是在步驟350中通過(guò)用戶勾選而被呈現(xiàn)于操作界面上)??刂破脚_(tái)則根據(jù)接收到的用戶觸發(fā)的上述指示操作,產(chǎn)生相應(yīng)的控制命令,進(jìn)而使得音效對(duì)應(yīng)單元432根據(jù)該控制命令建立音效與音頻信號(hào)的對(duì)應(yīng)關(guān)系,該對(duì)應(yīng)關(guān)系包括酷狗音樂(lè)對(duì)應(yīng)消音效果、QQ音樂(lè)對(duì)應(yīng)回聲效果及foobar2000對(duì)應(yīng)增強(qiáng)低音效果。
當(dāng)然,在其他實(shí)施例中,用戶如果只有音效混合的需求,而并不看重于音頻信號(hào)應(yīng)該添加何種音效時(shí),該步驟360也可以由音效對(duì)應(yīng)單元432獨(dú)立完成。例如,音效對(duì)應(yīng)單元432可以將音效提取單元431提取到的第一個(gè)音效對(duì)應(yīng)地分配給音頻獲取模塊420獲取到的第一個(gè)音頻信號(hào),以此類推。
步驟370,分別根據(jù)與每一音頻信號(hào)有對(duì)應(yīng)關(guān)系的音效對(duì)該音頻信號(hào)進(jìn)行音效處理,得到多個(gè)音頻處理信號(hào)。
具體地,音效處理信號(hào)獲取單元433根據(jù)音效對(duì)應(yīng)單元432所建立的對(duì)應(yīng)關(guān)系分別對(duì)音頻獲取模塊420獲取到的多個(gè)音頻信號(hào)進(jìn)行音效處理。例如,對(duì)酷狗音樂(lè)的音頻信號(hào)添加與酷狗音樂(lè)對(duì)應(yīng)的消音效果,對(duì)QQ音樂(lè)的音頻信號(hào)添加與QQ音樂(lè)對(duì)應(yīng)的回聲效果,對(duì)foobar2000的音頻信號(hào)添加與foobar2000對(duì)應(yīng)的增強(qiáng)低音效果,以此滿足了用戶的需求。
步驟380,將該些音頻處理信號(hào)進(jìn)行混音、輸出并播放。
具體地,由混音處理模塊440對(duì)步驟370中所得到的多個(gè)音頻處理信號(hào)進(jìn)行混音處理,以得到音效混音信號(hào)。由輸出模塊450將該音效混音信號(hào)傳輸至音頻接口,同時(shí)通過(guò)播放模塊460接收并播放。該些模塊均可采用現(xiàn)有技術(shù)中的結(jié)構(gòu)與技術(shù),例如,使用現(xiàn)有的混音軟件進(jìn)行混音處理,以聲卡作為音頻接口進(jìn)行音效混合信號(hào)的傳輸,以揚(yáng)聲器等音頻設(shè)備作為播放模塊進(jìn)行音效混合信號(hào)的播放,在此就不在一一贅述。
上述內(nèi)容,僅為本發(fā)明的較佳實(shí)施例,并非用于限制本發(fā)明的實(shí)施方案,本領(lǐng)域普通技術(shù)人員根據(jù)本發(fā)明的主要構(gòu)思和精神,可以十分方便地進(jìn)行相應(yīng)的變通或修改,故本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求書所要求的保護(hù)范圍為準(zhǔn)。