本發(fā)明專(zhuān)利技術(shù)公開(kāi)了一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法,涉及多媒體應(yīng)用技術(shù)領(lǐng)域,包括采集聲卡音頻數(shù)據(jù)和麥克風(fēng)的音頻數(shù)據(jù);使用采集到的音頻數(shù)據(jù)的聲音位數(shù)表示其采樣值,對(duì)全部采集到的音頻數(shù)據(jù)的采樣值進(jìn)行數(shù)據(jù)歸一化;設(shè)置聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重;根據(jù)聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重計(jì)算出混音后的音頻數(shù)據(jù)的采樣值;根據(jù)混音后的音頻數(shù)據(jù)的采樣值輸出混音后的音頻數(shù)據(jù)。本發(fā)明專(zhuān)利技術(shù)可保證混音后音頻數(shù)據(jù)的聲音質(zhì)量且可根據(jù)用戶(hù)需求調(diào)整混音輸出屬性本發(fā)明專(zhuān)利技術(shù)還公開(kāi)了一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的系統(tǒng)。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專(zhuān)利技術(shù)涉及多媒體應(yīng)用
,具體涉及一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法及系統(tǒng)。
技術(shù)介紹
獲取系統(tǒng)聲卡和麥克風(fēng)的聲音是一個(gè)應(yīng)用比較廣泛的功能,最常見(jiàn)的有QQ的遠(yuǎn)程協(xié)助功能、一些監(jiān)控軟件以及一些直播軟件、視頻會(huì)議等,都會(huì)對(duì)系統(tǒng)聲卡以及麥克風(fēng)進(jìn)行實(shí)時(shí)的聲音采集,并利用相關(guān)的音頻編碼器對(duì)采集到的聲卡和麥克風(fēng)聲音進(jìn)行編碼,然后利用網(wǎng)絡(luò)進(jìn)行傳輸。現(xiàn)在一般通過(guò)對(duì)采集到的聲卡和麥克風(fēng)聲音直接線(xiàn)性疊加后求平均值的方法計(jì)算出混音后的音頻數(shù)據(jù)。其缺點(diǎn)是對(duì)于原音頻數(shù)據(jù)的衰減過(guò)大,影響聲音質(zhì)量。同時(shí),采用直接線(xiàn)性疊加后求平均值的方法在混音后只能輸出固定頻率的聲音,而無(wú)法根據(jù)用戶(hù)的需求調(diào)整聲卡或麥克風(fēng)的聲音數(shù)據(jù)所占比例。
技術(shù)實(shí)現(xiàn)思路
針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本專(zhuān)利技術(shù)的目的在于提供一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法及系統(tǒng),可獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音,保證混音后音頻數(shù)據(jù)的聲音質(zhì)量且可根據(jù)用戶(hù)需求調(diào)整混音輸出屬性。為達(dá)到以上目的,本專(zhuān)利技術(shù)采取的技術(shù)方案是:采集聲卡和麥克風(fēng)的音頻數(shù)據(jù),并使用該音頻數(shù)據(jù)的聲音位數(shù)表示其采樣值,對(duì)采集到的音頻數(shù)據(jù)的采樣值進(jìn)行數(shù)據(jù)歸一化,并設(shè)置聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重,所述聲卡混音權(quán)重為聲卡的音頻數(shù)據(jù)占混音后的音頻數(shù)據(jù)的比值,所述麥克風(fēng)混音權(quán)重為麥克風(fēng)的音頻數(shù)據(jù)占混音后的音頻數(shù)據(jù)的比值;根據(jù)聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重計(jì)算出混音后的音頻數(shù)據(jù)的采樣值,根據(jù)混音后的音頻數(shù)據(jù)的采樣值輸出混音后的音頻數(shù)據(jù)。在上述技術(shù)方案的基礎(chǔ)上,混音后的音頻數(shù)據(jù)的采樣值=聲卡音頻數(shù)據(jù)的采樣值*聲卡混音權(quán)重+麥克風(fēng)音頻數(shù)據(jù)的采樣值*麥克風(fēng)混音權(quán)重。在上述技術(shù)方案的基礎(chǔ)上,采集聲卡音頻數(shù)據(jù)和麥克風(fēng)的音頻數(shù)據(jù)的具體過(guò)程包括:創(chuàng)建IMMDeviceEnumerator接口;通過(guò)IMMDeviceEnumerator接口分別獲取聲卡和者麥克風(fēng)對(duì)應(yīng)的IMMDevice接口;通過(guò)IMMDevice接口獲取IAudioClient接口;通過(guò)IAudioClient接口獲取到IAudioCaptureClient接口;實(shí)時(shí)監(jiān)測(cè)聲卡或麥克風(fēng)中是否有數(shù)據(jù);監(jiān)測(cè)到有數(shù)據(jù)時(shí),調(diào)用通過(guò)IAudioCaptureClient接口獲取聲卡或麥克風(fēng)中的聲音數(shù)據(jù)。在上述技術(shù)方案的基礎(chǔ)上,將聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重設(shè)置為等值,輸出的混音中聲卡的聲音與麥克風(fēng)的聲音均勻輸出。在上述技術(shù)方案的基礎(chǔ)上,設(shè)置聲卡混音權(quán)重大于麥克風(fēng)混音權(quán)重,輸出的混音突出聲卡的聲音而抑制麥克風(fēng)的聲音。在上述技術(shù)方案的基礎(chǔ)上,設(shè)置聲卡混音權(quán)重小于麥克風(fēng)混音權(quán)重,輸出的混音抑制聲卡的聲音而突出麥克風(fēng)的聲音。在上述技術(shù)方案的基礎(chǔ)上,聲卡混音權(quán)重與麥克風(fēng)混音權(quán)重之和為1。在上述技術(shù)方案的基礎(chǔ)上,將全部采集到的音頻數(shù)據(jù)的采樣值歸一化到[-1,1]范圍內(nèi)。在上述技術(shù)方案的基礎(chǔ)上,混音后的音頻數(shù)據(jù)的采樣值大于1時(shí),將混音后的音頻數(shù)據(jù)的采樣值算為1;混音后的音頻數(shù)據(jù)的采樣值小于-1時(shí),將混音后的音頻數(shù)據(jù)的采樣值算為-1。本專(zhuān)利技術(shù)還公開(kāi)了一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的系統(tǒng),包括:音頻獲取模塊,用于采集聲卡音頻數(shù)據(jù)和麥克風(fēng)的音頻數(shù)據(jù);歸一處理模塊,用于使用采集到的音頻數(shù)據(jù)的聲音位數(shù)表示其采樣值,對(duì)全部采集到的音頻數(shù)據(jù)的采樣值進(jìn)行數(shù)據(jù)歸一化;混音處理模塊,用于設(shè)置聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重;根據(jù)聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重計(jì)算出混音后的音頻數(shù)據(jù)的采樣值;根據(jù)混音后的音頻數(shù)據(jù)的采樣值輸出混音后的音頻數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本專(zhuān)利技術(shù)的優(yōu)點(diǎn)在于:(1)本專(zhuān)利技術(shù)采集聲卡和麥克風(fēng)的音頻數(shù)據(jù)并對(duì)全部采集到的音頻數(shù)據(jù)的采樣值進(jìn)行數(shù)據(jù)歸一化,再根據(jù)用戶(hù)需求設(shè)置聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重,計(jì)算出混音后的音頻數(shù)據(jù)的數(shù)值。采用歸一化算法與直接求平均值的算法相比聲音保真度更佳,可保證混音后音頻數(shù)據(jù)的聲音質(zhì)量;同時(shí)可根據(jù)用戶(hù)需求調(diào)整混音輸出屬性。(2)本專(zhuān)利技術(shù)在混音后的音頻數(shù)據(jù)的采樣值大于1時(shí),將混音后的音頻數(shù)據(jù)的采樣值算為1;在混音后的音頻數(shù)據(jù)的采樣值小于-1時(shí),將混音后的音頻數(shù)據(jù)的采樣值算為-1,從而實(shí)現(xiàn)對(duì)混音后的音頻數(shù)據(jù)的數(shù)據(jù)溢出的處理,避免混音后的音頻數(shù)據(jù)的上溢出和下溢出,避免出現(xiàn)溢出的干擾噪音。附圖說(shuō)明圖1為本專(zhuān)利技術(shù)實(shí)施例中獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法的流程示意圖;圖2為本專(zhuān)利技術(shù)實(shí)施例中獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法的步驟S1的流程示意圖;圖3為本專(zhuān)利技術(shù)實(shí)施例中獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的系統(tǒng)的結(jié)構(gòu)示意圖。具體實(shí)施方式以下結(jié)合附圖及實(shí)施例對(duì)本專(zhuān)利技術(shù)作進(jìn)一步詳細(xì)說(shuō)明。參見(jiàn)圖1所示,本專(zhuān)利技術(shù)實(shí)施例提供一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法,包括:S1,采集聲卡音頻數(shù)據(jù)和麥克風(fēng)的音頻數(shù)據(jù);S2,使用采集到的音頻數(shù)據(jù)的聲音位數(shù)表示其采樣值,對(duì)全部采集到的音頻數(shù)據(jù)的采樣值進(jìn)行數(shù)據(jù)歸一化;將全部采集到的音頻數(shù)據(jù)的采樣值歸一化到[-1,1]范圍內(nèi)。例如,通常采用的音頻數(shù)據(jù)的聲音位數(shù)最高為128位,系統(tǒng)一般將高頻聲音的聲音位數(shù)記為正數(shù),將低頻聲音的聲音位數(shù)記為負(fù)數(shù),因此音頻數(shù)據(jù)的聲音位數(shù)在[-128,128]范圍內(nèi)。將實(shí)際的音頻數(shù)據(jù)的采樣值均除以128即可將全部音頻數(shù)據(jù)的采樣值歸一化至[-1,1]范圍內(nèi)。S3,設(shè)置聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重;S4,根據(jù)聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重計(jì)算出混音后的音頻數(shù)據(jù)的采樣值;例如,設(shè)置聲卡混音權(quán)重為[0,1]范圍內(nèi),設(shè)置麥克風(fēng)混音權(quán)重為為[0,1]范圍內(nèi),所述聲卡混音權(quán)重與所述麥克風(fēng)混音權(quán)重之和為1;混音后的音頻數(shù)據(jù)的采樣值=聲卡音頻數(shù)據(jù)的采樣值*聲卡混音權(quán)重+麥克風(fēng)音頻數(shù)據(jù)的采樣值*麥克風(fēng)混音權(quán)重;S5,根據(jù)混音后的音頻數(shù)據(jù)的采樣值輸出混音后的音頻數(shù)據(jù)。參見(jiàn)圖2所示,采集聲卡音頻數(shù)據(jù)和麥克風(fēng)的音頻數(shù)據(jù)的具體過(guò)程包括:S101,創(chuàng)建IMMDeviceEnumerator接口;S102,通過(guò)IMMDeviceEnumerator接口分別獲取聲卡和者麥克風(fēng)對(duì)應(yīng)的IMMDevice接口;S103,通過(guò)IMMDevice接口獲取IAudioClient接口;S104,通過(guò)IAudioClient接口獲取到IAudioCaptureClient接口;S105,實(shí)時(shí)監(jiān)測(cè)聲卡或麥克風(fēng)中是否有數(shù)據(jù);S106,監(jiān)測(cè)到有數(shù)據(jù)時(shí),調(diào)用通過(guò)IAudioCaptureClient接口獲取聲卡或麥克風(fēng)中的聲音數(shù)據(jù)。例如,采集聲卡音頻數(shù)據(jù)和麥克風(fēng)的音頻數(shù)據(jù)的具體過(guò)程包括:1、創(chuàng)建IMMDeviceEnumerator接口利用系統(tǒng)API函數(shù)CoCreateInstance函數(shù),創(chuàng)建一個(gè)CLSID(ClassID類(lèi)標(biāo)識(shí)符,用于實(shí)例化對(duì)象)為CLSID_MMDeviceEnumerator值的IMMDeviceEnumerator接口,進(jìn)入下面的步驟。2、獲取對(duì)應(yīng)設(shè)備名稱(chēng)的IMMDevice接口在Windows系統(tǒng)中每一個(gè)物理的音頻設(shè)備都對(duì)應(yīng)一個(gè)設(shè)備名稱(chēng),和一個(gè)GUID(GlobalUniqueIDentifier)標(biāo)識(shí)符,利用該標(biāo)識(shí)符便可以利用IMMDeviceEnumerator接口的GetDevice方法,獲取IMMDevice接口。3、獲取IAudioClient接口通過(guò)上步中獲取到的IMMDevice接口,調(diào)用器Activate方法獲取IAudioClient接口。4、獲取IAudioC本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法,其特征在于:采集聲卡和麥克風(fēng)的音頻數(shù)據(jù),并使用該音頻數(shù)據(jù)的聲音位數(shù)表示其采樣值,對(duì)采集到的音頻數(shù)據(jù)的采樣值進(jìn)行數(shù)據(jù)歸一化,并設(shè)置聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重,所述聲卡混音權(quán)重為聲卡的音頻數(shù)據(jù)占混音后的音頻數(shù)據(jù)的比值,所述麥克風(fēng)混音權(quán)重為麥克風(fēng)的音頻數(shù)據(jù)占混音后的音頻數(shù)據(jù)的比值;根據(jù)聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重計(jì)算出混音后的音頻數(shù)據(jù)的采樣值,根據(jù)混音后的音頻數(shù)據(jù)的采樣值輸出混音后的音頻數(shù)據(jù)。
【技術(shù)特征摘要】
1.一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法,其特征在于:采集聲卡和麥克風(fēng)的音頻數(shù)據(jù),并使用該音頻數(shù)據(jù)的聲音位數(shù)表示其采樣值,對(duì)采集到的音頻數(shù)據(jù)的采樣值進(jìn)行數(shù)據(jù)歸一化,并設(shè)置聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重,所述聲卡混音權(quán)重為聲卡的音頻數(shù)據(jù)占混音后的音頻數(shù)據(jù)的比值,所述麥克風(fēng)混音權(quán)重為麥克風(fēng)的音頻數(shù)據(jù)占混音后的音頻數(shù)據(jù)的比值;根據(jù)聲卡混音權(quán)重和麥克風(fēng)混音權(quán)重計(jì)算出混音后的音頻數(shù)據(jù)的采樣值,根據(jù)混音后的音頻數(shù)據(jù)的采樣值輸出混音后的音頻數(shù)據(jù)。2.如權(quán)利要求1所述的一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法,其特征在于:混音后的音頻數(shù)據(jù)的采樣值=聲卡音頻數(shù)據(jù)的采樣值*聲卡混音權(quán)重+麥克風(fēng)音頻數(shù)據(jù)的采樣值*麥克風(fēng)混音權(quán)重。3.如權(quán)利要求1所述的一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法,其特征在于:采集聲卡音頻數(shù)據(jù)和麥克風(fēng)的音頻數(shù)據(jù)的具體過(guò)程包括:創(chuàng)建IMMDeviceEnumerator接口;通過(guò)IMMDeviceEnumerator接口分別獲取聲卡和者麥克風(fēng)對(duì)應(yīng)的IMMDevice接口;通過(guò)IMMDevice接口獲取IAudioClient接口;通過(guò)IAudioClient接口獲取到IAudioCaptureClient接口;實(shí)時(shí)監(jiān)測(cè)聲卡或麥克風(fēng)中是否有數(shù)據(jù);監(jiān)測(cè)到有數(shù)據(jù)時(shí),調(diào)用通過(guò)IAudioCaptureClient接口獲取聲卡或麥克風(fēng)中的聲音數(shù)據(jù)。4.如權(quán)利要求1述的一種獲取聲卡和麥克風(fēng)聲音并進(jìn)行混音的方法,其特征在于:將聲卡混音權(quán)重和麥...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:楊亮,
申請(qǐng)(專(zhuān)利權(quán))人:武漢斗魚(yú)網(wǎng)絡(luò)科技有限公司,
類(lèi)型:發(fā)明
國(guó)別省市:湖北;42
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。