ADAU1701音频DSP实战:从SigmaStudio到硬件设计
做音频类产品这几年我见过太多人在两件事上浪费时间一是在MCU里写音频算法写了几个月还没解决好实时性和底噪问题二是不清楚有专用音频DSP这回事非要用FPGA或者通用DSP去绕远路。如果你现在正打算给有源音箱、音频处理器、智能家居设备加上EQ、分频、压限、延迟这些功能ADAU1701很可能是现阶段成本最低、资料最全、上手最快的方案。它是ADI SigmaDSP家族里的经典芯片把ADC、DAC、DSP内核全部封装在一起配合免费的Graphical开发环境SigmaStudio整个开发过程基本不需要写DSP代码更像是在画信号流图。再配合网上流传的那套171例程基本覆盖了滤波器、均衡器、动态处理、自启动配置等绝大多数场景。这篇就把我从零搭建音频处理系统的完整过程、工具链选择、硬件设计要点和排错经验一次性讲清楚适合做嵌入式硬件、搞单片机固件、以及想快速给产品加音频信号处理的开发者参考。1. 先想明白ADAU1701这颗DSP到底在帮你解决什么问题1.1 典型应用场景没有它时你只能拿MCU硬扛很多音频产品做到一半会突然冒出大量信号处理需求喇叭频响不平要拉EQ声音大了破音要加压限器低音炮和中高音要用分频器多喇叭之间还要对齐延迟。这些活如果放在STM32之类的MCU里做理论上能做但现实很骨感ADC/DAC还得另挂一颗Codec芯片MCU本身的算力被系统任务占掉一多半音频算法的实时调度稍微抖一下就是爆音而且每加一个功能代码量就翻一倍。ADAU1701这类SigmaDSP芯片解决的就是这种“音频处理需求爆发”的问题。它把模拟进、模拟出、数字信号处理全部集成在一颗芯片里开发人员只需要关心“信号从哪进来、经过什么处理、从哪出去”。主控MCU完全可以只负责UI、通信这些非音频任务音频处理这摊事彻底独立出去。常见的落地项目我列几个2.1声道书架音箱输入立体声内部做分频一路低通给低音炮两路高通给左右全频顺便压限保护小口径喇叭。会议音频处理器回声抑制、噪声门、自动增益、反馈啸叫抑制这些都有对应模块。乐器效果器/调音台周边混响、延迟、合唱、镶边这类效果通过模块拖拽即可实现。商用音频系统多区背景音乐用I2C控制音量和音源切换。1.2 SigmaDSP架构为什么说它是为音频“量身定制”ADAU1701的核心是一颗28bit的SigmaDSP处理器工作频率最高可以跑到50MHz左右配合片内24bit立体声ADC和四路24bit DAC。通常我们跑48kHz或96kHz采样率处理几十个音频模块完全够用。还有几个对产品设计很关键的特性支持192kHz采样率数字输入输出口支持I2S格式可以外挂更高性能的ADC/DAC扩展通道。这意味着你可以在模拟输入不够用的情况下用I2S接入数字麦克风、蓝牙音频模块或者其他DSP的音频流。支持I2C/SPI两种控制接口外部MCU可以通过I2C动态修改DSP内部参数比如用户调节音量、切换EQ预置、改变延迟时间。带8个GPIO可以读取按键、输出LED状态甚至做简单的逻辑判断。支持从外部EEPROM自启动上电后DSP自动把程序加载进来不需要外部MCU参与这在很多号称“高可靠性”的音频产品里是刚需。很多人都忽略的一点是ADAU1701不只是“一颗DSP”它实际上是一套完整的音频子系统。你外面只需要加电源、晶振、运放、EEPROM这些周边一条完整的音频信号链就通了。这也是它非常适合快速落地产品的原因。1.3 为什么不选STM32软实现、FPGA或者TMS320系列这个问题几乎每个项目选型时都会遇到。我用一个比较实际的对比来说方案优势劣势典型适用场景MCU软件实现STM32等灵活性高、复用现有主控、BOM成本低算力受限、实时音频调度难、代码维护成本高极简单的音量/静音控制、非严格实时处理FPGA超高并行、接口自定义、延迟低开发门槛高、音频算法IP贵、功耗和成本高专业音频设备原型、多通道大规模处理通用DSPTMS320F28388D等算力强、外设丰富、适合高性能控制音频专用库少、开发复杂、功耗较高电机控制、电力电子、复杂工业算法ADAU1701 SigmaDSP音频链路集成度高、SigmaStudio开发极快、例程多算力有限、不适合自定义复杂算法消费音频、专业音频处理器、车载音响、乐器效果我个人的判断很简单如果你的产品核心是“音频处理”不是“跑算法做研发”ADAU1701这类SigmaDSP几乎是最优解。你不需要从零推导滤波器系数不需要花三个月去调一个不稳定的音频任务调度SigmaStudio里拖一个Biquad模块参数一填效果立刻能听。2. 开发工具链SigmaStudio和USBi是整套系统的“左右手”2.1 三样必不可少的东西搭建ADAU1701开发环境只需要三样东西少了任何一个都会卡住。第一是SigmaStudio软件。这是ADI官方的图形化DSP开发环境免费从ADI官网注册账号后即可下载。它把音频处理模块抽象成图形化元件你像画电路图一样拖拽模块、连线保存工程后编译生成DSP可以直接运行的程序。SigmaStudio只支持Windows系统这一点要注意Mac用户要么装虚拟机要么找一台Windows电脑。第二是USBi下载器。这是ADI官方调试工具PC通过USB连接USBiUSBi再通过I2C/SPI接到ADAU1701。调试的时候SigmaStudio会通过USBi实时把参数写进DSP同时也可以把DSP内部运行状态读回来比如电平表、滤波器输出、GPIO状态。USBi本身不便宜但这是官方最稳的链路。社区里也有人用FT232H、CH341之类的芯片自制USBi功能可以实现但调试稳定性和信号时序品质会有差异新手不建议一开始就去折腾自制。第三是一块ADAU1701目标板。官方有EVAL-ADAU1701MINIZ这种迷你评估板国内也有不少开源的核心板。作为起步买一块焊好ADC/DAC输入输出接口的板子就够了重点是把SigmaStudio到芯片的链路跑通听到底噪极低、信号无损的音频输出。之后再画自己的板子时照着评估板原理图抄外围电路成功率会高很多。2.2 第一次打开SigmaStudio最少需要认识三个窗口很多第一次接触SigmaStudio的人会被它的界面吓一跳其实核心只有三个区域。Design Tree工程树左侧列表显示整个工程的结构。你会看到ADC、DAC、DSP、GPIO、定时器等硬件资源双击对应节点可以打开硬件配置对话框。这里最重要的操作是检查采样率和外部时钟设置。Schematic Window原理图窗口中间的主画布你的音频信号流图就画在这里。从右侧模块库里拖出ADC输入、滤波器、音量控制、DAC输出等模块用连线把它们串起来。Toolbox模块库右侧工具栏按功能分类排列着上百个DSP模块Filter、Dynamic Processor、Mixer、Delay、Logic、GPIO、IC等等。新建工程的流程大概是这样打开SigmaStudio选择New Project。在芯片选择里选ADAU1701。根据你板子上的晶振频率在硬件配置里设置MCLK频率和采样率。这一步非常重要如果配置和实际晶振不一致后面编译出来的程序声音要么音调不对要么完全无声。拖入一个“ADC”模块再从模块库找“Volume Control”拖入“DAC”模块依次连线。点击编译Compile编译成功后点击ConnectSigmaStudio就会通过USBi连接芯片然后点Download下载程序。我第一次跑通这个流程大概花了半小时听到音箱里传来第一声纯净的正弦波试音信号时基本就确认了这套开发方式的效率不需要写一行音频处理代码链路就通了。2.3 实时电平表和频谱仪是调音阶段最值钱的功能SigmaStudio在线调试时有一个极其好用的能力实时可视化。你可以在信号链的任意节点后面挂一个Level Meter电平表模块编译下载后电平表会实时显示该节点的信号强度。这意味着你可以直接看到信号在哪一级被削弱、在哪一级被削波而不是靠耳朵盲猜。更进一步你还可以挂Spectrum Analyzer频谱分析模块实时观察音频信号的频谱分布。调EQ的时候一边播放粉红噪声一边看频谱仪响应曲线很快就能把音箱的频响拉平。这种做法放在传统DSP开发里是不可想象的传统方式要么靠示波器量数据要么反复下载烧录听效果。联机调试时改参数也特别顺滑选中任意滤波器模块拖动滑块声音立即变化。这种“所见即所得”的调试体验是ADAU1701这套生态最有竞争力的地方。还有一个容易被忽略的资源指标MIPS占用率。SigmaStudio里加模块时会看到芯片资源统计每个模块都会消耗一定算力当总占用接近100%时编译通常会报错或者运行不稳定。我的习惯是把MIPS占用控制在85%以内留出余量给后续功能扩展。3. 例程导航171个例程怎么用、先跑哪个、如何组合3.1 例程到底在讲什么拿到那套171例程第一件事不要急着逐个打开。你要先理解一点这些例程绝大多数不是传统意义的“源代码”而是SigmaStudio的图形工程文件每个工程展示一类音频处理功能的搭建方法。它们大致可以分成几组基础信号链路直通、静音、音量、左右声道交换、混音。用来验证系统是否通路是最高优先级的“开机自检”例程。滤波与均衡二阶低通/高通、四阶Linkwitz-Riley分频、峰值均衡、图示均衡、低架/高架滤波。这类是调音的基础十有八九的产品都会用到。动态处理压限器、压缩器、噪声门、扩展器、响度补偿。主要用于保护扬声器和控制动态范围。延迟与效果延迟线、混响、合唱、镶边、颤音。乐器效果器和一些空间处理会用到。系统级设计自启动例程、外部MCU通过I2C控制参数的例程、GPIO控制例程、I2S数字音频接口例程。理解这个分组以后你就会有“例程是零件库”的感觉。每个例程真正值钱的是里面模块的参数配置和连接方式而不是那几张连线图。3.2 我的建议不要从第1个按顺序看到第171个如果按编号顺序看大概率看到一半就忘记前面讲什么。我建议把例程当字典用按阶段目标挑着看。阶段一验证链路找“直通”或“音量控制”类例程跑通后确认从ADC到DAC的整条路径是通的能正常发声底噪低无失真。这通常半天时间就够了。阶段二学滤波找“分频器”和“参量均衡”类例程理解High Pass、Low Pass、Peak、High Shelf、Low Shelf这几个基础滤波器的参数含义试着自己搭一条“低通加高通”的二路分频链路。阶段三学动态找“Limiter/Compressor/Noise Gate”类例程理解Threshold、Ratio、Attack、Release、Makeup Gain这些参数对声音的影响。到这里你就具备了保护喇叭和控制动态的能力。阶段四做综合系统把滤波、动态、延迟、音量组合成一个完整的2.1声道或双功放系统这是产品级开发前最重要的演练。阶段五学系统级功能找自启动例程、I2C控制例程、GPIO例程把DSP和产品主控整合在一起。3.3 现场实操10分钟搭一条2.1声道DSP处理链路我拿自己经常用的一套模板给大家演示。目标输入立体声音源输出三路信号——左全频、右全频、低音炮全频带加高通低音炮加低通同时全局挂一个压限器保护喇叭。具体步骤全程在SigmaStudio里操作新建工程选ADAU1701设置MCLK为12.288MHz采样率48kHz。拖入一个ADC模块作为立体声模拟输入。拖入两个Linkwitz-Riley Filter模块一个设置为低通24dB/oct截止频率80Hz一个设置为高通24dB/oct截止频率80Hz。这就是分频网络。ADC输出分两路第一路进高通滤波器再分别接左右声道的Volume Control这是全频带第二路进低通滤波器再接一个Volume Control和Limiter这是低音炮通道。低音炮通道的Limiter设置阈值-3dBFS、快速启动、慢速释放避免低音大动态时喇叭打底。拖入DAC模块把三路输出接到DAC输出的不同通道上注意声道映射要正确。编译通过USBi连接并下载播放音乐调节三个音量旋钮听分频点衔接是否自然。整个链路从画图到出声十分钟完全足够。这个过程中你会直接理解一件事音频DSP开发的核心是系统设计思维不是代码能力。3.4 例程组合使用的三个经验多看了几个例程后你会发现单个例程里的模块配置往往可以直接搬进自己的工程。我的经验是例程里的“参数配置”可以跨工程复制。比如A例程里把压限器调得很好听你可以在自己的工程里从模块库再拖一个压限器然后手动抄参数这是最可靠的复制方式。善用“子工程”思想。SigmaStudio支持在工程里插入多页可以把分频网络、动态处理、延迟对齐分成不同子页面工程会清晰很多后续排查也不会晕。一定注意采样率的一致性。某个例程可能基于44.1kHz设计滤波器截止频率参数在44.1kHz和48kHz下会有细微差异复制到不同采样率的工程里时要重新核算滤波器参数不要直接无脑照抄。4. 硬件设计的关键细节供电、时钟、EEPROM和PCB布局4.1 电源设计模拟和数字分开是第一铁律ADAU1701整体是3.3V单电源供电内部有LDO生成1.8V给DSP核心使用。虽然实际芯片对电源要求没那么苛刻但音频产品的杀手永远是电源噪声所以电源设计一定要认真。我的建议方案用一个低噪声LDO专门给模拟电源部分供电比如TPS7A4901之类数字电源部分可以用普通DC-DC但最好再接一级LDO避免开关纹波直接灌进数字供电引脚。模拟电源和数字电源在PCB上用磁珠或者0欧电阻隔开单点连接AGND和DGND在芯片下方的散热焊盘处汇合不要形成大面积地环路。每个电源引脚旁边放0.1uF和10uF去耦电容电容要尽量靠近引脚走线先到电容再到芯片这是最容易被忽视的“低音浑浊、高频毛刺”来源。如果产品里既有DSP又有功率放大器功放电源和DSP电源必须分开不要共用一条长走线。上电时序方面ADAU1701本身对电源上电顺序要求不算苛刻但如果你用了外部运放给ADC输入做前端建议让DSP先上电或者用RC延时让运放后启动避免上电瞬间的POP声直接冲击喇叭。4.2 时钟和PLLMCLK不是随便给个频率就行ADAU1701对主时钟MCLK有明确要求。常见配置是使用12.288MHz晶振对应48kHz采样率使用11.2896MHz晶振对应44.1kHz采样率使用24.576MHz晶振可以支持更高采样率的倍数。在SigmaStudio的硬件配置里必须把MCLK频率和采样率设置成和实际电路一致PLL才能正确锁定。如果设置错误症状通常是完全无声或者声音严重变调。画板时晶振要靠近MCLK引脚两端负载电容按晶振规格书要求匹配走线尽量短不要穿过数字信号密集区。晶振下面铺一层完整的地平面做隔离可以明显减少辐射噪声。如果是自己画板首次调试时我不建议直接上晶振而是先用信号发生器或者评估板上的MCLK来验证DSP核心是否工作确认PCB没问题后再焊晶振。这样能省去“到底是晶振没起振还是DSP没配置好”这类复合问题。4.3 外部EEPROM和I2C配置电路如果你需要上电自启动ADAU1701必须外接一颗I2C接口的EEPROM。常用型号是24LC64、24LC128之类的NOR EEPROM容量64Kbit或128Kbit足够存放DSP程序和参数。EEPROM的连接其实很简单SDA、SCL与ADAU1701的I2C引脚并联上拉电阻到3.3V每路上拉4.7k欧姆地址引脚按数据手册配置通常默认地址就可以。这里要特别提醒i2c总线上同时挂着USBi、EEPROM和可能的MCU三者必须共地地址不能冲突。调试时USBi写入EEPROM产品运行时MCU也可以通过同一根总线动态修改DSP参数但要处理好总线仲裁不能让两个主机同时抢总线否则程序跑飞是小事EEPROM数据被写花才是大麻烦。自启动的具体配置在SigmaStudio里有开关选项同时还要看板的硬件引脚设置一般通过上下拉电阻控制。上电后ADAU1701会先检测自启动引脚电平再从EEPROM加载程序。具体引脚电平要求以数据手册为准不同版本芯片引脚定义略有差异。4.4 模拟输入输出信号调理和PCB布局ADAU1701的ADC输入支持单端和差分两种方式。单端输入电路简单但抗干扰能力差增益结构也受限差分输入在专业产品里更常见需要用运放把单端信号转成差分信号。当然也可以直接输入差分信号源。我自己画开发板时常用的输入电路是单端信号进来先过一个RC低通滤掉射频干扰再经过一颗低噪声运放做缓冲和增益微调最后进入ADAU1701。这样既保证了输入阻抗也方便做增益匹配。输入端最好串一个隔直电容防止前面设备带直流偏置进入ADC造成削波失真。DAC输出端同样需要处理DAC输出是模拟信号但带外会有高频镜像噪声必须经过一阶或二阶低通滤波器再接功放。最简单做法是运放加RC构成有源低通截止频率设在30kHz左右。如果不做这个滤波后面功放会把高频噪声放大人耳虽然听不到但会造成功放的额外功耗和热量。PCB布局的经验可以浓缩成几句话晶振远离ADC输入引脚和模拟走线。模拟走线短而粗尽量避免平行长距离走线。I2C和GPIO这类数字信号不要和模拟信号交叉实在交叉就垂直穿越。电源走线先经过去耦电容再到芯片引脚去耦电容地回路直接打过孔到地平面不要绕远。多层板至少要有完整的地平面四层板比两层板在音频性能上优势明显。5. 调试与排错从无声到爆音的完整排查链路5.1 完全无声用五步法定位遇到下载了程序却完全没有声音别急着怀疑芯片坏了按顺序排查。第一步确认SigmaStudio连接状态。点Connect后工具界面应该有USBi连上的状态标识。如果连不上查USB驱动、USBi的I2C接线、芯片供电。这种问题八成是I2C无响应不是DSP程序的问题。第二步查电源和时钟。用万用表量3.3V是否正常用示波器量MCLK引脚是否有波形。没有MCLK或者MCLK幅度异常DSP内部根本跑不起来。第三步看信号链第一级。在SigmaStudio的信号链最前端也就是ADC模块输出之后挂一个Level Meter播放音乐看这个节点有没有电平跳动。如果没有说明信号根本没进来查模拟输入电路和ADC配置。第四步逐级向后查。把Level Meter往后挪每挪一级看一次很快就能定位到信号在哪一级断了。最常见的情况是某两个模块之间连线没连上或者某级模块被静音了。这个办法虽然土但比用示波器量DSP引脚高效得多。第五步查末级和功放。如果DAC输出节点在SigmaStudio里看到正常信号但音箱还是没声音那就是功放、滤波或连接线的问题已经不在DSP开发范畴里了。5.2 噪声大、爆音、失真的常见根因底噪偏大是最常见的问题先别急着换芯片对照检查下面几个高频原因模拟电源纹波过大。换低噪声LDO检查去耦电容位置和走线。ADC输入悬空或输入阻抗不匹配。ADC输入引脚不能悬空必须接偏置电阻和信号源。布局导致数字噪声耦合进模拟。晶振、I2C、GPIO走线离模拟输入太近。SigmaStudio里增益结构不合理。信号链里如果某级增益给到6dB以上后级就会放大前面的底噪。爆音POP音的根因通常是上电瞬间DAC输出一个脉冲或者音量模块瞬间从静音跳到某个值。处理思路有三个一是让功放在DSP完全启动后再开启用GPIO控制功放MUTE引脚二是在SigmaStudio里做渐入音量上电时音量从最小平滑增加到设定值三是利用输出端隔直电容把直流脉冲挡住。失真问题要区分是削波失真还是滤波系数溢出。削波通常表现为音量开大后声音撕裂看Level Meter你会发现节点信号超过0dBFS。滤波系数溢出则多见于高通、低通滤波器级联过多且信号低频成分过大。处理办法是重新设计增益结构前级压低增益后级再用数字增益补回避免信号在算法链中过载。5.3 断电就“失忆”程序不固化的真相很多人第一次玩ADAU1701时会以为下载完程序断电重启还能自动跑。实际不是这样SigmaStudio在线下载的程序是写在DSP内部RAM里的断电立刻清零重新上电后什么都不剩。解决这个问题必须把程序固化到外部EEPROM里。在SigmaStudio里完成了一次满意的调试后确保EEPROM已经正确接入I2C总线并且地址能被识别。在SigmaStudio菜单里选择“Program EEPROM”或者“Write to EEPROM”功能。选择写入的窗口/程序段点击执行。等待烧录成功断开USBi给板子重新上电如果自启动引脚配置正确板子会直接运行之前写好的程序。如果烧录后上电完全没声音自查三个点EEPROM是否真的写入成功可以再连接USBi读回Content自启动硬件引脚电平是否正确EEPROM的I2C地址和程序写入的目标地址是否一致。5.4 在线调好参数后如何让用户能“记忆”音量实际产品里用户每次调节音量肯定希望下次开机还是这个音量。但ADAU1701的自启动程序里的参数是固定的。实现方案有两个更简单的方案在SigmaStudio里把用户可调参数如音量映射到EEPROM的某个数据区DSP运行期间用写EEPROM的模块把当前参数存进去。这样掉电后参数保留。更灵活的方案外部MCU通过I2C读用户音量开机时MCU把上次保存的音量写入DSP的对应寄存器同时DSP从头到晚只跑固定信号链音量参数完全交给MCU管理。第二个方案在智能音频产品里最常用因为MCU本来就要管按键、屏幕和通信顺便把用户参数持久化也管了DSP只负责声音处理边界清晰。6. 从例程到产品固化、量产和往后怎么升级6.1 固化程序的标准流程和验证方法产品定型前程序固化这一步必须做完整。我建议固化时建立一个固定的Checklist所有参数已经在SigmaStudio里调好音质达到预期。MIPS占用率低于85%留有余量。自启动功能验证通过断电重启后声音与在线调试时一致。EEPROM里的数据能通过USBi读出来备份防止后续误刷丢了基线版本。多块板子重复烧录并验证一致性。烧录完成后的板子单独做一次“放音老化测试”以1kHz正弦波、-3dBFS输入连续播放24小时观察有无声音中断、爆音或参数漂移。这一步能提前暴露电源热稳定性问题比出货后返修划算得多。6.2 量产时容易被忽略的三件事第一件是EEPROM预烧录策略。小批量生产可以先贴片后通过测试治具烧录大批量生产建议要求贴片厂提前烧录好EEPROM但要约定好程序版本号和校验方式。最怕的是贴片厂刷错了程序整批产品音频不对排查起来非常痛苦。第二件是音频指标的抽检标准。量产测试不能只看“有没有声音”至少要测THDN、SNR、左右声道串扰和频响曲线。没有Audio Precision这类专业仪器时用靠谱的外置声卡加RMAA软件也能做基础指标摸底能抓住大部分明显不良品。第三件是固件版本管理。ADAU1701的程序文件本质上是二进制或者文本格式的工程文件建议每个版本都要打上版本号并记录修改内容。因为很多时候调试是通过SigmaStudio在线改参数完成的改到满意后一激动直接把EEPROM烧了结果工程文件忘了存后续想改都找不到源工程只能重新调一遍这套路我踩过真的很浪费时间。6.3 今后的升级方向ADAU1452、MCU动态控制与模块化扩展如果你的产品后期需要更多算力或者更多IOADAU1701上面还有ADAU1452、ADAU1466等更高端的SigmaDSP型号。它们的开发思路和ADAU1701完全一致SigmaStudio工程可以很大程度上平移过去。所以从学习角度讲把ADAU1701这套吃透后面换更高级芯片的学习成本很低。另外一个很实用的进阶方向是用外部MCU动态控制DSP参数。以下代码是一个最简单的主机通过I2C写DSP寄存器的框架// I2C写ADAU1701寄存器示例框架伪代码寄存器地址以数据手册为准 uint8_t adau1701_i2c_addr 0x68; // 常见默认7-bit地址由硬件引脚决定 void adau1701_write_16bit(uint16_t reg_addr, uint8_t data_lo, uint8_t data_hi) { Wire.beginTransmission(adau1701_i2c_addr); Wire.write(reg_addr 8); // 寄存器地址高字节 Wire.write(reg_addr 0xFF); // 寄存器地址低字节 Wire.write(data_lo); // 数据低字节 Wire.write(data_hi); // 数据高字节 Wire.endTransmission(); }有了这个基础你就可以在产品里实现按键控制音量、上位机调参、手机App联动等等。实际上很多商业音频产品都是“MCU负责交互、SigmaDSP负责声音”的分工模式这也是SigmaDSP生态最成熟的架构。如果想把音频链路模块化还可以通过I2S口外接更高规格的ADC/DAC比如接一颗支持192kHz/24bit的外部Codec让ADAU1701的通道数进一步扩展。配合GPIO甚至可以自己做一个带显示屏、编码器、多种音效模式的桌面音频处理器。这几个项目跑下来我最深的体会是ADAU1701这套方案真正稀缺的价值不在芯片本身而在于它把“数字信号处理”这件事从晦涩的数学公式中解放了出来。你不需要从零推导滤波器系数不需要纠结FFT窗口函数甚至连传统的DSP汇编都不用碰要做的只是理解音频信号流然后像搭积木一样把模块拼起来。如果你正准备踏进音频处理这个领域别犹豫直接从ADAU1701和SigmaStudio开始跑通一个最小系统再回头理解里面的原理这条路比啃大部头教材顺得多。