近日,开源音乐理论库 Xenharmlib 迎来了一项重要更新——正式加入对 Just Intonation(纯律) 的全面支持。这一消息在实验音乐、电子音乐以及音乐声学社区中引发了广泛关注。对于致力于探索非标准调律体系(xenharmonic music)的作曲家、开发者与研究者而言,这次更新意味着他们获得了一套更为严谨、易用的计算与实现工具,有望进一步推动微复音与微分音音乐的创作与理论研究。

什么是 Xenharmlib?

Xenharmlib 是一个专注于“异调音乐”(xenharmonic music)的开源编程库,主要面向 Python 和 C++ 环境。它提供了一套完整的调律系统定义、音程计算、音阶生成以及 MIDI 映射功能。与大多数主流音乐软件默认只支持十二平均律不同,Xenharmlib 允许用户自由定义任何可能的音程关系——从常见的纯律、五度相生律,到复杂的等分律、错位调律,甚至自定义任意比例。

在此之前,该库已经支持了多种等分律(EDO,Equal Divisions of the Octave)和调式生成器。此次新增的纯律支持,则补上了自然音程计算的关键一环,使得用户能够直接基于有理数比例(即整数频率比)构建音阶与和弦。

纯律:不“平均”的和谐

纯律(Just Intonation)是一种基于整数频率比的调律体系,其核心思想是:两个音如果频率比为简单的整数比(如 2:1 为八度,3:2 为完全五度,5:4 为纯律大三度),则听觉上最为协和。与现代钢琴等乐器普遍使用的十二平均律相比,纯律的每个音程都来源于“纯”的自然泛音列,因此和弦听感极其纯净、通透。

然而,纯律有一个显著缺点:无法在所有调性上平滑转调。因为当将一个纯律音程置于不同音高起点时,所得到的音分值与平均律存在偏差,导致某些和弦在特定调式中变得极其不协和。正是这一特性,使得纯律长期被视为“理论上的完美,实践上的困境”,直到现代微分音音乐兴起,作曲家开始有意利用这些偏差来创造丰富的色彩与动态和声。

更新内容:从定义到输出一步到位

Xenharmlib 本次更新主要包括以下方面:

  1. 有理数音程定义:用户可以直接用分数(如 5/47/4)或浮点数比率制定音程,库会自动计算其音分值(cents)并纳入音阶体系。
  2. 纯律音阶自动生成:支持根据用户指定的极限(limit)生成音阶。例如,5-limit 纯律(使用质数不超过 5 的比率)或 11-limit 纯律(使用质数不超过 11 的比率),并可输出为 CSV 或 MIDI 调音表(SCL/TUN 格式)。
  3. 频率与 MIDI 转换优化:新增了频率到 MIDI 音符号的精确转换函数,考虑了纯律下非整数音分值的映射问题,并提供多种舍入模式(如四舍五入、最近整数、保留相位信息)。
  4. 和弦解析:可对输入的和弦音高列表进行纯律近似分析,输出最接近的整数比表达,帮助用户理解所构建的和弦在纯律下的结构。

开发者表示,此次更新特别参考了 Hermann von Helmholtz 和 James Tenney 等人的纯律理论,并整合了社区贡献的多种历史纯律调律方案(如 Ptolemy's intense diatonic、Zarlino's intonation 等)。

谁将从中受益?

作曲家与声音艺术家 是最大的受益群体。以往在 DAW 中实现纯律需要通过 VST 插件、MTS-ESP 等工具,而 Xenharmlib 提供了底层编程接口,更适用于生成式音乐、算法作曲或现场即兴系统。函数派音乐创作(如用 SuperCollider、TidalCycles 或 Python 控制合成器)现在可以轻易地将纯律音阶嵌入实时演出。

乐器设计师 可以利用该库快速生成定制调律文件,导入到支持 Scala 格式的硬件合成器(如 Korg Minilogue XD、Yamaha Montage)或软件合成器中,直接以纯律演奏。

声学与音乐理论研究者 方面,库提供了可复现的计算基准,便于对比不同调律体系下的协和度、拍频等参数。对于想要探索“平均律是驯化听觉,纯律是回归自然”这一命题的学术项目来说,这无疑是一个节省大量重复劳动的免费工具。

为何现在更新?

Xenharmlib 团队在发布日志中提到,近三年来微分音音乐社区显著壮大,越来越多的新用户开始接触异调概念,而纯律作为最直观的“非平均律”入门体系,常被作为第一选择。但现有工具库中,针对纯律的数学运算和与标准 MIDI 设备的桥接仍然存在碎片化问题。Xenharmlib 的目标是成为一块“通用底座”,将不同流派(等分律、纯律、错位律、杜迪音阶等)统一到同一编程接口之下。

“我们不想让用户去理解 1200 音分如何分解为 12 个半音之外的复杂计算——他们只需要说‘我想用一个 7/4 的中性三度’,然后就看到程序正确播放频谱。”开发者如此形容本次更新的理念。

未来方向

根据项目路线图,Xenharmlib 的下一步计划包括: - 支持 动态微调(adaptive tuning),根据上下文实时调整纯律比率以保持移调后的谐和度; - 与 Web Audio API 集成,提供浏览器端可直接运行的交互式音阶预览; - 新增 不和谐度曲线 分析功能,利用 Plomp-Levelt 模型可视化不同调律下的“紧张感”。

对于广大音乐技术爱好者而言,可以前往其 GitHub 仓库(github.com/xenharmlib/xenharmlib)查看完整文档与示例代码,或通过 PyPI 直接安装试用。这次更新不仅意味着一个库的功能完善,更象征着微音程世界正在向更多创作者打开大门——只要拥有编程基础,任何人都能构造属于自己的声音宇宙。