公司动态

从录播到成品:阿萨Aza《Simon》歌切完整制作流程

📅 2026/9/1 3:18:40
从录播到成品:阿萨Aza《Simon》歌切完整制作流程
最近在整理阿萨Aza直播歌切素材时发现不少朋友对“歌切”制作流程感兴趣尤其是《Simon》这类歌曲现场状态和录音棚版本区别很大切片处理得好不好几乎直接决定投稿的听感。但网上关于歌切的教程大多是成品展示真正把“从录播到成品”的每一步讲清楚的很少。这篇文章就从零开始完整拆解一版《Simon》歌切的制作流程包含工具选择、音频截取、降噪处理、响度标准化、频谱封面生成和发布检查清单新人可以照着做老手也可以用来优化自己的处理链路。1. 背景与核心概念1.1 什么是“歌切”“歌切”是虚拟主播、唱见社区里很常见的二次创作形式全称是“歌曲切片”。简单说就是把主播在直播中演唱的某首歌从整场录播里切出来单独制作成一段音频或视频投稿。和直接录屏相比歌切更聚焦观众能直接听到完整的歌不用在几个小时的录播里找位置。阿萨Aza作为B站虚拟艺人直播内容包括唱歌、杂谈、游戏等唱歌环节经常是观众最喜欢的部分。Aza在直播中演唱《Simon》后很多粉丝会制作相应歌切。但直播环境的录音条件相对复杂观众弹幕、耳机返听、房间混响、设备底噪都会混进音轨简单剪切的效果往往不理想这就需要一套相对固定的音频处理流程。1.2 歌切制作的技术链路一个完整歌切项目不是“把音频剪出来”这么简单。制作过程中涉及的关键技术点包括从录播文件中定位歌曲起止位置音频流提取与格式转换底噪、观众噪声的降噪处理混响和人声通透度的平衡响度标准化避免投稿后音量忽大忽小频谱图或封面素材生成发布前的成片检查。每一步都有对应的工具和参数。只要理解了链路做任何歌切都能复用同一套方法区别只在于素材和曲目不同。下面选择“阿萨Aza《Simon》歌切”作为实操案例原因是这首歌的切片需求在社区里比较常见而且歌曲中间有情绪起伏能很好展示响度标准化和动效控制的作用。1.3 学习目标读完这篇文章你可以掌握以下内容用 FFmpeg 从直播录播中截取指定时间段音频用 Audacity 完成降噪、增益、压缩等基础处理用响度标准化保证成品在不同设备上听感一致制作基础的波形/频谱封面让投稿更有辨识度建立一套发布前检查清单减少返工。整个流程以免费工具为主不需要购买专业音频软件适合个人二次创作场景。2. 环境准备与工具说明2.1 系统和硬件要求本文的操作步骤在 Windows / macOS / Linux 上都可以完成。音频处理对 CPU 和内存有一定要求尤其是处理几 GB 的直播录播时建议电脑内存不低于 8GB。如果你的录播文件是 1080P 高码率视频截取时 FFmpeg 的 I/O 吞吐比较大建议预留足够的磁盘空间。硬件方面监听耳机或普通耳机都可以不过最好避免用外放来检查底噪和音量因为外放会掩盖细节。如果条件允许一副监听耳机能让降噪参数调节得更准确。2.2 软件准备工具用途是否必须FFmpeg视频/音频流处理、截取、转码、响度标准化必须Audacity可视化降噪、增益、压缩、人声处理必须Python 3 matplotlib / numpy生成波形封面、批量处理可选剪映 / Premiere视频化歌切、字幕、封面合成可选版本选择上FFmpeg 建议使用较新的 release 版本比如 5.x / 6.x / 7.x老版本在loudnorm、afftdn等滤镜上可能存在差异。Audacity 可以使用当前官网稳定版3.x 版本界面和 2.x 略有不同但降噪功能位置基本一致。Python 版本建议 3.9 以上。如果你不确定自己电脑的 FFmpeg 是否可用可以在命令行执行ffmpeg -version如果输出版本信息说明安装成功。如果提示“找不到命令”需要先安装 FFmpeg 并配置环境变量。2.3 示例项目结构为了保持处理过程清晰建议按照下面的目录结构组织素材simon_clip/ ├── raw/ # 原始录播文件 │ └── record.mp4 ├── works/ # 中间处理文件 │ ├── 01_raw_audio.wav │ ├── 02_cut_raw.wav │ ├── 03_denoised.wav │ └── 04_normalized.wav ├── output/ # 最终成品 │ └── Simon_歌切_v1.mp3 ├── cover/ # 封面素材 │ └── cover_wave.png └── scripts/ └── make_clip.py这样做的好处是每次处理不会污染原始素材中间文件可以随时回退也方便批量处理多首歌。很多新手喜欢直接在原视频上另存为最后出现问题很难定位建议从一开始就养成“源文件只读、工作目录独立”的习惯。3. 核心原理拆解3.1 如何定位歌曲在录播中的位置直播录播通常有几个小时手动拖动很浪费时间。定位歌曲位置有几种常见方式人工听一遍直播回放记录歌曲开始时间根据直播弹幕或歌单时间轴辅助定位使用 Audacity 打开音频波形通过波形密度找到唱歌段落使用 FFmpeg 的静音检测辅助定位。对于《Simon》这种有明显伴奏和演唱的歌切人工定位最直接但需要来回拖时间轴。更高效的方式是先粗略定位到歌曲区间再用 Audacity 波形微调首尾。如果你有大段录播可以用 FFmpeg 的静音检测快速找到明显的“暂停”位置ffmpeg -i raw/record.mp4 -af silencedetectnoise-30dB:d1.5 -f null -这条命令会输出类似[silencedetect 0x...] silence_start: 874.5 [silencedetect 0x...] silence_end: 876.2 | silence_duration: 1.7这表示检测到一次静音位于视频第 874.5 秒到 876.2 秒。通过静音段可以快速把长视频拆成若干段落然后逐一确认哪段是《Simon》。不过直播中的底噪会让静音检测不够准确所以静音检测只适合粗定位最终还是要靠耳朵和波形确认。3.2 FFmpeg 截取音频的两种方式FFmpeg 截取音频时-ss参数放在-i前还是后行为完全不同。把-ss放在-i之前FFmpeg 会先快速跳转到目标时间再进行解码。这种方式速度极快但某些版本在精确帧对齐上稍差。把-ss放在-i之后FFmpeg 会从开头解码到目标时间速度较慢但是定位更精确。对于音频切片我们通常不需要严格的帧对齐所以推荐把-ss放在-i前速度更快ffmpeg -ss 01:02:03 -t 00:04:30 -i raw/record.mp4 -vn -acodec pcm_s16le works/01_raw_audio.wav这条命令的含义是从record.mp4的第 1 小时 2 分 3 秒开始截取 4 分 30 秒忽略视频流把音频保存为无损 WAV 格式。这里有个重要选择为什么要先导出 WAV而不是直接导出 MP3因为后续要做降噪和响度处理MP3 是有损压缩每转一次就会损失一次音质。WAV 无损格式可以保证中间处理环节不增加额外损伤。等全部处理完成最后再导出 MP3 或 M4A。3.3 降噪到底在降什么直播录音里的噪声来源很多包括麦克风底噪、房间混响、风扇声、键盘声、观众弹幕提示音等。不同噪声的处理方式不同。如果是均匀的底噪可以使用 Audacity 的“降噪”功能先采样一段纯噪声再对整个音频做降噪。FFmpeg 里也有afftdn滤镜但在人声歌曲上容易产生“水声”或“金属声”需要谨慎使用。更推荐的方式是在 Audacity 中处理因为可以实时试听。如果是突发的点击声、爆音则适合用 Audacity 的“修复”或手动删除。如果是电流声可以尝试用 Audacity 的“陷波滤波器”去掉特定频率。实际操作时不要追求“完全无声”。过度降噪会让声音发闷、发虚人声会失去气息感。《Simon》这种歌曲本身有伴奏适当保留一点“空气感”比彻底干净更重要。3.4 响度标准化是什么响度标准化和简单的“音量放大”不是一回事。音量放大只是整体调整增益而响度标准化会考虑人耳对不同频率敏感度的差异让歌曲在手机、电脑、耳机等不同设备上听起来音量一致。FFmpeg 提供了一个很实用的滤镜loudnorm采用 EBU R128 标准。常用参数是ffmpeg -i works/03_denoised.wav -af loudnormI-16:TP-1.5:LRA11 works/04_normalized.wav参数含义I-16目标综合响度是 -16 LUFS适合流媒体平台音乐发布TP-1.5真实峰值不超过 -1.5 dBTP防止削波LRA11响度范围控制动态不要太夸张。对于 B站音频投稿-16 LUFS 是比较稳妥的目标。如果你做的歌切是放在视频里也可以根据视频整体声音调整。3.5 导出格式怎么选歌切投稿常见格式有三种MP3兼容性最好320kbps 音质已经很高M4A/AACB站支持很好256kbps 体积更小FLAC无损格式适合存档但文件较大。推荐发布用 MP3 320kbps保存原始工程时保留 WAV。转换命令ffmpeg -i works/04_normalized.wav -codec:a libmp3lame -b:a 320k output/Simon_歌切_v1.mp34. 完整实战案例制作《Simon》歌切4.1 准备录播文件并查看基本信息假设你已经有了一份阿萨Aza演唱《Simon》的直播录播文件名为record.mp4放在raw/目录下。先查看文件格式、时长和音频流信息ffprobe -v error -show_format -show_streams raw/record.mp4重点看音频流的编码格式、采样率、声道数。一般录播音频是 AAC 48kHz 立体声。如果在-show_streams输出里看到类似codec_nameaac channels2 sample_rate48000说明音频流正常后续处理按 48kHz 双声道处理即可。4.2 从录播中截取歌曲音频假设你通过波形和试听确认《Simon》在录播的第 01:02:03 处开始歌曲长度为 04:30。执行ffmpeg -ss 01:02:03 -t 00:04:30 -i raw/record.mp4 -vn -acodec pcm_s16le works/01_raw_audio.wav执行完成后用播放器打开01_raw_audio.wav确认音乐开始和结束位置是否准确。很多新手在第一步没有确认首尾后续处理完才发现多了前奏或少了尾奏再返工很麻烦。4.3 在 Audacity 中查看波形并微调打开 Audacity导入01_raw_audio.wav。工具栏会显示完整的波形。通过缩放找到歌曲真正开始演唱的位置以及最后一句唱完的位置。如果发现截取范围偏了可以使用 Audacity 的“选择工具”选中正确区间然后菜单“文件 - 导出音频”选择 WAV 格式保存为02_cut_raw.wav。这一步相当于在可视环境下精确裁剪。相比纯 FFmpeg 命令Audacity 的好处是能“看到”波形歌手开口瞬间通常波形会出现明显增幅歌曲结束前会有一段尾奏或混响衰减需要判断是否保留如果波形中间有突然的大幅波动可能是有报幕或观众欢呼可以考虑切掉。4.4 降噪处理在 Audacity 中执行降噪在音轨上找到一小段纯底噪区域比如唱前的一段安静片段长度在 1 到 2 秒左右用选择工具选中这段噪声菜单“效果 - 降噪/修复 - 降噪”打开降噪面板点击“获取噪声样本”Audacity 会记录噪声特征全选整个音轨CtrlA再次打开降噪效果降噪量建议从 6dB 到 12dB 之间尝试点击“降噪”然后播放试听。降噪处理后仔细听人声是否变闷、是否出现“山洞音”或“水声”。如果音质损失明显撤销操作把降噪量调小。记住一个原则降噪宁少勿多。残余一点底噪比损失人声细节更容易被接受。对于直播中的观众欢呼声降噪是没法完全去除的。如果某个时间段欢呼声过大可以考虑用 Audacity 的“淡入淡出包络”手动压低音量或者直接剪掉这一段。处理完降噪后导出为03_denoised.wav。4.5 响度标准化回到命令行对03_denoised.wav做响度标准化ffmpeg -i works/03_denoised.wav -af loudnormI-16:TP-1.5:LRA11 works/04_normalized.wav执行后可以用volumedetect检查成品的峰值和平均音量ffmpeg -i works/04_normalized.wav -af volumedetect -f null -输出类似mean_volume: -17.5 dB max_volume: -1.4 dB这个结果表示平均音量在 -17.5dB峰值在 -1.4dB整体已经接近目标响度没有出现削波。如果max_volume大于 -1dB说明可能存在削波风险需要重新用更低的响度目标处理。4.6 导出成品 MP3执行导出ffmpeg -i works/04_normalized.wav -codec:a libmp3lame -b:a 320k output/Simon_歌切_v1.mp3同时保留04_normalized.wav作为无损母带以后如果要导出不同格式或重新压缩不需要重复前面的处理步骤。4.7 用 Python 生成波形封面可选B站音频投稿通常可以传封面。除了用现有图片也可以用 Python 生成一张波形封面让歌切看上去更有“声音可视化”的感觉。先安装依赖pip install matplotlib numpy新建scripts/make_cover.pyimport wave import numpy as np import matplotlib.pyplot as plt wav_path works/04_normalized.wav out_path cover/cover_wave.png with wave.open(wav_path, rb) as w: sr w.getframerate() n_channels w.getnchannels() samp_width w.getsampwidth() frames w.readframes(w.getnframes()) dtype_map {1: np.int8, 2: np.int16, 4: np.int32} data np.frombuffer(frames, dtypedtype_map[samp_width]) if n_channels 1: data data.reshape(-1, n_channels) data data.mean(axis1) duration len(data) / sr time np.linspace(0, duration, len(data)) fig plt.figure(figsize(10, 4)) ax fig.add_subplot(111) ax.plot(time, data, color#66ccff, linewidth0.2) ax.axis(off) plt.tight_layout(pad0) plt.savefig(out_path, dpi150, transparentTrue) print(cover saved:, out_path)这段代码会读取 WAV 文件把双声道转成单声道然后画出整段音频的波形保存为透明背景的 PNG。最后在剪辑软件或在线工具里把波形图和歌名文字合成一张封面即可。如果你不想写代码也可以在 Audacity 里切换“频谱图”视图截图后导出为图片效果也不错。4.8 发布前检查清单导出的 MP3 在投稿前建议过一遍下面的检查检查项说明歌曲首尾是否准确多余空白、爆音、话头要清理干净音量是否稳定和站内其他歌切对比响度接近人声是否清晰降噪后没有明显“水声”和闷感峰值是否削波max_volume不超过 -1dB标题和标签是否合规标注直播出处、原曲、歌手信息封面是否清晰不侵权、不包含敏感内容如果以上都通过一版《Simon》歌切就制作完成了。5. 常见问题与排查思路5.1 常见问题表格问题现象常见原因解决思路截取出来的音频是空的-ss或-t时间格式不对用HH:MM:SS格式确认时长音量特别小录播原本音量低先做增益再响度标准化降噪后人声发闷降噪量过大或频率范围太宽降低降噪量试听对比人声有“金属声”afftdn参数不当改用 Audacity 降噪某段声音有爆音录制时就已经削波无法完全修复尽量避开或剪掉发布后手机音量和其他歌不一样没有响度标准化使用loudnorm波形封面只有一条线单声道读取异常双声道取均值或检查 dtype5.2 排查流程建议如果你遇到问题不要直接反复重试先按顺序排查先用 Audacity 播放源文件01_raw_audio.wav确认问题是否来自录播本身再播放02_cut_raw.wav确认是否是裁剪阶段引入的问题然后播放03_denoised.wav确认是否是降噪损伤最后播放04_normalized.wav确认是否是响度处理导致。这种方法叫“分段定位”哪一步引入问题就回到哪一步修不要从头到尾重新处理整条链路。5.3 避免再次出现的习惯每次处理前先备份源文件和上一步文件在工程目录中写下处理顺序和关键时间点不要在同一文件上反复保存覆盖遇到不确定的参数先用一段 10 秒的测试音频验证。6. 最佳实践与工程建议6.1 从源头减少干扰歌切效果很大程度上取决于录播源质量。录制直播时选择最高清晰度和码率关闭不必要的系统通知音麦克风增益不要开得过高这些都能减少后续降噪压力。如果录播是别人提供的二次压缩文件音质已经受损降噪和响度处理的效果会大打折扣。6.2 命名规范文件命名建议包含歌曲名、处理阶段、版本号例如Simon_raw_20250101.wav Simon_cut_v1.wav Simon_denoised_v1.wav Simon_normalized_v1.wav Simon_final_v1.mp3这样即使三个月后再看到文件也能一眼知道哪个是源文件、哪个是成品。6.3 批量处理思路如果你有多首歌切要做可以把 FFmpeg 命令封装成 Python 脚本用配置文件描述每首歌的起止时间和歌名。import subprocess from pathlib import Path BASE Path(raw) OUT Path(output) WORK Path(works) WORK.mkdir(exist_okTrue) OUT.mkdir(exist_okTrue) clips [ { source: record.mp4, start: 01:02:03, duration: 00:04:30, name: Simon, }, ] for clip in clips: src BASE / clip[source] start clip[start] duration clip[duration] name clip[name] wav_path WORK / f{name}_raw.wav final_path OUT / f{name}_歌切.mp3 cmd_extract [ ffmpeg, -y, -ss, start, -t, duration, -i, str(src), -vn, -acodec, pcm_s16le, str(wav_path), ] subprocess.run(cmd_extract, checkTrue) cmd_loudnorm [ ffmpeg, -y, -i, str(wav_path), -af, loudnormI-16:TP-1.5:LRA11, str(WORK / f{name}_normalized.wav), ] subprocess.run(cmd_loudnorm, checkTrue) cmd_mp3 [ ffmpeg, -y, -i, str(WORK / f{name}_normalized.wav), -codec:a, libmp3lame, -b:a, 320k, str(final_path), ] subprocess.run(cmd_mp3, checkTrue) print(done:, final_path)这个脚本把提取、标准化、导出三步串起来。如果你以后还要做更多歌切只需要在clips列表里加一行。要注意的是脚本默认没有降噪步骤因为降噪需要人工试听不适合完全自动化。6.4 多版本备份做好的成品建议分版本保存v1普通降噪导出版v2二次微调版比如修复了某段爆音master无损母带archive最终使用的原文件压缩包。不要担心占用空间歌切音频文件本身不大。备份能让你在做其他版本时不需要从头再来。6.5 二次创作的边界歌切属于二次创作发布时要注意在简介中标注演唱者为阿萨Aza并注明直播出处或录播来源遵守B站社区规范不用于商业用途不发布未经主播或粉丝社区允许的付费内容尊重原曲版权不对音频做恶意篡改。这些规范既是保护主播也是保护创作者自己。做歌切的核心是分享好听的现场不是为了抢流量保持社区氛围比数据更重要。7. 总结与下一步学习路线这篇教程以阿萨Aza《Simon》歌切为例完整梳理了从直播录播到最终成品的流程。你学到的不是一段孤立命令而是一套可以复用的音频处理链路先用 FFmpeg 从录播中定位和截取音频再用 Audacity 做可视化裁剪和降噪接着用loudnorm做响度标准化最后导出 MP3 并制作波形封面。如果这是你第一次做歌切建议先不要追求完美。用这篇文章里的步骤做出第一版上传前听三遍第一遍戴耳机听细节第二遍用手机外放听整体第三遍在嘈杂环境里听人声是否清晰。三遍都没问题就可以放心发布了。下一步可以尝试的方向包括用 UVR 或 Demucs 做伴奏分离提取更干净的人声用 ReplayGain 和响度表做更精细的动态控制把处理流程封装成完整 Python 脚本实现批量出片。歌切虽小但涉及音频编辑、命令行处理、批处理脚本和用户审美多个层面每多走一步你对声音的理解都会更深。希望这篇教程能帮你少踩一些坑把喜欢的现场更完整地分享出去。