为了能实时监测听众的情绪状态变化并据此调整音乐播放列表,本文中,我们基于便携式干电极脑电数据提出了一种脑电驱动的个性化情绪音乐推荐系统的算法框架,并在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进行系统稳定性的检测,并进行界面美工的改进。