
扒谱这件事最考验人的往往不是识谱能力而是“明明听到了旋律却不知道它在谱面上对应哪个音”。本文以《Deltarune》OST 中的《Sunset of Seven Suns》为解析对象整理一套从音频分析、乐理判断到最终出谱的完整扒谱流程。无论你是想复刻游戏音乐、做视频改编还是单纯想提升听音能力这套方法都可以直接复用。文章会覆盖工具选择、音乐基础、降速技巧、Python 辅助分析、常见问题排查等内容尽量做到每一步都有可执行方案。开始之前先说明一点这首曲子的具体小节结构、调性和配器以你手上实际音频版本为准。不同抓轨版本、不同播放器均衡设置都会造成听感差异所以扒谱过程中的反复校对比“第一次就听准”更重要。1. 背景与核心概念1.1 什么是扒谱“扒谱”这个词在音乐爱好者圈子里很常见通俗讲就是把别人作品里的音符听写下来。它不只是记录主旋律还包括和弦、低音、节奏型、力度变化、音色层次等维度。对于游戏音乐爱好者来说扒谱是还原乐曲、制作 MIDI、进行二次创作的起点对于音频算法工程师或音视频开发者来说扒谱思维也能帮助理解音频分析的基本逻辑。从专业角度定义扒谱是对录音作品进行逆向分析的行为输出物可以是五线谱、简谱、MIDI 文件、和弦谱甚至是一个完整的 DAW 工程。扒谱本身不要求一次听准更多是依赖系统的分段训练和工具辅助所以它也经常被拿来当练耳教材。1.2 为什么选择《Deltarune》音乐作为练习对象《Deltarune》是 Toby Fox 继《Undertale》之后推出的独立 RPG 作品其原声带在玩家群体中有很高的讨论度。Toby Fox 的音乐风格很特别经常在复古电子音色、chiptune 质感和旋律记忆点之间取得平衡节奏鲜明和声又不会过于晦涩非常适合作为扒谱练习素材。回到《Sunset of Seven Suns》这首曲子标题里虽然挂着“扒谱”两个字但真正有价值的不是“把音符抄下来”而是通过扒谱去理解作曲者如何安排音色、织体和和声进行。尤其对游戏音乐来说很多听感来自合成器音色和混音处理谱面只能还原音高与节奏无法完全还原音色这就需要我们在扒谱过程中把“听到的声音”和“写下的谱子”做双向对照。1.3 扒谱的交付物一次完整的游戏音乐扒谱交付物通常包括主旋律五线谱或简谱和弦标记包括级数和功能低音或贝斯声部节奏型说明MIDI 文件音色与力度标注如果后续要做翻弹、编曲或视频演示这些信息都会非常有用。本文会以这些交付物为目标按步骤展开。2. 环境准备与工具选择2.1 硬件与系统要求扒谱对硬件要求不高关键是一个能听清中低频的耳机或监听音箱。普通耳机可以用但如果 100Hz 以下的低频听不清后期就需要借助频谱图或 EQ 滤波来辅助判断。操作系统方面Windows、macOS、Linux 都可以下面提到的工具也都有跨平台版本。2.2 核心软件清单软件用途费用说明Audacity音频降速、滤波、循环播放免费开源操作简单适合快速处理音频Sonic Visualiser频谱观察、峰值标记、谐波分析免费开源专业音频可视化分析工具MuseScore写谱、导出 PDF/MIDI免费开源制谱软件跨平台DAW多轨扒带、MIDI 编辑部分付费可选 Reaper、FL Studio、Logic Pro、Cubase如果不想一开始就装太多软件可以先从 Audacity 加 MuseScore 的组合开始这两款足够完成基础的扒谱与制谱。2.3 Python 辅助环境可选如果你习惯用脚本处理音频可以安装 Python 3然后安装几个常用库pip install librosa numpy matplotlib其中 librosa 是音频分析库numpy 负责数值计算matplotlib 用来画频普图。后续章节会给出几个可直接运行的辅助脚本。2.4 示例项目目录建议为每次扒谱单独建一个目录方便中间版本管理sunset-seven-suns/ ├── audio/ │ ├── 01-raw.mp3 │ ├── 02-tempo-75.mp3 │ └── 03-bass-only.mp3 ├── notes/ │ ├── melody.md │ ├── chords.md │ └── bass.md ├── scripts/ │ ├── midi_to_freq.py │ └── inspect_audio.py └── score/ └── sunset_seven_suns.mscz目录里 audio 放原始和处理后的音频notes 放文字记录scripts 放辅助脚本score 放最终谱面工程。这样的结构在项目后期会非常方便回溯。3. 核心原理扒谱需要掌握的音乐基础3.1 音高与 MIDI 音符换算扒谱最终要把听到的声音映射到谱面而音高和频率之间的关系是可以精确计算的。MIDI 规范里69 号音符对应 A4标准音频率为 440Hz。任意音符频率的计算公式是f 440 * 2^((n - 69) / 12)其中 n 是 MIDI 音符编号比如中央 C 是 60。用 Python 实现如下def midi_note_to_freq(midi_note): return 440.0 * (2 ** ((midi_note - 69) / 12)) for note in [60, 64, 67, 69]: print(note, round(midi_note_to_freq(note), 2))运行结果60 261.63 64 329.63 67 392.0 69 440.0这段代码很实用当你从频谱图上看到某个峰值的频率就可以反推它最接近哪个音高。比如看到 392Hz 左右的大能量峰值基本可以判断是 G4。3.2 调性判断判断一首曲子是什么调最直接的方法是听结尾。大多数音乐会在结尾回到主和弦最后一个音或最后一个和弦往往就是调性中心。之后再结合谱面里的升降号判断是大调还是小调。游戏音乐常用自然大调与自然小调但 Toby Fox 也经常使用多利亚、利底亚这类调式营造特殊氛围。如果你发现结尾和弦“既像大调又像小调”可以先标记出全曲出现频率最高的几个和弦再判断是哪种调式。3.3 节拍与速度判断扒谱前先确定速度和拍号否则后续音符时值会一头雾水。操作方法是在 DAW 或节拍器里按住一个鼓点或低频脉冲对拍先感觉大致 BPM再用节拍器微调。确定拍号时注意重音规律四拍子重音在每小节第一拍三拍子是“强、弱、弱”。如果原曲节奏不稳或者在乐句之间有自由速度可以先把明显的小节边界标出来再逐句处理不要一开始就强行量化。3.4 和弦识别策略和弦识别是扒谱中比较费时间的环节。推荐顺序是先听低音确定根音。再听最高音确定旋律音或和弦外音。用三度叠置关系试出中间音。判断颜色是大三和弦、小三和弦、七和弦还是挂留和弦。以《Sunset of Seven Suns》为例如果铺底是合成器长音和弦切换不会太快可以先抓每小节第一个和弦再细化后半小节的变化。这里有个经验不要一次把整个和弦全部听出来先记录根音和最低音再逐步补上其他声部。3.5 配器分层扒谱前先做“配器分层”把混音拆成五层主旋律层人声、主音合成器、主音吉他和声层和弦垫底、背景琶音低音层贝斯、合成器低音节奏层鼓组、打击乐音效装饰层过渡音效、噪声、逆播采样在纸上或者笔记软件里把五层和时间轴对应起来后面扒每一层时就有一条清晰线索不会在主旋律里迷失。4. 完整实战流程4.1 段落规划开始扒谱前先完整听三遍原曲。第一遍整体感受情绪和配器第二遍标记段落比如前奏、A 段、B 段、间奏、尾奏第三遍确定每个段落的开始时间。在笔记里可以用这样的表格记录段落时间范围主要乐器备注前奏00:00 - 00:12合成器垫底、鼓柔和进入A 段00:12 - 00:34主旋律加入速度稳定间奏00:34 - 00:40鼓、低音过渡段落有了段落表后扒谱可以按段落推进不用从头到尾一次性完成。4.2 降速与变速处理慢速听是扒谱最重要的基本功。Audacity 里可以直接用“效果 - 改变速度”或“效果 - 改变音高与速度”来处理。其中“改变速度”会同时改变音高适合辨别旋律走向如果想要保持音高不变只放慢节奏可以用“改变音高与速度”里的“改变速度”选项或者用 ffmpeg 命令行。ffmpeg 的处理方式ffmpeg -i 01-raw.mp3 -filter:a atempo0.75 02-tempo-75.mp3atempo 参数表示速度倍率0.75 表示变成原来的 75%。注意老版本 ffmpeg 只支持 0.5 到 2.0新版本范围更宽。如果一次降速太多可以连续处理两次ffmpeg -i 01-raw.mp3 -filter:a atempo0.8,atempo0.8 02-tempo-64.mp3这样能避免单次过度变速带来的音质劣化。4.3 分频段听混音中不同乐器分布在不同的频段用滤波器把它们分离开能降低听辨难度。Audacity 里可以用“效果 - 低通滤波”和“效果 - 高通滤波”。常见频段划分低音鼓与贝斯0Hz - 200Hz中低频200Hz - 800Hz中频主体800Hz - 2500Hz高频与空气感2500Hz 以上比如要抓低音声部先复制一份音频加上低通滤波 200Hz再降速就能更清楚地听到贝斯音符的振动频率。注意滤波器斜率会影响听感不同曲目需要微调截止频率。4.4 主旋律扒谱段落和速度确定后开始扒主旋律。在 MuseScore 里新建乐谱设置好调号和拍号然后按小节录入。录入时建议用“单音符试错法”在原曲播放到某个旋律音时先在钢琴或 MIDI 键盘上试出候选音再用 MuseScore 里的同一音符播放对比。如果听起来比原曲高就向下调整半音反之向上调整直到音高重合。主旋律扒完后先不要急着处理和弦把整段的旋律音高和节奏记完整然后再进入下一层。4.5 和弦与低音扒谱主旋律完成之后开始扒和声层和低音层。推荐使用 DAW 的钢琴卷帘窗在 MIDI 轨中把低音声部和弦声部分别放在不同的轨道便于视觉对照。顺序仍然是先低音后高音。低音确定了根音和弦中间的填充音会更容易判断。比如低音是 C主旋律里有 E那么这个和弦很可能是 C 大三和弦如果主旋律里有 Eb那可能是 C 小三和弦或 Ab 大和弦。4.6 连音与装饰音处理游戏音乐里经常会有滑音、装饰音和十六分音符琶音这些在谱面上需要简化还是保留取决于使用目的。如果是做还原向谱面要把明显的装饰音记录成小音符如果是做改编向谱面只需要保留和弦骨架和节奏型。建议扒谱时先把听到的装饰音都记下来后期再根据演奏难度筛选。4.7 导出与校对扒完所有声部后导出 PDF 和 MIDI然后完整播放一遍 MIDI对照原曲逐段核对速度是否一致小节边界是否对齐和弦是否有明显的色彩偏差低音进行是否流畅如果只听 MIDI 会觉得“差不多”但在原曲 A/B 切换时发现和弦别扭就要回到对应小节继续调整。5. Python 辅助分析实战如果不想全部用耳朵硬听可以用 Python 做一些客观辅助分析。下面给出几个可以直接运行的例子。5.1 读取音频基本信息import librosa audio_path audio/01-raw.mp3 y, sr librosa.load(audio_path, sr22050) duration librosa.get_duration(yy, srsr) print(f采样率: {sr} Hz) print(f音频时长: {duration:.2f} 秒) print(f采样点数: {len(y)})这里把音频统一重采样到 22050Hz可以加快计算速度。输出能够帮你确认音频时长是否和笔记表格一致。5.2 提取整体速度import librosa import numpy as np audio_path audio/01-raw.mp3 y, sr librosa.load(audio_path, sr22050) tempo, beat_frames librosa.beat.beat_track(yy, srsr) tempo_val float(np.mean(tempo)) print(f自动估计速度: {tempo_val:.2f} BPM)不同版本的 librosa 对 beat_track 的返回值类型有差异有的是标量有的是数组所以这里统一用np.mean取平均。自动估计只能作为参考最终速度还是要结合你对鼓点的听感。5.3 用 Chroma 特征观察和弦倾向Chroma 特征可以把音频映射到 12 个音名用来观察某个段落中哪些音高出现得比较多是判断和弦和调性的辅助工具。import librosa import numpy as np audio_path audio/01-raw.mp3 y, sr librosa.load(audio_path, sr22050) hop_length 512 chroma librosa.feature.chroma_cqt(yy, srsr, hop_lengthhop_length) print(chroma 形状:, chroma.shape) print(第 0 帧的 12 维能量:, np.round(chroma[:, 0], 3))输出中 12 维分别对应 C、C#、D、D#、E、F、F#、G、G#、A、A#、B 的能量。如果某段音乐在索引 0、4、7 上能量明显偏高就暗示 C、E、G 三个音出现的概率较高可能对应 C 大三和弦。5.4 绘制频谱峰值import librosa import numpy as np import matplotlib.pyplot as plt audio_path audio/01-raw.mp3 y, sr librosa.load(audio_path, sr22050) # 取中间一小段做短时傅里叶变换 start int(10.0 * sr) end int(11.0 * sr) window y[start:end] fft np.fft.rfft(window * np.hanning(len(window))) freq np.fft.rfftfreq(len(window), d1 / sr) amp np.abs(fft) # 找能量最高的前 5 个频率 top_indices np.argsort(amp)[-5:][::-1] for idx in top_indices: print(f{freq[idx]:.2f} Hz, amplitude{amp[idx]:.2f})这个脚本会输出某一段音频里能量最大的几个频率你可以对照 3.1 节的 MIDI 频率表判断它们接近哪些音符。需要提示的是频谱峰值会受到泛音和混音影响只能作为辅助不要完全替代听音。6. 常见问题与排查思路问题现象常见原因解决思路低音完全听不清耳机低频响应差或混音里低音被掩蔽用低通滤波单独听贝斯频段速度忽快忽慢对不上拍子原曲使用了自由速度或变速先标记段落边界再逐段处理和弦听起来“多一个音”中间层可能是经过音或装饰音先保留根音和核心三度音再判断外音降速后音高也变了使用了“改变速度”而不是“改变节拍”用 Audacity 的“改变音高与速度”或 ffmpeg atempoMuseScore 里节奏对不齐拍号判断错误重新听重音确定正确拍号Python 分析结果和听力不一致分析窗口太大或频谱被泛音干扰缩短分析窗口结合多个频段观察6.1 低音听不清怎么办这是最常见的扒谱问题。解决思路是把音频复制一份用 Audacity 的低通滤波滤掉 200Hz 以上的内容然后再降速播放。如果没有明显改善可以再降低截止频率到 150Hz。耳机方面封闭式头戴耳机通常比普通耳塞更容易表现低频细节。6.2 和弦总是判断不准确和弦判断不准往往不是听力问题而是声部太多导致注意力被干扰。建议先用 MIDI 键盘或者纯音把低音弹出来然后只关注和弦中最高音和最低音之间的音程。如果最高音是根音上方的大三度基本可以确定是大三和弦如果是小三度则是小三和弦。七和弦和挂留和弦可以在基础三和弦确定后再逐音添加判断。6.3 速度特别快的乐段处理遇到快速琶音或密集音符不要用 100% 速度死磕。先把速度降到 50%听完音符轮廓再逐步提升到 70%、85%。如果降到 50% 依然听不出具体音高就配合频谱图找峰值频率把每个峰值对应的 MIDI 音符先列出来再连成旋律线。6.4 原曲有轻微跑调一些抓轨音频或现场版本可能存在微小音高偏差导致每个音都夹在两个半音之间。这种情况建议在 DAW 里用音高修正插件把段落整体移动若干音分先对齐到标准调性再继续扒谱。对游戏 OST 来说这种情况很少但不同版本的音频确实有可能存在差异。7. 最佳实践与工程建议7.1 文件和命名规范每次扒谱建议把所有音频和工程文件统一归档。处理后的音频可以在名字后缀写明处理方式比如bass-only-200hz、tempo-75、section-A-loop。这样可以避免扒到一半时搞不清楚某个文件是哪个版本。7.2 分层记录不要只记旋律很多人扒谱只记主旋律最后发现和声和低音完全没概念。建议在项目开始时就建立melody.md、chords.md、bass.md、drums.md四个笔记文件每扒完一段就把结果填进去。这个习惯在整理长曲子和多段落曲目时尤其重要。7.3 用颜色标记不确定内容在 MuseScore 或 DAW 里可以用颜色标注听感不确定的音符。比如蓝色表示确定红色表示存疑。完成后把红色音符集中复核一遍。这样能减少“整体扒完但某几个和弦错得离谱”的情况。7.4 定期备份工程文件MuseScore 和 DAW 工程文件建议做好多版本备份可以手动复制也可以用 Git 管理。虽然谱面文件体积不大但频繁修改后还是容易覆盖重要版本。建议每完成一个段落就另存一个版本。7.5 注意版权边界扒谱本身是学习行为但公开发布谱面、MIDI 或改编视频时要注意原曲版权的约定。Deltarune 的 OST 属于游戏官方版权所有个人学习与交流使用通常没问题但商用或大规模传播需要谨慎。在 CSDN 等平台分享时建议注明原曲来源与作者并且不把扒谱成果包装成原创曲目。7.6 不要迷信频谱分析音频分析工具能显示能量分布但不能直接告诉你调性和音乐语法。一个 440Hz 的峰值可能是 A4也可能是 A3 的二次谐波甚至可能来自失真的互调产物。所以频谱图适合做参考但最终判断一定要用自己的耳朵和乐理知识。7.7 保持听感校准习惯练耳是一个积累过程。可以每隔一段时间做一次基础听音练习比如听单音、听音程、听三和弦这样扒谱时反应速度会明显提升。扒谱学到的音高感本质上是一次次“听-判断-验证”循环积累出来的。8. 总结与学习路线扒谱是一项需要耐心和系统方法的技能。从《Sunset of Seven Suns》这首曲子入手你至少可以完整经历“音频准备 - 段落规划 - 降速听辨 - 旋律和弦低音记录 - 制谱导出 - 校对调整”的全流程。这篇文章的核心是让你掌握一套可复用的方法而不是只针对某一首曲子。完成第一次扒谱后下一步可以尝试换一首同样来自《Deltarune》的曲子练习不同配器和节奏型。尝试给扒出的旋律配上自己的和弦进行做一个小改编。学习更多音乐理论比如调式互换、转调、重属和弦这些都会让扒谱时的“猜和弦”变成“推导和弦”。了解 DAW 里的 MIDI 编辑和音色调制探索游戏音乐音色是如何合成的。我的个人建议是扒谱的时候每完成一段就用 MIDI 播放一遍闭上眼睛听感受这段和声是否站得住。如果哪里感觉多余或空泛不要急着改谱面先回到原曲听三遍再决定是保留还是调整。多次循环之后你对音乐的判断力会明显提升。如果这篇文章对你有帮助可以先收藏然后打开 Audacity 和 MuseScore 实际动手扒一段八小节的主旋律。扒谱这件事听十篇教程不如完整扒完一首曲子。