睡眠音乐化:从睡眠测量自动创作音乐
1. 引言
理解数据是统计学和数据挖掘的核心目标。数值或文本表示虽能传达精确的数据分析结果,但对结果的使用者来说并非总是最便捷的形式。各种图表和数据可视化已被证明是展示数据的一般属性、分布、趋势和模式的有力方式,尽管可能会遗漏一些细节。那么,如何呈现数据分析结果,让用户更深入地感受数据,甚至产生情感共鸣呢?
本文将睡眠分析视为一个数据分析问题,并提出了一种新颖的数据分析方法:数据音乐化。数据音乐化是指根据给定数据自动创作音乐的过程,旨在让用户感知数据。形象地说,数据用于启发创作算法,生成一首新的音乐作品。这与传统的数据声化不同,传统数据声化只是将数据映射到声音,很少有生成音乐的意图,并且通常对结果的音乐性毫无控制。
长期测量和跟踪睡眠有助于改善睡眠和健康状况。此前,睡眠分析方法主要用于临床,帮助患有睡眠障碍的患者。如今,先进的传感器技术使在家中进行无干扰的睡眠分析成为可能,这对数据分析有两个影响。首先,从生理传感器数据中提取高级睡眠数据(如睡眠阶段)是一项复杂的数据分析任务。其次,用户是普通人群,他们希望更直观地了解自己的睡眠情况,而不是像睡眠专家那样解读睡眠阶段图和活动图。
本文的主要贡献是提出将数据音乐化作为辅助数据分析和理解的工具。所提出的方法“睡眠音乐化”一方面包括用于睡眠分析的复杂数据分析方法,另一方面包括根据睡眠分析结果自动创作音乐。我们使用一种现代的商用床垫传感器来检测睡眠阶段、呼吸、心率和运动。我们在其他地方详细描述了这些睡眠分析方法,本文仅作简要概述。
基于睡眠信息,系统会自动创作一首音乐。目标是让音乐反映夜间睡眠的结构,让用户感受到自己的睡眠状况。我们基于音乐学原理提供了随机创作算法,用于生成音乐的和声、旋律和节奏。这些算法的新颖之处不在于音乐本身的质量,而在于使创作反映给定的睡眠属性。
我们建立了一个网络服务(http://sleepmusicalization.net),支持端到端的睡眠分析和音乐化。该服务还使我们能够与真实的终端用户一起测试这种方法。一些用户分享的示例作品是公开可用的。
2. 背景和相关工作
2.1 睡眠测量
医学睡眠测量的目的是将睡眠划分为不同阶段,并诊断各种睡眠障碍。医学上测量睡眠阶段的标准方法是多导睡眠图,需要在头部连接生物电位电极。根据测量的信号,睡眠可分为五个阶段:清醒、快速眼动(REM)睡眠和三个非快速眼动睡眠类别:N1、N2和N3。N1和N2阶段称为浅睡眠,N3阶段称为深睡眠。睡眠阶段的分类通常由训练有素的睡眠技术人员手动完成。此外,通常还会使用呼吸传感器来诊断与睡眠相关的呼吸障碍。多导睡眠图每次测量费用高达数百欧元,且并不普遍可用。
另一种广泛使用的医学睡眠测量方法是活动记录仪,患者通常需要连续一周每天24小时佩戴手腕加速度计。活动记录仪测量对患者来说很方便,但诊断能力有限。它可以帮助确定健康成年人的睡眠模式,并诊断昼夜节律性睡眠 - 觉醒障碍。
此外,还有一些非医学的睡眠测量产品供自我帮助使用。例如,Zeo睡眠管理器通过前额的无线传感器测量脑电图(EEG)和活动情况,并将睡眠分为清醒、REM睡眠、浅睡眠和深睡眠。该设备已上市多年,其准确性得到了验证。Fitbit、BodyMedia FIT、Jawbone UP、SleepTracker、LARK和WakeMate等是用于睡眠 - 觉醒分类的手腕活动记录仪设备,但由于手腕测量提供的信息不足,它们无法将睡眠阶段进一步分为REM、浅和深睡眠。
我们用于睡眠测量的Beddit传感器与其他自助设备不同,它的测量完全无干扰,数据通过放置在床垫下的薄力传感器获取。而其他设备需要佩戴在手腕或前额,这可能会影响睡眠质量。大多数自助设备通过智能手机界面和网络服务以可视化方式向用户呈现睡眠信息,我们尚未发现其他从睡眠数据创作音乐的尝试。
| 睡眠测量方法 | 特点 | 适用场景 | 局限性 |
|---|---|---|---|
| 多导睡眠图 | 需在头部连接电极,可精确划分睡眠阶段 | 医学诊断睡眠障碍 | 费用高,不普遍可用 |
| 活动记录仪 | 佩戴手腕加速度计,方便测量 | 确定健康成年人睡眠模式,诊断昼夜节律性睡眠 - 觉醒障碍 | 诊断能力有限 |
| Zeo睡眠管理器 | 前额无线传感器,可分类多种睡眠阶段 | 自我睡眠监测 | - |
| 手腕活动记录仪(Fitbit等) | 佩戴方便 | 睡眠 - 觉醒分类 | 无法细分睡眠阶段 |
| Beddit传感器 | 床垫下薄力传感器,无干扰测量 | 日常睡眠监测 | - |
2.2 从生理信号生成音乐
声化,即利用声音传达信息,是一个广泛的研究领域。我们这里关注的是将生理信号(如用于测量睡眠的信号)声化的方法。
从生理测量生成音乐的研究主要涉及脑电图(EEG)和心电图(ECG)。20世纪40年代的“脑电波音乐器”是第一个从生理测量生成音乐的设备,它为医学和音乐目的从测量的脑电波中生成音频。此后,各种艺术家也制作了类似的乐器。例如,Krzysztof Penderecki的《Polymorphia》(1963)就是基于从EEG数据得出的脑电图音高符号创作的。
20世纪80年代末,第一个商业生物音乐制作环境BioMuse问世。当代著名的表演包括水下EEG - ECG DECONcert、多模态脑管弦乐队,以及Barrass和Whitmer在2010年声音与音乐计算会议上表演的《巴洛克大提琴、小提琴、2颗心脏(ECG)和2个大脑(EEG)二重奏》。
2.3 音乐的自动创作
音乐的算法创作早于计算机出现,人们已经提出了许多形式化的过程来生成音乐。大约在1026年,Guido d’Arezzo就引入了一种为文本生成旋律伴奏的技术。最著名的自动创作例子之一是莫扎特的《音乐骰子游戏》,这是一种通过掷骰子生成华尔兹的游戏。在计算机出现之前,也存在一些机械创作设备。
1956年,Hiller和Isaacson的程序生成了第一部计算机音乐作品《弦乐四重奏伊利亚克组曲》。目前的先进技术包括David Cope的程序“Emily Howell”,它能以自己的风格创作复杂的音乐。
将数据映射到声音或音乐也是一个古老的想法。在生物学领域已经有过一些尝试。例如,通过将编码序列转换为声音获得了蛋白质音乐。一个当代的例子是“Your DNA Song”服务,它通过将22种氨基酸映射到22种不同的音符,然后以每分钟3000个核苷酸的速度播放结果,将DNA转换为音乐。这些系统本质上是将数据转换为声音进行声化。相比之下,我们感兴趣的是根据给定数据自动创作音乐,数据仅作为指导。这样,创作算法可以控制多个音乐特征,而不仅仅是数据本身。
音乐可以通过多种不同的方法及其组合进行创作。典型的例子包括细胞自动机、分形、语法、约束、模式匹配以及许多不同的随机过程,如马尔可夫链和不同的分布应用。本文不详细回顾这些方法,相关概述可参考其他资料。我们使用相对简单的马尔可夫链和随机游走,其新颖之处在于使音乐反映睡眠情况。
自动创作方法还可以根据与用户的交互性进行分类。一些系统为用户的音乐生成伴奏,或生成旋律的短片段。一些系统还接受用户的反馈。其中一个比较知名的例子是Band in a Box软件,它可以根据用户选择的和弦和风格生成伴奏。而本文描述的系统则是自主完成整个创作过程。
3. 方法
3.1 睡眠测量
- 传感器数据收集 :使用Beddit的薄型柔性压电式力传感器收集原始信号,该传感器尺寸为70×4厘米,放置在床垫或床垫衬垫下方。传感器信号以140Hz的频率采样。一个定制的微型Linux计算机接收信号,进行模数转换,并将信号发送到网络服务进行分析。每测量一小时的睡眠大约会发送300千字节的压缩数据。除了力信号外,还每分钟测量与睡眠环境相关的信息,包括温度、噪音水平和亮度。
- 生理参数数据分析 :力信号包含心跳、呼吸和运动活动信息。信号的整体趋势对应呼吸周期,而心跳可以从力信号的细粒度波动中检测到。睡眠分析很大程度上依赖于心率变异性,这可以通过信号中的心跳间隔来获取。从力信号测量心率的方法称为心冲击图法,这是一种成熟的技术。我们在其他地方已经证明,从当前的传感器数据中可以准确检测到心跳间隔。此外,还会分析力信号的低频现象,以检测每个呼吸周期的长度及其变化,这些信息在睡眠分析中也很重要。通过分析力信号中的单个突变来检测睡眠者的运动,运动检测的分辨率设置为每三秒一次,即最多每三秒记录一次运动。
- 睡眠阶段数据分析 :基于心率、呼吸变异性和运动信息,将在床上的时间划分为清醒、REM睡眠、浅睡眠和深睡眠阶段。分类器基于给定睡眠阶段下心率、呼吸和运动特征的生成模型,睡眠阶段之间的转换用马尔可夫模型描述。总体而言,清醒和REM阶段的心率和呼吸变化水平最高,浅睡眠阶段稍低,深睡眠阶段最低。清醒阶段的运动活动水平较高,REM和浅睡眠阶段允许有一些运动,而深睡眠阶段的活动水平非常低。目前,分类器的全面验证正在进行中,分类器的详细信息和验证结果将在其他地方发表。睡眠分析的结果包括睡眠结构(睡眠阶段图)以及睡眠者夜间的心率和运动信息。
graph LR
A[传感器数据收集] --> B[生理参数数据分析]
B --> C[睡眠阶段数据分析]
A --> D(温度、噪音、亮度信息)
B --> E(心率、呼吸、运动信息)
C --> F(清醒、REM、浅睡、深睡阶段)
3.2 自动音乐创作
在睡眠音乐化中,系统会根据每晚的睡眠测量数据自动创作一首新的音乐作品。目前,我们使用的信息包括睡眠阶段、心率和运动。创作方法旨在使这些方面在音乐中清晰可听。音乐作品大致按照1:120的比例压缩,即一秒钟的音乐对应两分钟的睡眠,八小时的睡眠大约会生成一首四分钟的歌曲。
-
准备工作
:在实际创作开始之前,会去除非常短的睡眠阶段,以使音乐更加稳定。随机选择一个音阶,通过选择音阶的起始点和类型(大调或和声小调,这是西方音乐中最常见的音阶)。默认选择大调,但如果用户有需求,也可以生成小调作品。随机决定每个小节是3拍还是4拍,小节的长度在音乐上很重要,系统按小节处理音乐,并为每个小节关联一个和弦。
-
和弦序列生成
:和弦序列首先使用马尔可夫链生成。该马尔可夫链经过手动编码,具有有意义的和弦转换概率。为了简化,马尔可夫模型的最大阶数为2,即生成下一个和弦时只考虑前两个和弦。并非所有的前两个和弦对都有对应的转换分布,在这种情况下,仅根据前一个和弦选择下一个和弦。目前,我们只使用由所选音阶中的三个音符组成的和弦。为了减少复杂性,每首作品仅使用7个基本和弦。和弦的概率通常根据其在给定调式音乐中的频率和主导地位进行选择,但马尔可夫链中的一些转换概率会确保需要解决的和弦得到解决(例如,从调式中的不和谐七和弦最好转换到主和弦)。生成和弦序列后,系统开始创作旋律。
-
旋律生成
:音程可以分为级进和跳进。大二度、小二度和同度属于级进,更大的音程(最多一个八度)属于跳进。这种划分很有用,因为小音程在音乐中比大音程更常见。旋律的音程使用另一个马尔可夫链生成。马尔可夫链的构建使得级进的总概率大致等于跳进的总概率。此外,还设置了一些特定音程之间的转换概率。如果上一个音程是向上跳进,下一个音程要么是级进,要么是向下跳进;如果上一个音程是向下跳进,下一个音程则是向上跳进或级进。如果生成的音符不在所选音阶中或与当前和弦产生严重不和谐,则会拒绝该音符,并使用马尔可夫链重新生成一个音程。为了使音乐具有内部连贯性,旋律生成过程使用音乐主题。不同的睡眠阶段有不同的主题,这样在音乐中它们的特征会更加明显。作为旋律生成的第一步,为每个睡眠阶段生成一个两小节的主题,供后续使用。实际的旋律按睡眠阶段分段创作,每个阶段的旋律从该阶段的主题开始,然后用旋律生成方法填充该阶段的其余部分。
-
节奏生成
:音符长度使用一阶马尔可夫链生成,后续会提高阶数以获得更好的效果。选择的值倾向于相同长度的倍数,因为较短的音符长度通常成组出现。它们也倾向于与节拍匹配的节奏模式。例如,如果上一个音符长度为1.5拍,下一个音符很可能为0.5拍。然而,如果当前阶段剩余的长度小于2.5拍,音符将持续到该阶段结束。这避免了超出阶段长度的实际问题,同时也增加了阶段最后一个音符较长的可能性。节奏也会随呼吸略有变化,较高的呼吸频率使短节奏更有可能出现,较慢的呼吸频率则使长节奏更有可能出现。
-
伴奏生成
:伴奏也是按睡眠阶段分段生成的,并且会根据睡眠阶段而变化,每个阶段都有不同的生成函数。清醒阶段的伴奏仅由和弦根音上的短音符组成;REM睡眠阶段的伴奏使用和弦的所有音符,形成相当快的节奏模式;浅睡眠阶段的伴奏是和弦音符的通用上下波动模式,比REM睡眠阶段稍慢;深睡眠阶段的伴奏由长音符组成,节奏缓慢。所有生成器仅使用当前和弦的音符。在伴奏中,根据睡眠阶段会在第一拍或所有拍上稍微加重音。
-
音量反映睡眠者运动
:对活动记录仪数据(运动信息)进行预处理,使其包含每个音乐节拍的运动密度信息。如果运动较多,音量会升高;如果运动很少,音量会降低。此外,音量还可能有其他变化,如节拍上的强调。
-
节奏调节
:音乐中的节奏(每分钟节拍数)会随心率变化。为了使变化更加明显,对心率进行转换。首先,以分段常量的方式对心率进行近似,使节奏变化离散化。这通过计算累积移动平均值并将其与当前的常量近似值进行比较来实现。如果绝对差值超过预定阈值,则将当前值作为下一个常量近似值。其次,处理平均值中每个点的起始时间和与之关联的节奏,使较慢的节奏获得较少的节拍,较快的节奏获得较多的节拍,以保持歌曲以恒定的速度通过各个睡眠阶段。然后,放大变化的相对幅度,将心率估计值乘以4并减去180。另一个有趣的节奏调节选项是使用呼吸频率,这在睡眠分析中也是可用的。
Python源代码的音乐化组件(https://github.com/Tulilaulu/Sleep - musicalization)和网络服务组件(https://github.com/beddit/sleep - musicalization - web)均可下载。
睡眠音乐化:从睡眠测量自动创作音乐
4. 方法讨论与初步结果
睡眠音乐化这一方法结合了睡眠测量的复杂数据分析和音乐的自动创作,旨在为用户提供一种全新的方式来理解自己的睡眠情况。
在睡眠测量方面,Beddit传感器的无干扰特性使其在日常睡眠监测中具有很大优势。与传统的多导睡眠图和活动记录仪相比,它不会对用户的睡眠质量产生影响,同时能够收集到足够的生理信号用于分析。然而,从力信号中提取准确的生理参数和睡眠阶段仍然面临一些挑战。例如,虽然心冲击图法是一种成熟的技术,但在实际应用中,可能会受到外界干扰和个体差异的影响,导致心率和呼吸测量的误差。此外,睡眠阶段分类器的验证工作仍在进行中,其准确性和可靠性还需要进一步提高。
在音乐创作方面,使用马尔可夫链生成和弦序列、旋律、节奏和伴奏是一种创新的方法。这种方法能够使音乐反映睡眠的特征,如心率、呼吸和运动情况。例如,通过调节节奏反映心率变化,使音乐的速度与睡眠者的生理状态相匹配;根据运动信息调整音量,让用户在聆听音乐时能够感受到自己在睡眠中的活动情况。然而,目前生成的音乐质量可能还不够高,部分原因是使用了相对简单的马尔可夫链和有限的和弦组合。未来可以考虑引入更复杂的音乐模型和算法,以提高音乐的丰富性和艺术性。
为了测试睡眠音乐化方法的可行性和有效性,我们建立了一个网络服务(http://sleepmusicalization.net)。通过这个服务,我们可以收集真实用户的反馈和数据,进一步优化方法。一些用户分享的示例作品表明,睡眠音乐化能够为用户提供一种独特的体验,帮助他们更直观地了解自己的睡眠情况。例如,一位用户表示,通过聆听根据自己睡眠数据生成的音乐,他能够清晰地感受到自己在不同睡眠阶段的状态变化,这让他对自己的睡眠质量有了更深刻的认识。
5. 结论
本文提出了一种新颖的数据分析方法——睡眠音乐化,旨在通过将睡眠测量数据转化为音乐,帮助用户更好地理解自己的睡眠情况。该方法结合了先进的传感器技术、复杂的数据分析方法和自动音乐创作算法,具有很大的应用潜力。
睡眠音乐化不仅为睡眠分析提供了一种新的视角,还为音乐创作领域带来了新的思路。通过将生理信号与音乐元素相结合,我们能够创造出具有独特意义和情感表达的音乐作品。同时,这种方法也有助于提高用户对睡眠健康的关注度,促进他们采取积极的措施来改善睡眠质量。
然而,睡眠音乐化方法仍处于发展阶段,还存在一些需要解决的问题。在未来的研究中,我们将继续优化睡眠测量和音乐创作算法,提高方法的准确性和可靠性。同时,我们还将开展更多的用户研究,了解用户的需求和反馈,进一步完善网络服务。相信随着技术的不断进步,睡眠音乐化将在睡眠健康领域发挥更大的作用。
附录:部分音乐术语的非正式定义
- 音阶 :一组按特定音程关系排列的音符,是音乐创作的基础。常见的西方音阶有大调和和声小调。
- 和弦 :由三个或更多音符同时发声组成的音乐元素,通常用于为旋律提供和声支持。
- 音程 :两个音符之间的音高距离,可以分为级进(如大二度、小二度和同度)和跳进(更大的音程)。
- 节奏 :音乐中音符的时长和强弱组合,决定了音乐的韵律和速度。
- 伴奏 :为旋律提供支持和衬托的音乐部分,通常与旋律形成和谐的整体。
总之,睡眠音乐化是一种具有创新性和实用性的方法,它为我们理解睡眠和音乐之间的关系提供了新的途径。随着研究的深入和技术的发展,我们期待看到更多有趣的应用和成果。
超级会员免费看
2427

被折叠的 条评论
为什么被折叠?



