# 蓝调/拉格/玛卡姆微分音弯音导师（MIDI 2.0 与 MPE 编码 + Scala 导出）

把 11 种世界音乐律制映射到具体 MIDI 编码：7-limit 纯律蓝调（7/6 蓝三度、7/5 蓝三全音、7/4 蓝七度）、阿拉伯玛卡姆 24-EDO 四分之一音（Rast/Bayati/Hijaz/Saba）、印度 22 律全表、加美兰 slendro≈5-EDO 与 pelog 普查均值、31/53-EDO、A440 分音网格；输出每级最近音符 + RPN 微调、±2/24/48/96 半音档的 MPE 14 位弯音、MIDI 2.0 32 位弯音与 Note 属性 Pitch 7.9 编码，并生成 Scala .scl 文件。

> 标准页面: https://elysiatools.com/zh/tools/blues-ragas-modes-microtonal-pitch-bend-midi-2-and-maqam-tuning-tutor

- **分类:** Media

- **关键词:** 微分音, 弯音, MIDI 2.0, MPE, 玛卡姆, 印度律, 加美兰, 纯律, 蓝调音, scl 文件

## 概述

编码口径：每个音级取最近 MIDI 音符，偏差用 (a) RPN 1 微调（±100 音分映射到 14 位，分辨率约 0.0061 音分/LSB，MPE 下每音符独占通道即成逐音律）；(b) MPE 14 位弯音 = 8192 × 偏差半音 ÷ 弯音范围（MPE 规范默认每音符 ±48 半音、主通道 ±2，经 RPN 0 设置）；(c) MIDI 2.0 32 位弯音以 0x80000000 为中心按同一范围缩放（注意：弯音字段是 32 位，而非某些资料所称 64 位）；(d) MIDI 2.0 Note On 属性类型 1「Pitch 7.9」为无符号 7 位半音 + 9 位小数定点（每半音 512 LSB），属性为无符号故取不高于目标音的音符向上偏移。22 律比率出自 Thakur (2015)；玛卡姆按阿拉伯 24-EDO 理论量化，实际演奏更自由；加美兰每个乐团律制各异，表中为普查近似；A440 网格 cents = 1200·log₂(n/8)。.scl 按 Huygens-Fokker 规范生成（1/1 隐含、比率或音分行、末行周期）。

## 输入项

- **调律体系** (select)
- **根音 MIDI 音高（21-108）** (number): 60
- **A4 基准频率（Hz）** (number): 440
- **MPE 弯音范围（± 半音）** (select)
- **生成可下载 .scl 文件** (checkbox)

## 适用场景

- 需要在 DAW 中通过 MPE 或通道弯音精确演奏阿拉伯玛卡姆四分之一音或印度 22 律时。
- 开发支持 MIDI 2.0 或 MPE 的虚拟乐器与合成器，需要准确计算 14 位或 32 位弯音参数及 Note On Pitch 7.9 属性时。
- 将纯律蓝调音、加美兰或 EDO 微分音律制导出为标准化 Scala (.scl) 文件以加载到兼容插件时。

## 工作原理

- 根据所选调律体系、根音 MIDI 编号与 A4 基准频率，计算出各音级的绝对音分与目标音高。
- 将目标音级对齐到最近的 12-TET MIDI 音符，计算相对音分偏差并转换为 RPN 1 微调数据与无符号 Pitch 7.9 属性值。
- 依据所选弯音范围（±2、±24、±48 或 ±96 半音），分别推导 MPE 14 位弯音值（以 0x2000 为中心）和 MIDI 2.0 32 位弯音值（以 0x80000000 为中心）。
- 若勾选导出选项，根据 Huygens-Fokker 规范生成包含音分或比率定义的标准 Scala (.scl) 调律文本。

## 使用案例

- 合成器音色制作：为支持 MPE 的硬件或软件合成器配置准确的多音级微分音弯音与初始音高偏差。
- 世界音乐编曲：在宿主软件中输入传统玛卡姆调式（如 Rast、Bayati）并精准量化四分之一音。
- 软音源律制导入：生成标准化 .scl 调律表文件并载入支持 Scala 格式的采样器或建模合成器。

## 常见问题

### MIDI 2.0 中的 Pitch 7.9 属性是如何编码的？

Pitch 7.9 为无符号定点数，包含 7 位基础半音值和 9 位小数分数值（每半音 512 LSB），取目标音下方或重合的最近音符加上向上偏移量。

### MPE 模式下如何实现每音符独立的微分音高？

MPE 将每个演奏音符分配到独立 MIDI 通道，使用每通道的 14 位弯音或 RPN 1 细调（±100 音分）来实现复音微分音。

### 为什么生成的 Scala (.scl) 文件首行没有 1/1？

按照 Huygens-Fokker 规范，Scala 格式的 1/1（0 音分根音）为隐式定义，正文中直接列出其后的音级与最后的八度/循环周期。

### 弯音范围设置（如 ±2 与 ±48）对编码有何影响？

弯音范围决定了 14 位与 32 位原始弯音数值的缩放分辨率，偏差固定时，范围越小，单位半音对应的数值变化量越大。

### 工具支持哪些调律体系？

支持 7-limit 纯律蓝调、4 种 24-EDO 阿拉伯玛卡姆、印度斯坦 22 律、加美兰 Slendro/Pelog、31-EDO、53-EDO 以及 A440 泛音网格等 11 种体系。

## 相关工具

- [MIDI 1.0 / MIDI 2.0 UMP 通用 MIDI 报文·通道声部·SysEx 7/8 位线协议解码与字节计数器](https://elysiatools.com/zh/tools/midi-1-0-midi-2-0-ump-universal-midi-packet-cib-channel-voice-2-0-sysex-7-bit-8-bit-byte-counter): 粘贴十六进制流，解码 MIDI 1.0 状态字节流（运行状态、系统通用/实时消息、系统专属）或 MIDI 2.0 UMP 报文流：0x0 Utility、0x1 System、0x2 MIDI 1.0 通道声部、0x3 SysEx 7 位、0x4 MIDI 2.0 通道声部（16 位力度 + 7.9 音高属性）、0x5 SysEx 8 位/混合数据、0xD Flex Data、0xF UMP Stream；统计字节数/报文数/字数，校验保留字段与 SysEx 分包状态机，并可在 MIDI 1.0 与 UMP 之间翻译。
- [播客章节标记生成器（ID3 / Podcasting 2.0）](https://elysiatools.com/zh/tools/podcast-chapter-marker-builder): 粘贴时间码章节列表，一次生成全部交付格式：Podcasting 2.0 章节 JSON（v1.2.0）与 RSS podcast:chapters 标签、可选把 ID3v2.4 CHAP+CTOC 章节帧直接烧入上传的 MP3（毫秒为普通大端 uint32、偏移 0xFFFFFFFF、每章嵌 TIT2 子帧、保留原有标签帧）、Vorbis CHAPTER001 注释对（OGG/Opus）、mp4chaps 文本、YouTube 说明栏时间戳块与 SRT 副车文件，并附各播放器真实支持情况（Apple 自 2025 起支持 RSS JSON；Pocket Casts/Overcast 仅读内嵌 ID3；Spotify 两者都不读）。
- [和弦进行罗马数字可视化器](https://elysiatools.com/zh/tools/chord-progression-visualizer): 按调性、罗马数字、和声功能、转调与终止式线索分析和弦进行。
- [填充词移除图](https://elysiatools.com/zh/tools/audio-filler-word-removal-map): 结合带时间戳的转录文本与音频,标记填充词(嗯、啊、那个…),并可选择静音或移除。
- [音频旋律轮廓提取器](https://elysiatools.com/zh/tools/audio-melody-contour-extractor): 从音频中提取主导旋律，并在一个 ZIP 中导出 MIDI、音符事件、音高轮廓、SVG 和 JSON。
- [音频人声音域查找器](https://elysiatools.com/zh/tools/audio-vocal-range-finder): 从录音中估计最低和最高的稳定演唱音符。
- [Raw像素数据转JPEG](https://elysiatools.com/zh/tools/raw-to-jpg): 将不带文件头的Raw像素缓冲文件转换为 JPEG 图像。需要提供图像尺寸、通道数和位深度。
- [Raw像素数据转PNG](https://elysiatools.com/zh/tools/raw-to-png): 将不带文件头的Raw像素缓冲文件转换为 PNG 图像。需要提供图像尺寸、通道数和位深度。

## 示例

- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [MIDI 查看器样本](https://elysiatools.com/zh/samples/midi-viewer-samples): 用于浏览器内 MIDI 查看器的样本文件
- [Scala 语言示例](https://elysiatools.com/zh/samples/scala): Scala编程示例和函数式编程概念
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
