如何看待华为HarmonyOS6新增音量无级调节功能?
这恰好是我专业的领域,有很多知识可以分享。
有回答说音量无级调整是2007年初代iphone出现的。其实最早的音量就是无级调整的,不过是机械式的。此外,2001年第一代ipod就用了电子音量钮,不过我本人在90年代就在豪华音响上用encoder做电子音量钮了。非要说触控式操作,那么最早出现的2003年的ipod出现的(在触控方面,苹果是先驱),而我当时在做它的竞品。我当时认为ipod在走回头路,非常鄙视ipod,此外,我本人设计的产品产品各种指标全面碾压ipod。
因为完整介绍模拟电路技术所需篇幅太长,本文有很多内容不会介绍,希望同行不要杠。
但是第三代ipod多了一些我本人认为毫无用处的功能(市场证明,我本人的判断是严重错误的,当然,我作为一个OEM工程师,不决定产品功能,只是按照客户的决策去做具体的设计,所以我的判断无关紧要),比如用触摸按钮取代了机械按钮,用触摸滚轮取代了机械滚轮(包括音量的无级调整)。我们老板也让我们做音量无级调整,我们没有滚轮,所以我们操作上用长按音量钮实现。
一、最早的音量调整:
音量钮就是一个滑动变阻器。在变阻器的两头输入信号,从变阻器的中间抽头取出信号,所以,我们称之为电位器。不同于学校里面大家用绕线式的变阻器根据不同的匝数有不同的阻值,匝数限制产生了分辨率的问题(resolution),这种滑动式的变阻器其阻值变化是连续的,其音量调整是无级的。
当然,普通设备用碳膜变阻器,为了避免碳粒间电阻变化产生的噪声,豪华设备会采用金属膜变阻器,因为金属膜膜电阻电阻太小,往往不得不用螺旋刻制方式来缩小导体宽度、增大导体长度,从而增大电阻,所以也有匝数的问题。
但是,人们在使用发现,人耳对音量大小的细微差别不敏感,并且是人耳的敏感度是指数型的。这导致变阻器的阻值变化范围需要非常大,并且需要是指数型的(反过来接就是对数型的)。
也就是其阻值变化不能是1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16(假定分16档,实际会分得更细),而需要是1、2、4、8、16、32、64、128、256、512、1024、2048、4096、8192、16384、32768、65536。
当然,实际不会是2的指数幂,并且级数会更多。比如是1.1的指数幂,分60级等等,这对变阻器的制造带来了一定的挑战。
二、最早电子音量调整是分级的
我本人在90年代就在豪华音响上用encoder做电子音量钮了,其技术是学习80年代索尼在batacam广播级录像机(以前广播级是专业级里面的最高级别。注意别跟在竞争中输给VHS制式录像机的70年代的消费级batamax录像机搞混淆)上的encoder技术。
1、编码器技术
不同于消费领域采用快进快退的按钮操作,batacam为了给电视台的制作人员提供逐帧编辑的功能,采用了encoder(编码器)提供快进快退的操作,编辑人员拨动encoder来做快进快退的操作,拨动越快,则画面前进得越快;拨动越慢,则画面前进得越慢;拨动一格,图像就前进一帧。
我们的设计的豪华音响也是这样,编码器外面接着一个圆形的大按钮,用户顺时针拨动一格,音量调大一档,逆时针波动一个,音量调小一档。
2、编码器原理
我们用的是增量式编码器,编码器的核心部分是三个环形的金属导体圆圈,其中两个圆圈被切割成彼此绝缘的不均匀分段,空白区、导体交替间隔,这两个圈我们称之为A\B圈,A\B圈的切割线彼此错开。还有用车圈被细细的分割成均匀分段,我们称之为刻度圈(Z圈)。三个圈组成一个码盘。旋转轴带三个簧片旋转,一个簧片一端接地,另外一端分别接触A圈、B圈、Z圈。
A\B\Z圈通过电阻接电源,这样,随着旋转轴旋转,A\B\Z三个圈交替被簧片短路到地上,形成了电压的高地变化。
CPU通过检测Z圈脉冲的个数,知道旋钮在指定的时间内旋转了多少度,通过检测A圈\B圈脉冲的先后,知道是正转还是反转。
举例来说,对于某种设计的码盘,正转的情况下,每个A圈脉冲之前3度都会出现用车B圈脉冲,而每个B圈脉冲之前1度,都有一个A圈脉冲出现。反之,每个A圈脉冲之前1度都会出现用车B圈脉冲,而每个B圈脉冲之前3度都有一个A圈脉冲出现,那么说明旋转轴在反转。
3、电子音量调整原理:
用多个电子衰减器实现,音量最大的时候,所有衰减器都处于旁通状态,信号不经过衰减100%输出。
假如有12级衰减,各档位依次串入1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16各衰减器,各档的输出分别是被衰减1、2、4、8、16、32、64、128、256、512、1024、2048、4096、8192、16384、32768、65536倍。
当然,实际不会是2的指数幂,并且级数会更多。但是,因为成本、集成度的限制,不会像绕线式电位器那样做那么多级。
因为,你每加一级,就加一级衰减器的成本跟电路板占用空间。
当然,后来这些衰减器都集成到专门的音量调整IC(集成电路)里面去了,即便如此,增加技术也增加了集成电路的成本。
当然,电子音量调整器也不会像绕线电阻一样是1.1的指数幂(这样一档是0.8分贝,反正我本人没接触过这么细的分档)。比如,1.3的指数幂,分30档,这样可以实现2.3分贝的分档,68分贝的最大衰减量。
我们知道,人耳从痛觉阈值到听觉阈值是120分贝到0分贝,68分贝的最大衰减量够吗?会不会出现音量关不死的情况?
不会的,设备中都有有专门的静音电路,音量关到最大衰减量之后,再关静音电路就工作了,直接把信号输出短路,衰减量变得无限大。
三、数字时代的音量调整
1、数字时代音量调整理论上没有分级的问题
我说过,音量调整的本质就是衰减。因为数字时代的声音信号已经量化了(数字化了),这个就简单了,加个除法器就是了,你想衰减多少就除多少。此外,因为声音信号的取样频率很低,都是kHz级别的,所以并不要很高的运算速度。
我说了,数字时代理论上也没有分级的问题,可以实现无级调整。
自从80年代CD开始普及出现之后,声音信号在电子设备先天就是数字化了,不需要额外增加ADC把模拟信号变成数字信号。
但是早年无论是CD还是MP3,其音量调整基本都不是数字式的,甚至就不是电子式的。
2、早年的数码产品的音量调整都是械式的。
也就是在DAC把数字信号变成模拟信号之后再进行调整(因为完整介绍模拟电路技术所需篇幅太长,什么buffer,OP、S/N,THD,separation,Dynamic Range这些概念我就都省略了,有兴趣的可以自行根据以上关键词去搜索相关文献。本身懂这些内容的就不用抬杠了)
原因很简单,早年的数字芯片中没有设计这个功能,并且早年的数字芯片是不支持软件、固件的(固件倒是有,但是只是在起控制作用的CPU上),处理声音的信号的芯片叫做SSP(sound singal processer)。设计SSP的芯片厂中没有设计的功能就是没有,电子设备的厂商没法通过固件、软件增加上去。
3、上个世纪末我们在努力做电子音量调整
但是,无论是CD这些声音信号本来就是数字化的设备,还是电唱盘、磁带机、收音座(把收音机中音频放大部分剥离出去,就收音功能部分单独做的产品,需要跟前级放大器、功率放大器或者一体式放大器一起工作)这些声音信号是模拟信号的设备,我们的处理都是一样的-额外增加音量衰减电路),原因很简单,当时的数字音量处理芯片没做音量调整功能。(严格的说也不是没有做,很多SSP做了几档的音量调整,但是那是为了方便电路设计者兼顾OP信号饱和同S/N用的,是给设计者用的,不是给消费者用的。我怕同时代的设计者来杠这个事情,多嘴说一下)
4、为啥ipod可以支持无级调整?
因为其一开始就是数字信号处理,2001年发布的第一代ipod音频处理由PortalPlayer PP5002 系统级芯片 (SoC) 内置的双 ARM7TDMI 处理器 + 集成音频处理单元完成,虽然未使用独立的 DSP 芯片
但是PortalPlayer PP5002B 主控芯片(核心处理单元)包括双 ARM7TDMI 处理器:每颗最高 90MHz,合计提供180MIPS处理能力,负责所有数字音频处理任务,里面集成音频处理单元:内置 MP3/WAV/AIFF 解码模块、均衡器 (EQ)、音量控制等数字信号处理功能,相当于片上 DSP,本身支持音量的无级调整。
实际上,随着DSP的普及,做音量调整就是在代码中加个除法,无级不无级,视乎代码设定的分辨率。
5、早期的ipod真的是无级音量调整吗?
第一代ipod核心芯片组合:PP5002B 主控 SoC + Wolfson WM8721 音频编解码器(含 DAC + 耳机放大器)
信号流程:存储→读取→解码→数字处理(含音量调整)→DAC 转换→模拟放大→输出,
Wolfson WM8721芯片我也用过,当然不支持音量的无级调整,而是采用数字音量控制,以1dB 为固定步长进行调节,音量范围从 +6dB(增益)到 - 73dB(衰减),总计80 级。
所以,压根不需要在DPS中跟音频数字信号做除法来做音量调整。
坦白说,我当年在对竞品的测试中,没有留意ipod是不是无级调整。
1、2001年的ipod调整音量是用编码器,编码器本身有档位。
2、2003年之后ipod开始用触控拨盘,而我的手指头太粗了,没有通过触摸盘分出80级以上的级别。
都已经分到80级了,是不是无级还重要吗?
四、只要档位分得足够细那就是无级调整
而档位分多细,视乎音频处理代码设定的分辨率。
对于有操作系统的产品来时,这是操作系统设定,本身没有任何技术含量。
当然,操作系统我是纯外行,我不知道各个操作系统的各个分辨率各是多少。
1、抛开档位分辨率谈无级不无级是耍流氓。
你必然有一个档位分辨率,这个档位不可能无限细,也就不可能是理论上的无级调整。评论区明显搞混了显示屏分辨率跟触摸屏分辨率。
2、触摸分辨率跟现实分辨率概念:
我在大陆算是做触控很早的,甚至早在没有专用的触控IC出来之前,我就用过普通的CPU实现过。当然,受限于普通CPU IO的性能,效果很差,但是对其原理、产品要点,我是熟悉的。
手机触摸屏(触控面板)与显示屏是两个独立部件,后期通过光学胶(OCA)贴合后才形成一个完整部件,但是这两者分辨率是独立的。
触摸屏硬件层面的真实分辨率,由 ITO 导电层蚀刻的TX(发射)/RX(接收)电极阵列决定,是触控定位的物理基础。
电容触摸屏的物理感应点远少于显示屏像素(如 1080P 显示屏有 207 万像素,而触摸屏电极仅数百个)
旗舰手机触控芯片支持最大40RX/20TX架构,形成 800 个触点。
物理分辨率决定了原始触控精度,但实际使用中会通过软件算法提升上报分辨率,但是,这个上报分辨率是不准的,并且容易收到外界电场信号的干扰(也就是说,到底有多么不准呢?视乎环境而定),一般来说,用交流电的时候会很不准,用电池的时候会准很多。