前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >音频数字化简单原理「建议收藏」

音频数字化简单原理「建议收藏」

作者头像
全栈程序员站长
发布2022-08-01 12:53:40
2.1K0
发布2022-08-01 12:53:40
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

音频数字化简单原理

从字面上来说,数字化 (Digital) 就是以数字来表示,例如用数字去记录一张桌子的长宽尺寸,各木料间的角度,这就是一种数字化。跟数位常常一起被提到的字是模拟 ( Analog/Analogue) ,模拟的意思就是用一种相似的东西去表达,例如将桌子用传统相机 将三视图拍下来,就是一种模拟的记录方式。 两个概念:

1、分贝(dB):声波振幅的度量单位,非绝对、非线性、对数式度量方式。以人耳所能听到的最静的声音为1dB,那么会造成人耳听觉损伤的最大声音为100dB。人们正常语音交谈大约为20dB。10dB意味着音量放大10倍,而20dB却不是20倍,而是100倍(10的2次方) 。

2、频率(Hz):人们能感知的声音音高。男性语音为180Hz,女性歌声为600Hz,钢琴上 C调至A调间为440Hz,电视机发出人所能听到的声音是17kHz,人耳能够感知的最高声音频 率为20kHz。

将音频数字化,其实就是将声音数字化。最常见的方式是透过 PCM(脉冲) 。运作原理如下。首先我们考虑声音经过麦克风,转换成一连串电压变化的信号,如下图所示。这张图的横座标为秒,纵座标为电压大小。要将这样的信号转为 PCM 格 式的方法,是先以等时距分割。 我们把分割线与信号图形交叉处的座标位置记录下来,可以得到如下资料,(0.01,11.6 5) ,(0.02,14.00) 、 (0.03,16.00) 、 (0.04,17.74) … ..(0.18,15.94) 、 (0.19 ,17.7) 、 (0.20,20) 。好了,我们现在已经把这个波形以数字记录下来了。由于我们 已经知道时间间隔是固定的 0.01 秒,因此我们只要把纵座标记录下来就可以了,得到 的结果是 11.65 14.00 16.00 17.74 19.00 19.89 20.34 20.07 19.44 18.59 17.47 16.31 15.23 14.43 13.89 13.71 14.49 15.94 17.70 20.00 这一数列。这一串数字就 是将以上信号数字化的结果。看吧,我们确实用数字记录了事物。在以上的范例中,我 们的采样频率是 100Hz(1/0.01 秒 ) 。其实电脑中的 .WAV 档的内容就是类似这个样子 ,文件头中记录了采样频率和可容许最大记录振幅,后面就是一连串表示振幅大小的数 字,有正有负。常见CD唱盘是以PCM格式记录,而它的采样频率 (Sample Rate) 是 441 00Hz ,振幅采样精度/数位是 16Bits ,也就是说振幅最小可达 -32768(-2^16/2) ,最 大可达 +32767(2^16/2-1) 。CD唱盘是以螺旋状由内到外储存资料,可以存储74分钟的 音乐。CD唱盘的规格为什么是 44.1kHz、16Bits呢?关于 44.1kHz 这个数字的选取分为 两个层面。首先人耳的聆听范围是 20Hz 到 20kHz ,根据 Nyquist s ,理论 上只要用 40kHz 以上的采样频率就可以完整记录 20kHz 以下的信号。那么为什么要用 44.1kHz 这个数字呢?那是因为在 CD 发明前硬盘还很贵,所以主要将数字音频信号储 存媒体是录像带,用黑白来记录 0 与 1 。而当时的录像带格式为每秒 30 张,而一张 图又可以分为 490 条线,每一条线又可以储存三个取样信号,因此每秒有 30*490*3=4 4100 个取样点,而为了研发的方便, CD唱盘也继承了这个规格,这就是 44.1kHz 的由 来。在这里我们可以发现无论使用多么高的采样精度/数位,记录的数字跟实际的信号大 小总是有误差,因此数字化无法完全记录原始信号。我们称这个数字化造成失真称为量 化失真。

数字化的最大好处是资料传输与保存的不易失真。记录的资料只要数字大小不改变,记 录的资料内容就不会改变。如果我们用传统类比的方式记录以上信号,例如使用录音带 表面的磁场强度来表达振幅大小,我们在复制资料时,无论电路设计多么严谨,总是无 法避免杂讯的介入。这些杂讯会变成复制后资料的一部份,造成失真,且复制越多次信 噪比 ( 信号大小与噪音大小的比值 ) 会越来越低,资料的细节也越来越少。如果多次 复制过录音带,对以上的经验应该不陌生。在数字化的世界里,这串数字转换为二进制 ,以电压的高低来判读1与0,还可以加上各种检查码,使得出错机率很低,因此在一般 的情况下无论复制多少次,资料的内容都是相同,达到不失真的目的。

那么,数字化的资料如何转换成原来的音频信号呢?在计算机的声卡中一块芯片叫做 D AC(Digital to Analog Converter) ,中文称数模转换器。DAC的功能如其名是把数字信 号转换回模拟信号。我们可以把DAC想像成 16 个小电阻,各个电阻值是以二的倍数增大 。当 DAC 接受到来自计算机中的二进制 PCM 信号,遇到 0 时相对应的电阻就开启,遇 到 1 相对应的电阻不作用,如此每一批 16Bits 数字信号都可以转换回相对应的电压大 小。我们可以想像这个电压大小看起来似乎会像阶梯一样一格一格,跟原来平滑的信号 有些差异,因此再输出前还要通过一个低通滤波器,将高次谐波滤除,这样声音就会变 得比较平滑了。

从前面的内容可以看出,音频数字化就是将模拟的(连续的)声音波形数字化(离散化), 以便利用数字计算机进行处理的过程,主要包参数括采样频率(Sample Rate)和采样数 位/采样精度(Quantizing,也称量化级)两个方面,这二者决定了数字化音频的质量。 采样频率是对声音波形每秒钟进采样的次数。根据这种采样方法,采样频率是能够再现 声音频率的一倍。人耳听觉的频率上限在2OkHz左右,为了保证声音不失真,采样频率应 在4OkHz左右。经常使用的采样频率有11.025kHz、22.05kHz和44.lkHz等。采样频率越高 ,声音失真越小、音频数据量越大。采样数位是每个采样点的振幅动态响应数据范围, 经常采用的有8位、12位和16位。例如,8位量化级表示每个采样点可以表示256个(0-25 5)不同量化值,而16位量化级则可表示65536个不同量化值。采样量化位数越高音质越好 ,数据量也越大。

反映音频数字化质量的另一个因素是通道(或声道)个数。记录声音时,如果每次生成一 个声波数据,称为单声道;每次生成二个声波数据,称为立体声(双声道),立体声更能 反映人的听觉感受。

除了上述因素外,数字化音频的质量还受其它一些因素(如扬声器质量,麦克风优劣,计 算机声卡A/D与D/A(模/数、数/模)转换芯片品质,各个设备连接线屏蔽效果好坏等)的 影响。

综上所述,声音数字化的采样频率和量化级越高,结果越接近原始声音,但记录数字声 音所需存储空间也随之增加。可以用下面的公式估算声音数字化后每秒所需的存储量(假 定不经压缩):

存储量=(采样频率*采样数位)/8(字节数)

若采用双声道录音,存储量再增加一倍。例如,数字激光唱盘(CD-DA,红皮书标准)的 标准采样频率为44.lkHz,采样数位为16位,立体声,可以几乎无失真地播出频率高达2 2kHz的声音,这也是人类所能听到的最高频率声音。激光唱盘一分钟音乐需要的存储量 为:

44.1*1000*l6*2*60/8=10,584,000(字节)=10.584MBytes

这个数值就是微软Windows系统中WAVE(.WAV)声音文件在硬盘中所占磁盘空间的存储量。 由MICROSOFT公司开发的WAV声音文件格式,是如今计算机中最为常见的声音文件类型之 一,它符合RIFF文件规范,用于保存WINDOWS平台的音频信息资源,被WINDOWS平台机器 应用程序所广泛支持。另外,WAVE格式支持MSADPCM、CCIPTALAW、CCIPT-LAW和其他压缩 算法,支持多种音频位数,采样频率和声道,但其缺点是文件体积较大,所以不适合长 时间记录。因此,才会出现各种音频压缩编/解码技术的出现,例如,MP3,RM,WMA,VQ F,ASF等等它们各自有自己的应用领域,并且不断在竞争中求得发展。

WAVE、MIDI、MP3、RM常见音频格式简介

WAVE–WINDOWS系统最基本音频格式—*.wav

1、占用巨大硬盘空间,音质最好,支持音乐与语音 2、通常采样使用44KHZ采样/秒,16位/采样,立体声,双声道,CD音质 3、一分钟音乐占用大约10M硬盘空间,56K调制解调器需要30分钟才能完成网络传送

MIDI–电子合成音乐—*.mid

1、与WAVE格式截然不同,只有音乐,没有语音 2、使用音色库回放,有软硬波表之分, 3、十分节省磁盘空间,但是音质回放对声卡依赖较大 4、无法使用Total Recorder录制mid音乐 5、可以使用Wingroove软波表或其它软件转为wave

MP3–最流行音频压缩格式—*.mp3

1、节省硬盘空间,有损压缩,无法复原 2、音质与不同压缩编码软件有关 3、音乐与语音,可以使用各种采样比率

RM–网络流媒体压缩格式—*.rm/*.ra

1、节省磁盘空间,有损压缩,无法复原 2、在目前比较窄的网络带宽下,与Real Server服务器配合,使用Real Player在客户端 比较流畅地播放音视频媒体

其它还有:

1、微软的WMA编码–*.wma 2、微软的ASF流媒体编码–*.asf 3、Yamaha的VQF编码–*.vqf

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126430.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档