音樂產(chǎn)品設(shè)想:用波形檢測(cè)樂曲音調(diào)的強(qiáng)弱(有效果圖gif、原型demo)

0 評(píng)論 9438 瀏覽 9 收藏 9 分鐘

大家在日常聽音樂時(shí),偶爾會(huì)有對(duì)一些音調(diào)低弱的、或相反音調(diào)高昂的樂曲有需求。例如:傷感輕柔的流行歌曲,或輕音樂、或高昂的振動(dòng)人心的樂曲。普遍滿足這類需求的方式是通過(guò)人工編輯的歌單、分類。今天給大家分享的是我個(gè)人尋索的一種通過(guò)程序計(jì)算樂曲波形自動(dòng)匹配、區(qū)分樂曲音調(diào)強(qiáng)弱的方法。

傳統(tǒng)解決方案缺點(diǎn)

面對(duì)上文中所描述的需求,傳統(tǒng)的解決方案是從分類或者歌單當(dāng)中選取歌曲。這種選取歌曲的方式是通過(guò)人工編輯的方式實(shí)現(xiàn)的,缺點(diǎn)非常明顯:

1、會(huì)存在主觀層面的局限性,聽覺、感覺、理解上,人人各異,選出來(lái)的同類強(qiáng)弱音調(diào)的歌曲自然會(huì)不同,即:無(wú)一個(gè)標(biāo)準(zhǔn)。

2、缺乏可維護(hù)性。一個(gè)分類、歌單如果人工篩選挑出一遍,那么再人工去維護(hù)優(yōu)化一遍,這幾乎是無(wú)意義的,也無(wú)標(biāo)準(zhǔn)可參考去優(yōu)化。在沒有明顯的錯(cuò)誤情況下,人工優(yōu)化空間很小。隨著不斷新的歌曲的出現(xiàn),人工去翻舊賬優(yōu)化歷史歌單、分類的意義又不大。

3、人工成本的耗費(fèi)。不僅僅薪酬的消耗,人工精力也是消耗。不可能像機(jī)器一樣,一致保持一種“性能”。精力、狀態(tài)不同,導(dǎo)致的工作結(jié)果也會(huì)不同,最終選出的分類、歌單自然也質(zhì)量參差不齊。

4、曲庫(kù)一般量非常大,多則千萬(wàn)首樂曲,人工挑選不太可能百分百的將歌曲都予以篩選一遍,如果再加上返工優(yōu)化,那么工作量是非常大的。曲庫(kù)不能全部輸出,它的存在意義就會(huì)折扣。

波形測(cè)算方法

聲音的波形表示著它自身的物理屬性。波形中隨著時(shí)間軸幅值的變化表示音的強(qiáng)弱變化。

振幅的物理意義,振幅描述了物體振動(dòng)幅度的大小和振動(dòng)的強(qiáng)弱。發(fā)音體振動(dòng)的位移幅度,振幅大小同發(fā)音受到的外力大小有關(guān),振幅的大小決定聲音的強(qiáng)弱?!?dòng)百科

在聲振動(dòng)中,振幅是聲壓與靜止壓強(qiáng)之差的最大值。聲波的振幅以分貝為單位。聲波振幅的大小能夠決定音強(qiáng)?!俣劝倏?/p>

即按照此原理,進(jìn)行以下工作:

1、將樂曲的波形幅值一一取值。

2、對(duì)音調(diào)進(jìn)行強(qiáng)弱等級(jí)劃分,我個(gè)人的具體劃分等級(jí)為“強(qiáng)中弱”三個(gè)等級(jí)音調(diào)。具體的劃分幅值區(qū)間是非線性的。之所選擇非線性是因?yàn)槿藗儗?duì)音強(qiáng)弱感知是非線性的。這種非線性的劃分其實(shí)也具有人工主管性,不過(guò)這個(gè)僅僅是一個(gè)程序參數(shù),完全可以不斷進(jìn)行大量歌曲的實(shí)驗(yàn),進(jìn)行優(yōu)化。所以初始的誤差并不影響整體。

3、將一首樂曲的所有波形幅值進(jìn)行按等級(jí)區(qū)間進(jìn)行比較,分別落在每個(gè)等級(jí)區(qū)間的占比如何。在哪個(gè)等級(jí)區(qū)間占比越大,說(shuō)明樂曲越傾向于哪個(gè)區(qū)間的音調(diào)強(qiáng)弱程度。

在這里,我著重說(shuō)一下,其實(shí)樂曲在數(shù)字流媒體中播放時(shí),是數(shù)字信號(hào),離散的。類似視頻是一幀一幀的連續(xù),樂曲也是由有限個(gè)“音點(diǎn)”組成的。例如我們看到的上面一張波形圖,被放大后其實(shí)是:

相信大家看到這里便一目了然了。明白我說(shuō)的取值、然后匹配所在每個(gè)區(qū)間的比例等等的意思了。

4、得到每首樂曲的在每個(gè)強(qiáng)弱等級(jí)的占比,然后再進(jìn)行樂曲之間的相似對(duì)比,即可將同類的歌曲分為一類。如此一來(lái),強(qiáng)音、弱音即可分辨而來(lái)。其實(shí)可以幾秒即可跑完一首歌曲的,面對(duì)百萬(wàn)、千萬(wàn)的樂曲庫(kù),在服務(wù)器端同時(shí)跑一定數(shù)據(jù)樂曲,估計(jì)很快即可跑完。

5、以上都是程序中的原理,至于產(chǎn)品層面的設(shè)計(jì),其實(shí)非常類似于現(xiàn)在的歌單、分類,并無(wú)多難、深層次的東西在里面。

好了,說(shuō)了這么多,不Demo一下,是不是只管賣弄,不夠意思?就把自己用Java編寫的效果圖拿出來(lái)獻(xiàn)丑啦~(在圖片最下面不斷變化的就是這首樂曲音的強(qiáng)中弱音在已播放音中的占比值,是滾動(dòng)動(dòng)態(tài)的,因?yàn)槌绦虿恢篮竺娴囊舻膹?qiáng)弱多少,程序跑多少才能知道多少占比值。)

我也整理了一些歌曲的測(cè)算結(jié)果,大家也可以用播放器軟件試聽一下強(qiáng)弱度是不是我個(gè)人測(cè)出來(lái)的順序:

整個(gè)過(guò)程就是這樣了。但可能有些人會(huì)提到,波形是復(fù)雜的各個(gè)頻率波形的“集合”,而人們對(duì)不同頻率的強(qiáng)弱聽覺是不同的,正如韓寶強(qiáng)先生的著作《音的歷程-現(xiàn)代音樂聲學(xué)導(dǎo)論》所講:“相同音量的聲音出現(xiàn)在不同音區(qū)時(shí),我們聽起來(lái)響度會(huì)有差異?!保ú⑶以摃薪o出了“等響度曲線”。)

然而按我個(gè)人以上的算法其實(shí)是把不同頻率下的音強(qiáng)弱感知視為同一了。下面我來(lái)解釋一下:其實(shí)歌曲音頻的確是復(fù)雜。按照“等響度曲線”所描述的,只有高頻或低頻中的感覺會(huì)差異比較大,而一首樂曲并非只有高頻和低頻階段,往往是各個(gè)頻段都包含在內(nèi)。盡管我可以這么解釋,但的確是存在誤差的,尤其是對(duì)高頻或低頻占比比較大的樂曲,誤差較大,仍然有待優(yōu)化。

就到這兒了。周末無(wú)所事事,寫了這篇稿子,把2016年的想法和大家分享一下。這也是我計(jì)劃寫一個(gè)《產(chǎn)品與技術(shù)》系列的第一篇文章。雖然有些偏向技術(shù),但回看一下你會(huì)發(fā)現(xiàn),這其實(shí)是產(chǎn)品的體驗(yàn)思維貫穿始終。以解決用戶聽音樂的需求為出發(fā)點(diǎn),以用戶對(duì)樂曲強(qiáng)弱的感知為體驗(yàn)點(diǎn),技術(shù)依然只是實(shí)現(xiàn)手段。我們產(chǎn)品經(jīng)理的口號(hào)是:“技術(shù)改變產(chǎn)品,產(chǎn)品改變世界”,耶~~~

新的一周,祝大家工作順利。

對(duì)了,別忘了來(lái)我的其他文章看看哦~~評(píng)論,點(diǎn)贊、打個(gè)賞~~

 

本文由 @中人PM 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!