本發(fā)明涉及音頻處理,尤其是一種基于iptv的音樂k歌方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、現(xiàn)有的電視盒子的音樂k歌方案主要有兩種:一是基于安卓apk的k歌方案;二是基于epg頁面的k歌方案。
2、基于安卓apk的k歌原理是將用戶的聲音通過麥克風(fēng)傳輸?shù)诫娨暫凶又?,盒子中的apk通過usb接口讀取到麥克風(fēng)傳來的音頻數(shù)據(jù),通過音頻處理算法實時計算得分。不過,這種apk方案有一定的局限性:
3、1)部分地區(qū)的iptv電視盒子不支持安裝apk,方案不可用;
4、2)部分地區(qū)的iptv電視盒子沒有音頻輸入的usb口,方案不可用;
5、3)部分用戶的iptv電視盒子硬件配置較為老舊,運(yùn)行音頻處理算法卡頓,方案效果不佳;
6、4)如果用戶的電視盒子本身是基于epg的,而epg一般就是盒子的系統(tǒng)桌面,所以接入需要epg開發(fā)團(tuán)隊打開apk的下載、安裝、調(diào)起權(quán)限,而各個省份的epg應(yīng)用開發(fā)團(tuán)隊各不相同,這樣推廣的話需要對每個省份進(jìn)行專門的適配,開發(fā)工作量大;
7、5)由于信息安全問題,許多省份不推薦使用apk接入iptv。
8、基于epg的k歌方案原理是利用音箱的多路輸入功能;盒子的原伴唱音頻信號輸出口接音箱的輸入口一,麥克風(fēng)接音箱的輸入口二,音箱將兩路信號同時播放,就可以進(jìn)行k歌了。然而,這種方案麥克風(fēng)的信號直接通過音箱播放出來,沒有經(jīng)過音頻算法計算,所以此方案無法進(jìn)行k歌打分。
9、此外,市面上帶k歌打分功能的軟件還是有許多歌曲是不支持k歌打分的,這是因為版權(quán)提供方不一定能開發(fā)k歌打分算法,而k歌打分算法提供商沒有音樂版權(quán)。一般情況下,一個音樂公司的音樂版權(quán)是幾十家音樂版權(quán)提供方提供的,若要將大部分歌曲轉(zhuǎn)換成可k歌打分的文件,則需要聯(lián)合許多公司來合作,工作量巨大。
10、因此,亟需設(shè)計一種適配iptv盒子epg頁面的,且能自主將任意歌曲音頻轉(zhuǎn)換成可打分音頻的音樂k歌打分方案。
11、術(shù)語解釋:
12、iptv:網(wǎng)絡(luò)電視(internet?protocol?tv),它基于寬帶高速ip網(wǎng),以網(wǎng)絡(luò)視頻資源為主體,將電視機(jī)、個人電腦及手持設(shè)備作為顯示終端,通過機(jī)頂盒或計算機(jī)接入寬帶網(wǎng)絡(luò),實現(xiàn)數(shù)字電視、時移電視、互動電視等服務(wù),網(wǎng)絡(luò)電視的出現(xiàn)給人們帶來了一種全新的電視觀看方法,它改變了以往被動的電視觀看模式,實現(xiàn)了電視以網(wǎng)絡(luò)為基礎(chǔ)按需觀看、隨看隨停的便捷方式。
13、k歌:ktv的源頭來自于日本。ktv是karaok?tv的縮寫。karaok是個日英文的雜名,kara是日文“空”的意思,ok是英文“無人伴奏樂隊”(orchestra)的縮寫,到中國就演變成了“卡拉ok”?,F(xiàn)在則將其進(jìn)一步簡稱為k歌。
14、epg:iptv?epg實際上就是iptv的一個門戶系統(tǒng)。epg系統(tǒng)的界面與web頁面類似,在epg界面上一般都提供各類菜單、按鈕、鏈接等可供用戶選擇節(jié)目時直接點(diǎn)擊的組件;epg的界面上也可以包含各類供用戶瀏覽的動態(tài)或靜態(tài)的多媒體內(nèi)容。
15、apk:apk(全稱:android?application?package,android應(yīng)用程序包)是android操作系統(tǒng)使用的一種應(yīng)用程序包文件格式,用于分發(fā)和安裝移動應(yīng)用及中間件。
16、音樂版權(quán):音樂版權(quán)是音樂作品創(chuàng)作者對創(chuàng)作的作品依法享有的權(quán)利。明星、藝人、個人不得未經(jīng)過原作同意,在演唱會,電視節(jié)目,網(wǎng)絡(luò)直播,公共場合等,進(jìn)行翻唱歌曲,或惡搞、改編原作歌曲,否則會遭到原作公司起訴賠償巨額侵權(quán)費(fèi)用。
17、采樣率:采樣頻率,也稱為采樣速度或者采樣率,定義了單位時間內(nèi)從連續(xù)信號中提取并組成離散信號的采樣個數(shù),它用赫茲(hz)來表示。采樣頻率的倒數(shù)是采樣周期或者叫作采樣時間,它是采樣之間的時間間隔。通俗的講采樣頻率是指計算機(jī)單位時間內(nèi)能夠采集多少個信號樣本。
18、位深:位深,指的是數(shù)字音頻中每個采樣點(diǎn)所占的比特數(shù)。位深決定了數(shù)字音頻的動態(tài)范圍,即聲音信號的最大振幅和最小振幅之間的距離。位深越高,數(shù)字音頻的動態(tài)范圍越大,能夠更準(zhǔn)確地顯示出聲音信號的細(xì)節(jié)和差異。比如,cd音質(zhì)的位深為16位,即表示每個采樣點(diǎn)占據(jù)16比特。和采樣率一樣,更高的位深也會占據(jù)更多的存儲空間。
19、聲道:聲道(sound?channel)是指聲音在錄制或播放時在不同空間位置采集或回放的相互獨(dú)立的音頻信號,所以聲道數(shù)也就是聲音錄制時的音源數(shù)量或回放時相應(yīng)的揚(yáng)聲器數(shù)量。
20、傅里葉變換:傅里葉變換是一種分析信號的方法,它可分析信號的成分,也可用這些成分合成信號。傅里葉變換在理論研究與工程實踐中扮演著極其關(guān)鍵的角色,它提供了一種計算方法,將復(fù)雜的時域信號轉(zhuǎn)換為易于分析的頻域信號。
21、快速傅里葉變換(fft)算法:fft是一種dft的高效算法,稱為快速傅里葉變換(fast?fourier?transform)。
22、音高序列號:是指各種音調(diào)高低不同的聲音,即音的高度,音的基本特征的一種。
23、adobe?audition:adobe?audition(簡稱au,原名cool?edit?pro)是由adobe公司開發(fā)的一個專業(yè)音頻編輯和混合環(huán)境。audition專為在照相室、廣播設(shè)備和后期制作設(shè)備方面工作的音頻和視頻專業(yè)人員設(shè)計,可提供先進(jìn)的音頻混合、編輯、控制和效果處理功能。
24、fl?studio:fl?studio編曲軟件即“fruity?loops?studio”,簡稱fl,也就是國人眾所熟知的水果編曲軟件,圈內(nèi)用戶習(xí)慣叫它“水果”。它是一個全能音樂制作環(huán)境或數(shù)字音頻工作站(daw)。fl?studio可以進(jìn)行編曲、剪輯、錄音、混音,讓你的計算機(jī)變成全功能錄音室,幫助你制作出屬于自己的原創(chuàng)音樂。
25、wav:wav是最常見的聲音文件格式之一,是微軟公司專門為windows開發(fā)的一種標(biāo)準(zhǔn)數(shù)字音頻文件,該文件能記錄各種單聲道或立體聲的聲音信息,并能保證聲音不失真。它符合資源互換文件格式(riff)規(guī)范,用于保存windows平臺的音頻信息資源,被windows平臺及其應(yīng)用程序所廣泛支持。wave格式支持msadpcm、ccitt?a律、ccittμ律和其他壓縮算法,支持多種音頻位數(shù)、采樣頻率和聲道,是pc機(jī)上最為流行的聲音文件格式;但其文件尺寸較大,多用于存儲簡短的聲音片段。
26、flac:無損音頻壓縮編碼(free?lossless?audio?codec,簡稱flac)是一套自由音頻壓縮編碼,其特點(diǎn)是無損壓縮。不同于其他有損壓縮編碼如mp3及aac,它不會破壞任何原有的音頻信息,所以可以還原音樂光盤音質(zhì)[1]。2012年以來它已被很多軟件及硬件音頻產(chǎn)品(如cd等)所支持。
27、midi:midi文件并不是一段錄制好的聲音,而是記錄聲音的信息,然后再告訴聲卡如何再現(xiàn)音樂的一組指令。這樣一個midi文件每存1分鐘的音樂只用大約5~10kb。midi文件主要用于原始樂器作品、流行歌曲的業(yè)余表演、游戲音軌以及電子賀卡等。
28、txt:txt是微軟在操作系統(tǒng)上附帶的一種文本格式,是最常見的一種文件格式,早在dos時代應(yīng)用就很多,主要存儲文本信息,即為文字信息,現(xiàn)在的操作系統(tǒng)大多使用記事本等程序保存,大多數(shù)軟件可以查看,如記事本,瀏覽器等等。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于至少一定程度上解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。
2、為此,本發(fā)明實施例的一個目的在于提供一種基于iptv的音樂k歌方法,該方法通過iptv機(jī)頂盒實現(xiàn)了音樂k歌的實時打分,提高了用戶的使用體驗。
3、本發(fā)明實施例的另一個目的在于提供一種基于iptv的音樂k歌裝置。
4、為了達(dá)到上述技術(shù)目的,本發(fā)明實施例所采取的技術(shù)方案包括:
5、一方面,本發(fā)明實施例提供了一種基于iptv的音樂k歌方法,包括以下步驟:
6、響應(yīng)于用戶的音樂選擇指令,確定目標(biāo)音樂文件和對應(yīng)的目標(biāo)音樂標(biāo)識,播放所述目標(biāo)音樂文件,并將所述目標(biāo)音樂標(biāo)識發(fā)送至服務(wù)器;
7、通過所述服務(wù)器根據(jù)所述目標(biāo)音樂標(biāo)識確定對應(yīng)的目標(biāo)打分參考文件;
8、通過網(wǎng)絡(luò)音箱獲取用戶的目標(biāo)音頻流,并將所述目標(biāo)音頻流發(fā)送至所述服務(wù)器;
9、通過所述服務(wù)器根據(jù)所述目標(biāo)打分參考文件對所述目標(biāo)音頻流進(jìn)行打分,返回打分結(jié)果并通過epg頁面進(jìn)行展示。
10、進(jìn)一步地,在本發(fā)明的一個實施例中,所述音樂k歌方法還包括預(yù)先綁定所述網(wǎng)絡(luò)音箱的步驟,其具體包括:
11、響應(yīng)于用戶的設(shè)備綁定指令,通過epg頁面展示設(shè)備綁定二維碼;
12、通過用戶終端掃描所述設(shè)備綁定二維碼,使得所述用戶終端跳轉(zhuǎn)至設(shè)備綁定頁面;
13、通過所述用戶終端掃描所述網(wǎng)絡(luò)音箱的設(shè)備二維碼,并根據(jù)所述設(shè)備二維碼獲取所述網(wǎng)絡(luò)音箱的設(shè)備編碼;
14、響應(yīng)于用戶的綁定確認(rèn)指令,根據(jù)所述設(shè)備編碼將所述網(wǎng)絡(luò)音箱與用戶的iptv賬號進(jìn)行綁定。
15、進(jìn)一步地,在本發(fā)明的一個實施例中,所述響應(yīng)于用戶的音樂選擇指令,確定目標(biāo)音樂文件和對應(yīng)的目標(biāo)音樂標(biāo)識,播放所述目標(biāo)音樂文件,并將所述目標(biāo)音樂標(biāo)識發(fā)送至服務(wù)器,其具體包括:
16、通過epg頁面展示備選音樂列表;
17、當(dāng)監(jiān)測到所述音樂選擇指令,根據(jù)所述音樂選擇指令確定用戶選擇的目標(biāo)音樂名稱,并根據(jù)所述目標(biāo)音樂名稱獲取對應(yīng)的所述目標(biāo)音樂文件和所述目標(biāo)音樂標(biāo)識;
18、通過epg頁面展示播放準(zhǔn)備畫面,并在預(yù)設(shè)倒計時結(jié)束后播放所述目標(biāo)音樂文件;
19、通過iptv機(jī)頂盒將所述目標(biāo)音樂標(biāo)識發(fā)送至所述服務(wù)器。
20、進(jìn)一步地,在本發(fā)明的一個實施例中,所述根據(jù)所述目標(biāo)音樂標(biāo)識確定對應(yīng)的目標(biāo)打分參考文件,其具體包括:
21、獲取預(yù)設(shè)的打分文件庫;
22、根據(jù)所述目標(biāo)音樂標(biāo)識在所述打分文件庫中進(jìn)行匹配檢索,得到所述目標(biāo)打分參考文件;
23、其中,所述目標(biāo)打分參考文件包括各個目標(biāo)發(fā)音的開始時間、持續(xù)時長以及音高序列號。
24、進(jìn)一步地,在本發(fā)明的一個實施例中,所述音樂k歌方法還包括預(yù)先構(gòu)建所述打分文件庫的步驟,其具體包括:
25、獲取多個備選音樂文件,將所述備選音樂文件的人聲與背景音進(jìn)行分離,得到人聲文件;
26、將所述人聲文件轉(zhuǎn)化為midi格式的發(fā)音文件,并對所述發(fā)音文件進(jìn)行雜音去除,得到評分文件;
27、根據(jù)所述評分文件的每個發(fā)音的開始時間、持續(xù)時長以及音高序列號,生成對應(yīng)各個發(fā)音的評分?jǐn)?shù)組,并根據(jù)所述評分?jǐn)?shù)組生成打分參考文件;
28、確定各所述打分參考文件對應(yīng)的所述備選音樂文件的音樂標(biāo)識,根據(jù)所述打分參考文件和所述音樂標(biāo)識生成鍵值對,進(jìn)而根據(jù)所述鍵值對構(gòu)建所述打分文件庫。
29、進(jìn)一步地,在本發(fā)明的一個實施例中,所述根據(jù)所述目標(biāo)打分參考文件對所述目標(biāo)音頻流進(jìn)行打分,返回打分結(jié)果并通過epg頁面進(jìn)行展示,其具體包括:
30、根據(jù)所述目標(biāo)打分參考文件確定各個目標(biāo)發(fā)音的開始時間、持續(xù)時長以及音高序列號;
31、確定所述目標(biāo)音頻流的多個音頻流數(shù)據(jù)包和對應(yīng)的時間戳;
32、根據(jù)所述目標(biāo)發(fā)音的開始時間、持續(xù)時長以及所述音頻流數(shù)據(jù)包的時間戳,確定各所述目標(biāo)發(fā)音對應(yīng)的多個目標(biāo)音頻流數(shù)據(jù)包,進(jìn)而根據(jù)所述目標(biāo)音頻流數(shù)據(jù)包確定目標(biāo)音頻流數(shù)據(jù)段;
33、根據(jù)所述目標(biāo)發(fā)音的音高序列號對所述目標(biāo)音頻流數(shù)據(jù)段進(jìn)行打分,得到所述目標(biāo)音頻流數(shù)據(jù)段的用戶發(fā)音得分;
34、根據(jù)當(dāng)前時刻已得到的各所述目標(biāo)音頻流數(shù)據(jù)段的用戶發(fā)音得分的均值確定實時打分結(jié)果,并將所示實時打分結(jié)果返回至iptv機(jī)頂盒,進(jìn)而通過epg頁面展示所述實時打分結(jié)果。
35、進(jìn)一步地,在本發(fā)明的一個實施例中,所述根據(jù)所述目標(biāo)發(fā)音的音高序列號對所述目標(biāo)音頻流數(shù)據(jù)段進(jìn)行打分,得到所述目標(biāo)音頻流數(shù)據(jù)段的用戶發(fā)音得分,其具體包括:
36、對所述目標(biāo)音頻流數(shù)據(jù)包進(jìn)行快速傅里葉變換,得到目標(biāo)頻域信號,并根據(jù)所述目標(biāo)頻域信號確定目標(biāo)虛數(shù)數(shù)組;
37、計算所述目標(biāo)虛數(shù)數(shù)組中各個虛數(shù)的模,并確定模最大的虛數(shù)在所述目標(biāo)虛數(shù)數(shù)組中的目標(biāo)序號,進(jìn)而根據(jù)所述目標(biāo)序號計算所述目標(biāo)音頻流數(shù)據(jù)包的第一波特率;
38、根據(jù)所述目標(biāo)發(fā)音的音高序列號計算所述目標(biāo)發(fā)音的第二波特率;
39、計算所述第一波特率與所述第二波特率的差值絕對值,根據(jù)所述差值絕對值與所述第二波特率的比值確定所述目標(biāo)音頻流數(shù)據(jù)包的波特率偏差,進(jìn)而根據(jù)所述波特率偏差確定所述目標(biāo)音頻流數(shù)據(jù)包是否跑調(diào);
40、確定所述目標(biāo)音頻流數(shù)據(jù)段中未跑調(diào)的所述目標(biāo)音頻流數(shù)據(jù)包的第一數(shù)量,以及跑調(diào)的所述目標(biāo)音頻流數(shù)據(jù)包的第二數(shù)量;
41、根據(jù)所述第一數(shù)量和所述第二數(shù)量確定所述用戶發(fā)音得分。
42、另一方面,本發(fā)明實施例提供了一種基于iptv的音樂k歌裝置,包括:
43、音樂文件播放模塊,用于響應(yīng)于用戶的音樂選擇指令,確定目標(biāo)音樂文件和對應(yīng)的目標(biāo)音樂標(biāo)識,播放所述目標(biāo)音樂文件,并將所述目標(biāo)音樂標(biāo)識發(fā)送至服務(wù)器;
44、參考文件確定模塊,用于通過所述服務(wù)器根據(jù)所述目標(biāo)音樂標(biāo)識確定對應(yīng)的目標(biāo)打分參考文件;
45、音頻流獲取模塊,用于通過網(wǎng)絡(luò)音箱獲取用戶的目標(biāo)音頻流,并將所述目標(biāo)音頻流發(fā)送至所述服務(wù)器;
46、音頻流打分模塊,用于通過所述服務(wù)器根據(jù)所述目標(biāo)打分參考文件對所述目標(biāo)音頻流進(jìn)行打分,返回打分結(jié)果并通過epg頁面進(jìn)行展示。
47、另一方面,本發(fā)明實施例提供了一種電子設(shè)備,所述電子設(shè)備包括存儲器、處理器、存儲在所述存儲器上并可在所述處理器上運(yùn)行的程序以及用于實現(xiàn)所述處理器和所述存儲器之間的連接通信的數(shù)據(jù)總線,所述程序被所述處理器執(zhí)行時實現(xiàn)如前面所述的基于iptv的音樂k歌方法。
48、另一方面,本發(fā)明實施例還提供了一種存儲介質(zhì),所述存儲介質(zhì)為計算機(jī)可讀存儲介質(zhì),用于計算機(jī)可讀存儲,所述存儲介質(zhì)存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)如前面所述的基于iptv的音樂k歌方法。
49、本發(fā)明的優(yōu)點(diǎn)和有益效果將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到:
50、本發(fā)明實施例響應(yīng)于用戶的音樂選擇指令,確定目標(biāo)音樂文件和對應(yīng)的目標(biāo)音樂標(biāo)識,播放目標(biāo)音樂文件,并將目標(biāo)音樂標(biāo)識發(fā)送至服務(wù)器,通過服務(wù)器根據(jù)目標(biāo)音樂標(biāo)識確定對應(yīng)的目標(biāo)打分參考文件,通過網(wǎng)絡(luò)音箱獲取用戶的目標(biāo)音頻流,并將目標(biāo)音頻流發(fā)送至服務(wù)器,通過服務(wù)器根據(jù)目標(biāo)打分參考文件對目標(biāo)音頻流進(jìn)行打分,返回打分結(jié)果并通過epg頁面進(jìn)行展示。本發(fā)明實施例將iptv賬號與網(wǎng)絡(luò)音箱綁定,網(wǎng)絡(luò)音箱在播放用戶的目標(biāo)音頻流的同時,將目標(biāo)音頻流推送到服務(wù)器,通過服務(wù)器存儲的打分參考文件對目標(biāo)音頻流進(jìn)行實時打分,并傳輸給epg頁面進(jìn)行展示,從而通過iptv機(jī)頂盒實現(xiàn)了音樂k歌的實時打分,克服了現(xiàn)有技術(shù)中基于apk的k歌方案無法在iptv機(jī)頂盒進(jìn)行大量推廣的局限性問題,也克服了現(xiàn)有技術(shù)中基于epg頁面的k歌方案在無法打分的問題,提高了用戶的使用體驗。