🎬 第四章 音频基础
📄 一句话概括

深度学习给音频处理带来的变化就一句话:从【假设规律】变成【从数据里学规律】——代价是数据、算力和可解释性。

📝 本节和前面几节的关系

4.2 讲的是传统编码算法,这一节看新的一类方法进来了。

一、两种思路的差别

传统方法:由人先把规律写下来——比如【假设噪声是平稳的】。 优点是算得少、跑得快、结果能解释;缺点是规律写不准时就整段失效。 深度学习:不写规律,直接从大量数据里学出规律。 优点是遇到复杂情况也能应付;缺点是要数据、要算力、还不好解释。

二、各环节改了什么

降噪:从【假设噪声长什么样】变成【直接学干净声音长什么样】。 识别:从【声学模型加语言模型拼接】变成端到端一个网络。 合成:从【拼接录音片段】变成直接从文本生成波形。 压缩:从【手工设计的感知模型】变成学出来的感知模型。 分离:从【按声源方向或频率】变成按音色把不同的声音拆开。

三、代价很明确

需要数据:没有大量标注样本,学不出像样的模型。 需要算力:训练与推理都比传统方法重得多。 不容易解释:出了问题很难说清是哪一步错了。 这三条决定了它不是所有场景都划算。

四、两者的关系

不是替代,而是各管一段。 在实时、低功耗、要可解释的场景里,传统方法仍然是主力——比如手机里的通话降噪。 在复杂度高、有大量数据、算力充足的地方,深度学习明显更强。 所以正确的问法不是【哪个更好】,而是【我这一段的约束是什么】。

五、动手 Demo:深度学习进来之后,改了什么

五个环节,传统方法与深度学习方法的对照。

rows = [
    ("降噪", "假设噪声是平稳的",        "直接学【干净声音长什么样】"),
    ("识别", "声学模型 + 语言模型拼接", "端到端一个网络"),
    ("合成", "拼接录音片段",            "直接从文本生成波形"),
    ("压缩", "手工设计的感知模型",      "学出来的感知模型"),
    ("分离", "按声源方向或频率",        "按音色把不同的声音拆开"),
]
for a, b, c in rows:
    print("%-4s %-24s %s" % (a, b, c))

实跑输出:

--------------------------------------------------------------------
深度学习进来之后,改了什么
--------------------------------------------------------------------

  环节     传统方法                    深度学习方法
  ----------------------------------------------------------------
  降噪     假设噪声是平稳的            直接学【干净声音长什么样】
  识别     声学模型 + 语言模型拼接     端到端一个网络
  合成     拼接录音片段                直接从文本生成波形
  压缩     手工设计的感知模型          学出来的感知模型
  分离     按声源方向或频率            按音色把不同的声音拆开

  共同的变化:**从【假设规律】变成【从数据里学规律】。**
  代价也很明确:**需要数据、需要算力,而且结果不容易解释。**

共同的变化:从【假设规律】变成【从数据里学规律】。 代价也很明确:需要数据、需要算力,而且结果不容易解释。

30 秒实验

  1. 找一个你用过的语音识别或降噪功能,判断它更像哪一类方法。
  2. 想一下它的【失败案例】能不能被解释清楚。

常见误区

  1. 以为深度学习已经全面取代传统方法。实时与低功耗场景里传统方法仍是主力。
  2. 只看到效果好,忽略数据与算力成本。
自测三问(点开对答案) 1. 深度学习给音频带来的根本变化是什么? —— 从人工假设规律,变成从数据里学规律。 2. 它改写了哪些环节? —— 降噪、识别、合成、压缩、分离等。 3. 代价有哪些? —— 需要大量数据、需要算力、结果不容易解释。

相关笔记