AI 歌唱合成:从歌声合成到虚拟歌手——Vocaloid 到 Diff-SVC 的技术演进

你一定刷到过 AI 翻唱视频吧?让初音未来唱《孤勇者》,让洛天依唱周杰伦,甚至让孙燕姿唱《好汉歌》。我最早以为这些声音是把原唱录音用变声器改个调,直到自己把 Diff-SVC 跑起来才发现,事情完全不是我想的那样。

AI technology illustration

从磁贴拼接说起:Vocaloid 的“拼积木”时代

Vocaloid 是雅马哈开发的第一款主流歌声合成引擎,初音未来用的就是它。Vocaloid 官网 把自己定位为“歌声合成器”,用户输入歌词和旋律,它就能合成为人声。但第一代技术说白了就是一个大型拼读玩具。

制作公司先把一位真人歌手的录音切分成很小的声音片段,像日语五十音那样一个音一个音存进声库。合成时,系统根据乐谱把这些片段重新拼接起来。这就像你用一盘磁带,把每个字的发音剪下来,再按顺序粘回去。麻烦的地方在于,连接处的音色会突变,所以 Vocaloid 的调校师总在手动调整每个音的强度、颤音和前后过渡。

声音虽然有点机械,但操作门槛低。所以从 2007 年初音未来爆红开始,虚拟歌手这个概念就立住了。初音未来的声音采样自声优藤田咲(维基百科),这个细节让很多人第一次意识到,虚拟歌手背后站着一个真人。

统计参数合成:不再拼录音,而是“画频谱”

拼接合成的天花板很明显:声库里没有的音节组合,拼出来就难听。于是研究者转向统计参数合成(HMM 合成,HMM 维基百科)。思路是,不直接存录音,而是训练一个模型来学习声优的声音参数——比如频谱、基频、时长。合成时,模型先生成一段平滑的频谱序列,再交给声码器变成波形。

好处是再也不用担心拼接缝隙,声音流畅了不少。坏处是参数模型平均掉了太多细节,听起来像隔了一层纱,缺少真人唱歌时的呼吸感和情绪变化。早期用 HMM 合成的歌声,总让人想起电子琴里的“人声”音色。这条路线后来被神经网络合成取代,但它的建模思想一直影响着后面的工作。

神经网络时代:从文本到音频的端到端革命

真正让 AI 合成声音变自然的是端到端神经网络。VITS、Hifi-GAN 这类模型直接学习从文本或乐谱到波形的映射,不再显式建模频谱再转波形,而是用一个深度网络把声学和语言特征融合起来,一步生成声音。

Vocaloid 也没有停在老路上。Vocaloid 6 已经用上了 AI 合成,但仍然需要用户提供乐谱和歌词。另一条分支是完全不同的:歌声转换(Singing Voice Conversion, SVC)。它不是从文本生成声音,而是把一段人声 A 改造成另一副嗓子 B。你输入你自己的清唱,模型输出“初音未来唱你这段歌”。这就是今天大量 AI 翻唱视频背后跑的东西。

你可能会问:为什么我不直接让初音未来唱新歌?因为用官方声库写歌需要买授权和调参数,而用 SVC 只需要找一段清唱。门槛瞬间降到了零。于是开源社区围着 SVC 卷了起来,Diff-SVC 就是其中最火的一条技术路线。

Diff-SVC:扩散模型怎么“洗”出歌声

Diff-SVC 的核心是扩散模型(扩散模型维基百科)。它先学习把干净歌声一步步加噪到纯随机,直到完全变成雪花噪声;然后反向学习,从噪声一步步去噪,逐渐还原出歌声。转换的时候,它把你输入的人声当作待“还原”的模糊图像,把目标歌手的声音特征当作去噪的引导条件。每一步去噪,模型都用条件信息修正一次,最终得到的输出就是带有目标歌手风格、但旋律节奏来自输入源的声音。

用图片来比喻可能更好懂:扩散模型生成图像,就好像从一张白噪图开始,每步擦掉一些噪声,逐渐显露出轮廓和颜色。Diff-SVC 就是在擦噪声的过程中,额外加了一本“目标歌手音色说明书”,让擦出来的结果往目标音色上靠。

这解决了拼接法最头疼的“音色一致性”问题。因为整个频谱都是模型重新画的,不需要去找声库里的现成片段。因此它能让一个完全不会唱歌的人“唱”出接近专业歌手的音色,还能保留原本的音高起伏和情绪变化。

我最早也以为 Diff-SVC 能像 Vocaloid 那样输入音符就唱歌,直到我打开它的推理脚本,发现输入参数竟然是一个 .wav 文件而不是 midi,才明白自己把两个概念搞混了。Diff-SVC 是歌声转换,不是歌声合成。

一个普通玩家怎么用 Diff-SVC

  1. 准备目标歌手的干声片段——没有伴奏的纯人声,越多越好。
  2. 用预训练模型提取音高、频谱等特征,在目标音色上微调训练。
  3. 输入你的源歌声,模型会按目标音色重新渲染一遍。

一张表看清四代技术

技术路线 原理 代表 优点 缺点
拼接合成 在录音库中按音符取片段拼接 Vocaloid 1-3 音质高,接近原始录音 拼接处生硬,声库容量大
统计参数合成 学习声音参数并用声码器重建 HMM 合成 流畅、灵活 细节丢失,声音模糊
神经网络合成 端到端从文本/音频生成波形 VITS、Vocaloid 6 自然度逼近真人 训练成本高,复现难度大
扩散模型 SVC 加噪-去噪过程,用音色条件引导转换 Diff-SVC 音色一致性好,转换自然 只能转换,不能凭空合成,GPU 开销大

注意,合成和转换是两条不同的路。Vocaloid 属于歌声合成,Diff-SVC 属于歌声转换。前者要“无中生有”,后者要“以物换物”。

歌声合成
从乐谱和歌词直接生成人声,代表是 Vocaloid。
歌声转换
把一段人声转成另一个人的音色,代表是 Diff-SVC。

Diff-SVC 的边界在哪里

Diff-SVC 不是万能的。它最大的前提是,你需要有一段足够干净的目标歌手音频用作训练。训练数据太少,转换出来的声音就像假唱对口型;太多目标歌手的歌曲,又会牵扯版权。个人玩一玩没问题,拿去商用基本上会被平台下架。

其次,扩散模型的推理速度很慢。一个 30 秒的片段,在普通显卡上要跑几分钟,远不如实时变声器快。所以你会发现网上很多 AI 翻唱都是录好的视频,而不是直播现场。

还有音高限制。如果源歌手的音域和目标歌手差太多,转换后容易出现“假音破裂”或电音感。毕竟模型学的是音色映射,不是声带物理。

常见困惑:Diff-SVC 和 VITS 是一回事吗?

不是。VITS 是一个文本到语音的模型,输入文字输出语音。Diff-SVC 是一个音频到音频的转换模型,输入歌声输出歌声。它们在架构上都用到了对抗训练和扩散/变分思想,但解决的问题不同。Diff-SVC 最像 TTS 里说的“声音克隆”,但又少了一个文本建模的部分。

我最早以为虚拟歌手从此要取代人类歌手了。后来看到 Diff-SVC 在混音中的种种瑕疵,意识到它只是把音乐制作的门槛砸了一个洞。真正留下来的不是某个工具,而是“任何人都能创造声音”这个事实。

原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/1749.html

赞 (0)
上一篇 3天前
下一篇 2天前

相关推荐