📄 一句话概括
深度学习给音频处理带来的变化就一句话:从【假设规律】变成【从数据里学规律】——代价是数据、算力和可解释性。
📝 本节和前面几节的关系
4.2 讲的是传统编码算法,这一节看新的一类方法进来了。
一、两种思路的差别
传统方法:由人先把规律写下来——比如【假设噪声是平稳的】。 优点是算得少、跑得快、结果能解释;缺点是规律写不准时就整段失效。 深度学习:不写规律,直接从大量数据里学出规律。 优点是遇到复杂情况也能应付;缺点是要数据、要算力、还不好解释。
二、各环节改了什么
降噪:从【假设噪声长什么样】变成【直接学干净声音长什么样】。 识别:从【声学模型加语言模型拼接】变成端到端一个网络。 合成:从【拼接录音片段】变成直接从文本生成波形。 压缩:从【手工设计的感知模型】变成学出来的感知模型。 分离:从【按声源方向或频率】变成按音色把不同的声音拆开。
三、代价很明确
需要数据:没有大量标注样本,学不出像样的模型。 需要算力:训练与推理都比传统方法重得多。 不容易解释:出了问题很难说清是哪一步错了。 这三条决定了它不是所有场景都划算。
四、两者的关系
不是替代,而是各管一段。 在实时、低功耗、要可解释的场景里,传统方法仍然是主力——比如手机里的通话降噪。 在复杂度高、有大量数据、算力充足的地方,深度学习明显更强。 所以正确的问法不是【哪个更好】,而是【我这一段的约束是什么】。
五、动手 Demo:深度学习进来之后,改了什么
五个环节,传统方法与深度学习方法的对照。
rows = [
("降噪", "假设噪声是平稳的", "直接学【干净声音长什么样】"),
("识别", "声学模型 + 语言模型拼接", "端到端一个网络"),
("合成", "拼接录音片段", "直接从文本生成波形"),
("压缩", "手工设计的感知模型", "学出来的感知模型"),
("分离", "按声源方向或频率", "按音色把不同的声音拆开"),
]
for a, b, c in rows:
print("%-4s %-24s %s" % (a, b, c))
实跑输出:
--------------------------------------------------------------------
深度学习进来之后,改了什么
--------------------------------------------------------------------
环节 传统方法 深度学习方法
----------------------------------------------------------------
降噪 假设噪声是平稳的 直接学【干净声音长什么样】
识别 声学模型 + 语言模型拼接 端到端一个网络
合成 拼接录音片段 直接从文本生成波形
压缩 手工设计的感知模型 学出来的感知模型
分离 按声源方向或频率 按音色把不同的声音拆开
共同的变化:**从【假设规律】变成【从数据里学规律】。**
代价也很明确:**需要数据、需要算力,而且结果不容易解释。**
共同的变化:从【假设规律】变成【从数据里学规律】。 代价也很明确:需要数据、需要算力,而且结果不容易解释。
30 秒实验
- 找一个你用过的语音识别或降噪功能,判断它更像哪一类方法。
- 想一下它的【失败案例】能不能被解释清楚。
常见误区
- 以为深度学习已经全面取代传统方法。实时与低功耗场景里传统方法仍是主力。
- 只看到效果好,忽略数据与算力成本。
自测三问(点开对答案)
1. 深度学习给音频带来的根本变化是什么? —— 从人工假设规律,变成从数据里学规律。 2. 它改写了哪些环节? —— 降噪、识别、合成、压缩、分离等。 3. 代价有哪些? —— 需要大量数据、需要算力、结果不容易解释。- ☐ 下一节(4.3.2 十大音频处理任务)
相关笔记
- 十大音频处理任务 — 具体是哪些任务
- 音频编码算法 — 传统方法的那一套
- 🔵 计算机基础 · 索引 — 算法与数据驱动的一般概念
- 🎬 FFmpeg入门详解 · 索引