為了能實時監測聽眾的情緒狀態變化并據此調整音樂播放列表,本文中,我們基于便攜式干電極腦電數據提出了一種腦電驅動的個性化情緒音樂推薦系統的算法框架,并在Android平臺上進行了初步開發實現。我們以效價和喚醒度二維情緒模型為基準,將腦電和相應種子歌曲映射到各個情緒坐標象限內,從而建立映射關系。然后應用美爾頻率倒譜系數分析音樂庫中各歌曲與種子歌曲之間的相似度并進行排序。最后,在播放歌曲階段,我們通過腦電來識別聽眾的情緒狀態,根據事先獲得的情緒狀態匹配關系播放并實時調整相應的歌曲曲目列表。
引用本文: 馬勇, 李娟, 呂彬. 腦電信號驅動的個性化情緒音樂播放系統算法研究及初步實現*. 生物醫學工程學雜志, 2016, 33(1): 38-41. doi: 10.7507/1001-5515.20160008 復制
0 引言
互聯網技術的發展使得人們能夠更加便捷地獲取大量數字音樂,如何從海量音樂數據庫中檢索到個人感興趣的歌曲成為用戶剛性需求,個性化音樂檢索及推薦也因此逐漸成為音頻處理和推薦系統等領域的熱點研究問題之一。傳統的音樂推薦系統大致可分為兩大類,即基于標簽的方法和基于內容的方法。前者主要是依據協同標注過程中用戶所標注的歌名、歌手、曲風類別等關鍵詞來進行檢索[1],后者則是通過對歌曲進行音頻處理,根據所提取的音樂內容本身特征(如節奏、音色、音高、旋律等)來進行檢索[2]。
這類音樂推薦算法已經取得顯著成果,并在一些網絡音樂電臺得到廣泛使用,如國外的Pandora、Last.fm,國內的豆瓣電臺、蝦米電臺等。音樂作為情緒的藝術,其所承載的情緒元素可以引起聽者相應的情緒響應并進行情緒狀態的調節。近年來,隨著可穿戴式設備的蓬勃發展,用戶的情緒狀態可以通過這些可穿戴設備所采集的各種生理信號進行實時識別,并基于此來調整音樂播放列表的生成,實現特定場景下的個性化情緒音樂播放器。微軟的Oliver等[3]基于手機和心率傳感器開發了一套用于跑步鍛煉的音樂播放系統。該系統基于采集的用戶心率和運動速度進行準則判斷,用以選擇播放相應節律的歌曲,輔助用戶實現加速、減速或保持勻速等鍛煉目的。Janssen等[4]采用便攜的皮膚溫度傳感器收集實時數據來對用戶情緒狀態進行建模,據此來選擇播放不同情緒效價級別的歌曲,實現了一個個性化的情緒音樂播放器。Sato等[5]開發了一套系統,通過從用戶聲音中提取出呼吸節律,來同步播放近似節律的歌曲。Liu等[6]采用NeuroSky公司開發的腦電干電極監測駕駛員的警覺度,并播放相應的歌曲以避免駕駛員在駕駛過程中產生睡意。
本文中,我們基于便攜式干電極腦電數據提出了一種腦電驅動的個性化情緒音樂推薦系統的算法框架,并基于Android平臺進行了初步開發及實現。首先,我們采集聽眾在聽一些種子歌曲時候的腦電數據,通過對腦電數據和歌曲時間序列進行數據分析和特征提取,以經典的效價(Valence)和喚醒度(Arousal)二維情緒模型為基準[7],將腦電和相應種子歌曲映射到各個情緒坐標象限內,建立兩者在情緒狀態間的對應聯系。同時,對歌曲進行基于內容的相似度分析,在音樂庫中找尋與種子歌曲比較相似的那些曲目,從而將這些歌曲進行情緒象限的標識。然后,在播放歌曲階段,通過腦電來識別聽眾的情緒狀態,根據事先獲得的情緒狀態匹配關系播放相應的歌曲曲目,同時基于腦電數據所反映的實時情緒動態變化情況,自動生成適宜的下一首播放歌曲列表。
1 系統設計及算法流程
1.1 系統整體流程框架
該系統的整體流程框架圖如圖1所示。大致可以分為兩大部分。第一部分為腦電與歌曲之間的情緒匹配及音樂相似度計算(圖1虛線以上部分);第二部分為情緒狀態腦電實時識別及其相應歌曲的推薦播放(圖1虛線以下部分)。

1.2 情緒二維模型
從早期Darwin等[8]進行情緒研究開始,心理學領域已建立有多個情緒離散模型[9]。同時,情緒維度理論也得到發展,最經典的維度理論認為情緒是由效價和喚醒度兩大連續維度組成[7]。效價是指情緒的愉悅程度(正性愉悅-負性非愉悅),喚醒度則是指情緒的強烈程度(低生理喚醒-高生理喚醒)。我們可以據此將情緒狀態粗略歸類為正性愉悅和低生理喚醒、正性愉悅和高生理喚醒、負性愉悅和低生理喚醒,以及負性愉悅和高生理喚醒四大類。
1.3 便攜式腦電數據采集及特征分析
實驗中,我們采用神念科技公司(NeuroSky Inc.)開發的Mindwave Mobile單通道干電極腦電采集設備進行腦電數據的收集,該設備穿戴便攜,所采集的數據可以通過藍牙實時傳輸到手機或者電腦上去。我們在安靜狀態下,讓被試者頭戴Mindwave Mobile設備,在播放歌曲的同時,收集該時間段內的腦電數據。歌曲播放結束后,讓被試者對該歌曲進行情緒類別的評定,分別在正負效價和高低喚醒度兩個維度上進行選擇。
對于所采集的腦電,在進行基線漂移和帶通濾波之后,分別提取腦電各個頻段的功率譜,包括:delta頻段(δ: 1~3 Hz),theta頻段(θ: 4~7 Hz),alpha頻段(α: 8~13 Hz),beta頻段(β: 14~30 Hz),以及gamma頻段(γ: 31~50 Hz)等。
1.4 基于內容的音樂特征分析
研究人員已經基于音樂內容分析提出了很多種相似度度量方法[10],本文中我們采用美爾頻率倒譜系數(Mel frequency cepstrum coefficients,MFCC)來對所播放的歌曲進行特征提取[11]。計算流程可以簡單概括為:
(1)歌曲由44.1 kHz降采樣率至22.05 kHz,分幀處理后,將每一幀音樂數據段進行快速傅里葉變換(fast Fourier transform,FFT)變換成頻率信號,然后將頻率信號轉換至美爾頻域,轉換公式如式(1)所示,其中f為頻率,fmel(f)為相應的美爾頻率。
$\[{{f}_{mel}}(f)=2595\cdot \log \left( 1+\frac{f}{700} \right)\]$ |
(2)在美爾頻域進行多個三角帶通濾波器處理,然后進行離散余弦反變換,從而獲得一系列MFCC系數,其中我們選擇前20維系數。圖2中示意了我們對歌曲《海頓小夜曲》進行處理后所獲得的MFCC系數矩陣。

由于一首歌包含有很多幀,如《海頓小夜曲》就包括7 898幀,所以我們還需要對所有幀的MFCC系數進行聚類分析,這里我們應用基于混合迭代的K均值聚類方法來實現,選定目標聚類個數為5個,最后選擇聚類中心和類內方差來表征該首歌。
1.5 基于情緒狀態進行腦電和歌曲的匹配
在第一部分腦電與歌曲之 間進行情緒匹配階段,我們選擇了20首種子歌曲,分別播放給被試者并進行腦電數據的收集。招募了兩名被試者(均為男性在讀研究生,分別為24歲和27歲)進行相關實驗收集數據。基于被試者對歌曲的情緒類別主觀評定,在統計分析的基礎上,我們選用線性辨別分析和支持向量機兩種方法進行分類識別模型的建立。
1.6 歌曲相似度計算
對數據庫中的100首歌曲,每首歌均提取MFCC系數并進行聚類處理后,分別計算與種子歌曲之間的相似度。之前有研究應用高斯混合模型來實現歌曲之間相似度的計算[12]。這里,我們選用陸地運動距離(earth mover’s distance,EMD)來進行度量[13]。假定某種子歌曲的MFCC系數五個聚類中心服從P分布,待計算歌曲的五個聚類中心服從Q分布,各個聚類中心之間的距離用fij和dij表示(m=n=5),則兩首歌之間的相似度D可以通過公式(2)來計算:
$\[\text{D}\left( P,Q,\text{F} \right)\text{=}\sum\limits_{i=1}^{m}{\sum\limits_{j=1}^{n}{{{f}_{ij}}{{d}_{ij}}}}\]$ |
2 系統初步實現
基于圖1的框架流程,目前我們已經在Android平臺上開發了一個腦電驅動的個性化情緒音樂播放系統的APP,圖3為該APP的截圖。該APP能完成如下功能:

(1)基本音樂播放功能,如播放、暫停、上一首、下一首、音量調節等;
(2)本地音樂以及新的網絡下載歌曲的管理,如添加、刪除等;
(3)Mindwave Mobile腦電數據的藍牙傳輸、存儲以及原始數據的實時顯示;
(4)腦電數據的特征提取及結果顯示等;
(5)歌曲的MFCC特征提取、聚類以及相似度計算等;
(6)情緒狀態的匹配以及實時地基于腦電狀態調整歌曲播放順序。
3 討論
本文中,我們提出了一種基于可穿戴式便攜化的干電極腦電采集設備識別用戶情緒狀態,并實時調整音樂播放的個性化推薦系統。本系統可以根據所設定的或者用戶所期望的目標情緒狀態進行調整,如特例化為安靜打禪狀態的音樂播放系統、駕駛過程中保持駕駛員警覺度的音樂播放系統,以及一些情緒疾病的音樂治療播放系統等。
下一步,我們需要基于目前已經初步開發完成的APP,進行大樣本用戶的試用,進行主客觀的評價,從而優化系統各個階段的算法,提供歌曲推薦的準確性。同時,對所開發的APP進行系統穩定性的檢測,并進行界面美工的改進。
0 引言
互聯網技術的發展使得人們能夠更加便捷地獲取大量數字音樂,如何從海量音樂數據庫中檢索到個人感興趣的歌曲成為用戶剛性需求,個性化音樂檢索及推薦也因此逐漸成為音頻處理和推薦系統等領域的熱點研究問題之一。傳統的音樂推薦系統大致可分為兩大類,即基于標簽的方法和基于內容的方法。前者主要是依據協同標注過程中用戶所標注的歌名、歌手、曲風類別等關鍵詞來進行檢索[1],后者則是通過對歌曲進行音頻處理,根據所提取的音樂內容本身特征(如節奏、音色、音高、旋律等)來進行檢索[2]。
這類音樂推薦算法已經取得顯著成果,并在一些網絡音樂電臺得到廣泛使用,如國外的Pandora、Last.fm,國內的豆瓣電臺、蝦米電臺等。音樂作為情緒的藝術,其所承載的情緒元素可以引起聽者相應的情緒響應并進行情緒狀態的調節。近年來,隨著可穿戴式設備的蓬勃發展,用戶的情緒狀態可以通過這些可穿戴設備所采集的各種生理信號進行實時識別,并基于此來調整音樂播放列表的生成,實現特定場景下的個性化情緒音樂播放器。微軟的Oliver等[3]基于手機和心率傳感器開發了一套用于跑步鍛煉的音樂播放系統。該系統基于采集的用戶心率和運動速度進行準則判斷,用以選擇播放相應節律的歌曲,輔助用戶實現加速、減速或保持勻速等鍛煉目的。Janssen等[4]采用便攜的皮膚溫度傳感器收集實時數據來對用戶情緒狀態進行建模,據此來選擇播放不同情緒效價級別的歌曲,實現了一個個性化的情緒音樂播放器。Sato等[5]開發了一套系統,通過從用戶聲音中提取出呼吸節律,來同步播放近似節律的歌曲。Liu等[6]采用NeuroSky公司開發的腦電干電極監測駕駛員的警覺度,并播放相應的歌曲以避免駕駛員在駕駛過程中產生睡意。
本文中,我們基于便攜式干電極腦電數據提出了一種腦電驅動的個性化情緒音樂推薦系統的算法框架,并基于Android平臺進行了初步開發及實現。首先,我們采集聽眾在聽一些種子歌曲時候的腦電數據,通過對腦電數據和歌曲時間序列進行數據分析和特征提取,以經典的效價(Valence)和喚醒度(Arousal)二維情緒模型為基準[7],將腦電和相應種子歌曲映射到各個情緒坐標象限內,建立兩者在情緒狀態間的對應聯系。同時,對歌曲進行基于內容的相似度分析,在音樂庫中找尋與種子歌曲比較相似的那些曲目,從而將這些歌曲進行情緒象限的標識。然后,在播放歌曲階段,通過腦電來識別聽眾的情緒狀態,根據事先獲得的情緒狀態匹配關系播放相應的歌曲曲目,同時基于腦電數據所反映的實時情緒動態變化情況,自動生成適宜的下一首播放歌曲列表。
1 系統設計及算法流程
1.1 系統整體流程框架
該系統的整體流程框架圖如圖1所示。大致可以分為兩大部分。第一部分為腦電與歌曲之間的情緒匹配及音樂相似度計算(圖1虛線以上部分);第二部分為情緒狀態腦電實時識別及其相應歌曲的推薦播放(圖1虛線以下部分)。

1.2 情緒二維模型
從早期Darwin等[8]進行情緒研究開始,心理學領域已建立有多個情緒離散模型[9]。同時,情緒維度理論也得到發展,最經典的維度理論認為情緒是由效價和喚醒度兩大連續維度組成[7]。效價是指情緒的愉悅程度(正性愉悅-負性非愉悅),喚醒度則是指情緒的強烈程度(低生理喚醒-高生理喚醒)。我們可以據此將情緒狀態粗略歸類為正性愉悅和低生理喚醒、正性愉悅和高生理喚醒、負性愉悅和低生理喚醒,以及負性愉悅和高生理喚醒四大類。
1.3 便攜式腦電數據采集及特征分析
實驗中,我們采用神念科技公司(NeuroSky Inc.)開發的Mindwave Mobile單通道干電極腦電采集設備進行腦電數據的收集,該設備穿戴便攜,所采集的數據可以通過藍牙實時傳輸到手機或者電腦上去。我們在安靜狀態下,讓被試者頭戴Mindwave Mobile設備,在播放歌曲的同時,收集該時間段內的腦電數據。歌曲播放結束后,讓被試者對該歌曲進行情緒類別的評定,分別在正負效價和高低喚醒度兩個維度上進行選擇。
對于所采集的腦電,在進行基線漂移和帶通濾波之后,分別提取腦電各個頻段的功率譜,包括:delta頻段(δ: 1~3 Hz),theta頻段(θ: 4~7 Hz),alpha頻段(α: 8~13 Hz),beta頻段(β: 14~30 Hz),以及gamma頻段(γ: 31~50 Hz)等。
1.4 基于內容的音樂特征分析
研究人員已經基于音樂內容分析提出了很多種相似度度量方法[10],本文中我們采用美爾頻率倒譜系數(Mel frequency cepstrum coefficients,MFCC)來對所播放的歌曲進行特征提取[11]。計算流程可以簡單概括為:
(1)歌曲由44.1 kHz降采樣率至22.05 kHz,分幀處理后,將每一幀音樂數據段進行快速傅里葉變換(fast Fourier transform,FFT)變換成頻率信號,然后將頻率信號轉換至美爾頻域,轉換公式如式(1)所示,其中f為頻率,fmel(f)為相應的美爾頻率。
$\[{{f}_{mel}}(f)=2595\cdot \log \left( 1+\frac{f}{700} \right)\]$ |
(2)在美爾頻域進行多個三角帶通濾波器處理,然后進行離散余弦反變換,從而獲得一系列MFCC系數,其中我們選擇前20維系數。圖2中示意了我們對歌曲《海頓小夜曲》進行處理后所獲得的MFCC系數矩陣。

由于一首歌包含有很多幀,如《海頓小夜曲》就包括7 898幀,所以我們還需要對所有幀的MFCC系數進行聚類分析,這里我們應用基于混合迭代的K均值聚類方法來實現,選定目標聚類個數為5個,最后選擇聚類中心和類內方差來表征該首歌。
1.5 基于情緒狀態進行腦電和歌曲的匹配
在第一部分腦電與歌曲之 間進行情緒匹配階段,我們選擇了20首種子歌曲,分別播放給被試者并進行腦電數據的收集。招募了兩名被試者(均為男性在讀研究生,分別為24歲和27歲)進行相關實驗收集數據。基于被試者對歌曲的情緒類別主觀評定,在統計分析的基礎上,我們選用線性辨別分析和支持向量機兩種方法進行分類識別模型的建立。
1.6 歌曲相似度計算
對數據庫中的100首歌曲,每首歌均提取MFCC系數并進行聚類處理后,分別計算與種子歌曲之間的相似度。之前有研究應用高斯混合模型來實現歌曲之間相似度的計算[12]。這里,我們選用陸地運動距離(earth mover’s distance,EMD)來進行度量[13]。假定某種子歌曲的MFCC系數五個聚類中心服從P分布,待計算歌曲的五個聚類中心服從Q分布,各個聚類中心之間的距離用fij和dij表示(m=n=5),則兩首歌之間的相似度D可以通過公式(2)來計算:
$\[\text{D}\left( P,Q,\text{F} \right)\text{=}\sum\limits_{i=1}^{m}{\sum\limits_{j=1}^{n}{{{f}_{ij}}{{d}_{ij}}}}\]$ |
2 系統初步實現
基于圖1的框架流程,目前我們已經在Android平臺上開發了一個腦電驅動的個性化情緒音樂播放系統的APP,圖3為該APP的截圖。該APP能完成如下功能:

(1)基本音樂播放功能,如播放、暫停、上一首、下一首、音量調節等;
(2)本地音樂以及新的網絡下載歌曲的管理,如添加、刪除等;
(3)Mindwave Mobile腦電數據的藍牙傳輸、存儲以及原始數據的實時顯示;
(4)腦電數據的特征提取及結果顯示等;
(5)歌曲的MFCC特征提取、聚類以及相似度計算等;
(6)情緒狀態的匹配以及實時地基于腦電狀態調整歌曲播放順序。
3 討論
本文中,我們提出了一種基于可穿戴式便攜化的干電極腦電采集設備識別用戶情緒狀態,并實時調整音樂播放的個性化推薦系統。本系統可以根據所設定的或者用戶所期望的目標情緒狀態進行調整,如特例化為安靜打禪狀態的音樂播放系統、駕駛過程中保持駕駛員警覺度的音樂播放系統,以及一些情緒疾病的音樂治療播放系統等。
下一步,我們需要基于目前已經初步開發完成的APP,進行大樣本用戶的試用,進行主客觀的評價,從而優化系統各個階段的算法,提供歌曲推薦的準確性。同時,對所開發的APP進行系統穩定性的檢測,并進行界面美工的改進。