Soundshine app icon

Soundshine

← 返回博客

如何录下 Mac 上正在播放的音乐

你想把 Mac 上正在播放的东西录成一份干净的文件:你自己做的曲子、一段现场、一支混音,或者一段配乐。把麦克风对着扬声器不是办法,从耳机孔接一根线也不是。

这两种做法都会把好端端的数字音频转成模拟再转回来,白白加进噪声、丢掉细节。直接捕获数字流才对。

关于你在录什么

值得直说。从流媒体服务录制受版权保护的音乐,几乎违反所有流媒体服务的使用条款;而再分发,无论你是怎么拿到的,都构成侵权。

录制你自己的作品、公共领域录音、知识共享授权素材、你获准录制的直播,或者你自己做的混音,都是再正常不过的需求。这篇文章是写给这些人的。

为什么自带应用帮不上忙

QuickTime Player 和语音备忘录录的是麦克风输入。macOS 不把系统声音作为输入设备呈现,所以这两个应用根本看不见音乐。

如果硬要试,你会通过内置麦克风录下扬声器的声音,连同房间、键盘声和窗外的一切。听起来就跟想象中一样糟。

用数字方式捕获

  1. 打开 Soundshine Record,一次性授予录制权限。
  2. 在音源列表里按名称选择音乐应用:音乐、Spotify、你的浏览器或你的 DAW。选择应用而不是全部系统声音,可以把通知声挡在文件之外。
  3. 如果音频要送进编辑软件或 DAW,格式选 WAVAIFF;只是拿来听就用 AAC(.m4a)
  4. 按下录制,然后开始播放。
  5. 停止。文件在 ~/Music/SoundshineRecord,48 kHz 立体声。

请在应用内把音量开到最大,因为捕获跟随应用自身的输出电平。系统音量与录音无关,所以你可以放心把扬声器调小。

需要 macOS 15 或更高版本。$14.99 买断,附带功能完整的试用。

免费路线

BlackHole 是免费开源的虚拟声卡驱动。

  1. existential.audio 安装。
  2. 打开音频 MIDI 设置,点 +,选创建多输出设备
  3. 同时勾选 BlackHole 2ch 和你真正的输出,这样你仍能听到音乐。
  4. 系统设置 > 声音里把该多输出设备设为输出。
  5. 在 QuickTime Player、Audacity 或你的 DAW 里从 BlackHole 2ch 录音。

免费且可靠。两点提醒:它把所有声音混在一起捕获,所以曲子中途弹出的通知会永久留在文件里;另外,系统输出会一直停在多输出设备上,直到你改回去。

把品质做对

绝不要用线缆录。 耳机输出接线路输入会把数字转成模拟再转回来,加进嘶声、损失动态范围。更何况多数现代 Mac 连线路输入口都没有。

对齐到 48 kHz。 macOS 运行在 48 kHz。以 44.1 kHz 录制会强制重采样,毫无收益。

要编辑就用无压缩。 凡是要进 DAW 或编辑软件的,用 WAV 或 AIFF。每一次压缩后重新打开都会叠加失真,所以只在最后压一次。

别指望超过源。 把 128 kbps 的流录成 24 位 WAV,它依然是 128 kbps 的流,只是文件大得多。录音只保存品质,不会增加品质。

留出余量。 如果应用以最大音量输出并顶到 0 dB,稍微回一点。削波无法挽回。

相关阅读

常见问题

如何录下 Mac 上正在播放的音乐?

自带应用做不到:QuickTime Player 和语音备忘录只采集麦克风输入,把它们对着扬声器只会得到一段闷响的房间录音。请使用能直接捕获系统声音的应用,例如 Soundshine Record,或者使用 BlackHole 这类虚拟声卡驱动。

从流媒体服务录制音乐合法吗?

从流媒体服务录制受版权保护的音乐几乎总是违反该服务的使用条款,再分发则构成侵权。录制你自己的作品、公共领域作品、知识共享素材,或你获准录制的直播,则是另一回事。技术本身是中立的,用途不是。

从 Mac 录音乐会损失音质吗?

只要是数字捕获就不会。进程捕获和虚拟声卡驱动都是在声音到达扬声器之前复制数据流,没有模拟转换。用线缆从耳机输出接到输入的做法确实会损失音质并引入噪声。

怎样只录音乐而不录进通知声?

使用按应用捕获,只选择音乐应用,其他声音就不会进入文件。Soundshine Record、Piezo、Audio Hijack 和 OBS 都能指定单个应用。BlackHole 这类虚拟声卡驱动做不到,因为它只看得到最终混合后的输出。

不如直接录成一个文件

Soundshine Record 可以录制全部系统声音,或只录你挑选的应用,再加上麦克风,每个音源独立调节音量,也不需要安装虚拟声卡驱动。