感受声音的世界
杨磊 邱元阳 刘宗凡 金琦 倪俊杰
编者按:随着电子计算机和人工智能机器的广泛应用,利用机器学习算法处理音频信号成为现实。使用人工智能来检测和分类声音可以克服人类感知限制的影响,并充分利用机器的感知和分类能力与人类的决策能力之间的优势互补。本期我们将围绕声音分类的应用、声音特征提取、声音分类处理和音频编辑原理等话题展开讨论。
主持人:
杨磊 ?天津市第五中学
嘉 ?宾:
邱元阳 ?河南省安阳县职业中专
刘宗凡 ?广东省四会市四会中学
金 ?琦 ?浙江师范大学附属中学
倪俊杰 ?浙江省桐乡市凤鸣高中
声音分类的应用领域
杨磊:利用机器对采集到的声音进行分析,从而判断有关声音的来源、变化等重要信息的智能声音分析系统逐步走入人们的生活。随着人工智能应用的不断发展与进步,依靠机器学习算法对场景、环境等进行判断从而辅助决策、音乐检索和语音情感分析等成为新的技术发展方向,得到了广泛的关注。
倪俊杰:声音事件检测是指对采集到的声音数据进行分类与检测,从而对当前发生的事件或发声的物体进行判断,目前主要是针对特定的应用领域对真实生活环境中的声音事件进行分类。由于声音是全向传播的,相比于圖像或者视频,基于声音的事件检测不会受到光线以及被遮挡等问题的影响;同时,声音信号的采集过程简单且存储需求较小,计算复杂度低,因此,基于声音的事件检测系统具备体积小、功耗低、易部署等优势,在智慧城市、智能家居及无人驾驶等领域有着极为广阔的应用前景。声音事件检测主要包括单声音事件检测和多声音事件检测两个研究方向。单声音事件检测用于检测每个时间最突出的声音事件,而多声音事件检测则识别场景中重叠的声音事件以及单个声音事件。与单声音事件识别相比,由于多声音事件识别的录音在同一时间存在大量重叠声音事件,因此,多声音事件识别呈现更多挑战。而现实生活中,由于天气、环境等原因,声音的出现往往不是单独的,在判断场景时也需要综合考虑多种声音,因此,研究中更多地关注多声音事件检测。
音乐流派分类是音乐信息检索的一个重要分支,正确的音乐分类对提高音乐信息检索的效率具有重要的意义。音乐流派是对音乐的一种描述,有多种不同的划分方式,但是各种流派没有确切的定义概念,常见的有流行、古典、金属等。近年来,互联网音乐曲库容量增加,按流派检索音乐成为音乐信息检索的主流方法。将音乐按流派分类,能够满足用户针对某种特定风格音乐检索的需求,方便用户对感兴趣的音乐类型进行快速检索和高效管理,同时方便音乐经销商管理和标注音乐类型,向用户推荐其感兴趣的音乐类型。自动且精准地进行音乐流派分类识别可以有效减少人力成本。因此,提高音乐流派分类识别准确率可以推动音乐平台的智能化发展,为音乐听众提供更好的服务,提升听众的体验,增加听众的选择,这些都具有巨大的研究价值和经济价值。目前,音乐分类主要包括文本分类和基于作者、年代、音乐名称等标注的文本信息分类。后一种分类方式的优点是易于实现、操作简单、检索速度快,但缺陷也很明显,它依赖于人工标注的音乐数据,需要耗费大量的人力,并且人工标注很难避免音乐信息标注错误的问题。同时,这种文本分类方式并没有涉及音乐本身的音频数据,音频数据包括音乐的很多关键特性,如音高、音色、旋律和音调等,这些特性用文本是无法标注的;而基于内容的分类正是对音乐的原始数据进行特征提取,用提取的特征数据训练分类器,从而达到音乐分类的目的。因此,人工音乐流派分类逐渐被自动音乐流派分类取代,自动音乐流派分类主要依据提取特征,训练分类器对音频信号进行流派分类。基于内容的音乐分类也成为近年来研究的热点。
语音情感识别主要是通过识别说话人当下的情绪来调整系统响应,它通常采用计算机系统作为情感信息的传递和处理媒介,使计算机能够正确理解和应用人类的情感信息。情感的理解对人与人之间的交互质量至关重要,只有敏锐地把握交互对象的情感状态才可能理解对方表达的真正含义并做出正确的应对,进而获得高质量的沟通。交互过程中的情感可通过面部表情的变化、语音表述的语气与措辞、身体行为的反应、心理变化所产生的生理体征的波动等多种途径表达。不同情感的表现往往具有相似性,即便是对具备复杂智慧系统的人类而言,精确判断说话人的情感状态也并非易事。这些问题引起了人们从心理学与生理学角度对情感进行分析与研究的兴趣。信息技术的发展极大地增强了人类和计算机之间的联系,推动了人工智能技术的进步。在计算机具备越来越高的推理能力和学习能力的同时,如何使计算机具有情感能力来构建更为和谐自然的人机交互环境变得越来越重要。在人机交互技术的发展中,情感交互是人机交互更高级的阶段。传统的人机交互主要通过键盘、鼠标、屏幕等方式进行,只追求便利和准确,无法理解和适应人的情绪或心境。如果计算机缺乏情感理解和表达能力,就很难期望人机交互达到真正的和谐与自然。语音情感分类综合包括了情感机理的研究、情感信号的获取、情感信号的分析与识别等内容,作为一个交叉学科,这是一个不断成长、快速发展的研究领域。
邱元阳:在生物识别技术专题中,我们提到过声纹识别技术,即依靠每个人发音的独特个性特点来准确识别发音者。人的发声器官的各个组成部分的形态和物理特点各不相同,如果用电声学仪器记录下发音者语言信息的声波频谱,会发现每个人的声纹图谱都有差异,但又有相对稳定性,这就使得声纹具有生物识别的基础和价值。声纹识别的可能性来自人对声音辨识的实践感受。对于熟悉的人来说,他不需要看到说话人,就能准确地判断说话人是谁,这就为声纹识别提供了可能。从物理学的角度来看,不同的人说话声音之所以不同,是因为声音的频率和音色等各不相同。尤其是音色,因为有丰富的泛音和谐波,可以形成千万种各不相同的音色,不同的乐器具有不同的音色,不同的人声也具有不同的音色。但在实际的声音特征采集中,会考虑到非常多的个性化特征,如声学层面的频谱、倒频谱、共振峰等,解剖学层面的鼻音、呼吸音、沙哑音,以及生物学和心理学层面的韵律、节奏、速度、语调、音量,甚至社会学层面的方言、修辞、发音、言语习惯等。由此可见,声纹识别与语音识别完全不同,后者考虑的是概括出共性的识别,前者考虑的是区别出个性的识别。声纹识别的优势主要有语音获取方便、识别成本低廉、使用简单等。这些优势使得声纹识别的应用越来越广,成为仅次于指纹和掌纹的生物特征识别。目前,在信息、银行证券系统、公安司法等领域能应用声纹识别。但是声纹识别也有缺陷,如身体状况和情绪造成的声纹特征变化、采集设备和信道对识别性能的影响、环境噪声对识别的干扰、多人说话场景下的说话人识别(谁在说话)和说话人辨认(是谁的话)难度较大等,这些缺陷都会影响识别的结果。声纹识别技术还需要进一步发展和完善。
声音数据集与特征提取库介绍
杨磊:算法、数据、算力是人工智能底层的三要素。深度学习算法本身是建构在大样本数据基础上的,而且数据越多,数据质量越好,算法结果表现越好。这意味着对数据的需求将会持续增加,尤其对细分场景数据的获取和标注难度不断增高。那么,声音分类领域有哪些公开的数据集呢?
刘宗凡:环境声音分类数据集(ESC)是在一个统一的格式下提供短环境记录的集合(5秒长的片段,44.1千赫)。所有剪辑均摘自Freesound.org项目提供的公共现场记录。根据知识共享许可条款,可以使用该数据集。该数据集包括三个子部分:①ESC-50。带有标签的2000个环境声音记录集,包含50个声音类别,每一类别含有40个剪辑。②ESC-10。带有标签的400个环境声音记录集,包含10个声音类别,每一类别有40个剪辑,它实际上是ESC-50的子集,最初创建为概念证明/标准化选择的简单记录。③ESC-US。250000个不带有标签的环境声音记录(5秒长的剪辑)数据集,它适用于无监督的预训练。ESC-US数据集虽然没有人为手动标注,但它包含一些原始用户上传音乐时提交的有关音乐流派的信息标签,这些标签可能会用于弱监督学习(嘈杂和/或丢失标签)。ESC-10和ESC-50数据集中的所有数据已被划分到五个大小均一的文件中,而且從同一原始声音源中提取的剪辑始终被安排放在同一个文件中。
GTZAN数据集是音乐流派分类的一个实验样本库,它包含10个音乐类型,即布鲁斯、古典、乡村、迪斯科、嘻哈、爵士、雷鬼、摇滚、金属和流行音乐,共计1000条音频文件,它们是采样频率为22.05kHz、16bit单声道、时长为30s的音频文件。音频是在2000—2001年从各种来源收集的,包括个人CD、收音机、麦克风录音等,可以反映各种录音条件。
CASIA汉语情感语料库由中国科学院自动化所在纯净的录音环境下选取录音人男声、女声各两人,每人按照不同的情感朗读文本2500句,共9600句,以16khz采样率、16bit、pcm格式存储。录制四个专业发音人的音频文件(有相同文本和不同文本)。通常选取7200条发音文件,其中每个人的每一种情感的300条是相同文本,也就是说对相同的文本赋予不同的情感来阅读,用来对比分析相同话语在不同情感状态下的声学特征以及韵律表现。其中每个人都包含六种不同的情绪情感状态:生气、害怕、快乐、中性、悲伤和惊讶。
另外,还有百万歌曲数据集、AudioSet等大型的声音数据集,这些声音数据集为深度神经网络模型的训练提供了数据支持,使得训练出有效的网络成为可能。
杨磊:数据集中包含的数据都是音频原始数据,而音频所包含的数据信息太多,一般无法直接将原始数据作为训练数据使用。因此,从音频数据中提取出具有代表性的音乐特征成为必要手段。那么,是否有这方面的相关工具可以使用呢?
金琦:在声音信号处理领域中,一些现有程序可用于声音信号特征参数的提取。下面给出几种常用的语音特征参数提取工具:①openSMILE是一个可用于语音信号处理的特征提取器,且具有高度模块化和灵活性等特点。它是一款以命令行形式运行的工具,通过配置config文件,主要用于提取音频特征,下载网址:http://audeering.com/technology/opensmile/。②VOICEBOX是一个语音处理工具箱,它由英国伦敦帝国理工学院电气与电子工程系的Mike Brookes维护并编写,工具箱包含了MATLAB环境下语音处理的常用函数,下载网址http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html。③Praat是一款跨平台的多功能语音学专业软件,主要用于对数字化的语音信号进行分析、标注、处理及合成等实验,同时生成各种语图和文字报表。下载网址:http://www.fon.hum.uva.nl/praat/。
当然,除应用软件和工具箱外,Python也有一些很好用的音频处理库,如Librosa和PyAudio。另外,还有一些基本的音频功能的内置模块。下面笔者以Librosa库为例演示提取音频信号梅尔声谱图的过程。提取过程如上页图1所示。
步骤1:安装,代码如上页图2所示。
步骤2:导入音频文件并显示,如上页图3所示,代码如上页图4所示。
步骤3:提取并显示梅尔声谱图,如图5所示,代码如图6所示。
以上演示表明,尽管提取梅尔声谱图的原理和过程相对复杂,但是利用Librosa库提取非常方便,每个库函数都有一些参数设置,这需要查看相关文档。
人工智能算法实现
杨磊:基于人工智能算法的声音分类系统由三个基本部分组成:信号预处理、特征提取和分类。首先进行声音预处理,如去噪和分割,以确定信号的有意义的单元;然后进行特征提取,用于识别信号中可用的相关特征;最后将提取的特征向量通过分类器进行分类处理。用于声音分类的简化系统如图7所示。在基于声音的信号处理的第一阶段,进行声音增强,去除噪声成分。第二阶段包括两个部分,即特征提取和特征选择。从预处理的信号中提取所需的特征,并从所提取的特征中进行选择,这种特征提取和选择通常基于时域和频域中语音信号的分析。在第三阶段,各种分类器,如神经网络、支持向量机、决策树等被用来对这些特征进行分类。
下面,利用tensorflow2.0和UrbanSound8K数据集简单介绍一下利用卷积神经网络实现环境音分类的过程。利用Librosa库提取梅尔声谱图,得到特征矩阵(64,174,1),如下页图8所示。
卷积神经网络在1984年由日本学者Fukushima提出,现在已经被广泛应用于图像处理和声音处理等领域,并取得了突破性的成果。卷积神经网络主要有两个特点:局部感知和权值共享。利用卷积操作进行局部感知,接收响应后得到特征图,所得特征图共享卷积核参数。多次卷积后,感受视野扩大,逐步形成全局特性,进而成为高层表达。卷积神经网络一般包含卷积层、池化层和全连接层。卷积层和池化层用于输入和提取特征,全连接层用于将特征映射到维度空间中。利用Tensorflow2.0可以方便地构建卷积神经网络,大大降低了深度学习的实践门槛。上页图9所示为卷积神经网络结构。本实例的参数设置如下:Dropout参数为0.2,激活函数为Relu,优化器为Adam,批量数为256,迭代次数为200。构建网络代码如上页图10所示。
训练过程中训练集的准确率和测试集上的准确率随迭代次数的变化如上页图11所示。
最终利用混淆矩阵查看各个类别的训练效果,如图12所示。
音频编辑的原理和难度
邱元阳:音频的编辑比较特殊,在声音的处理上,我们无法做到随心所欲。
音频的编辑不同于图像和视频,因为图像和视频本身是可以看到的,进行可视化操作是理所当然的,而声音是不可见的,需要将用耳朵感受的现象变成可视化的操作,这样就使难度大了很多。在音频编辑软件中可以很方便地添加音效,对声音进行合成、叠加,粗略地去除音乐中的人声,甚至通过不同的声道来形成环绕立体声。在AI的加持下,Adobe的音频编辑已经能做到直接修改语音内容。但是很基本的声音操作,我们往往无法实现,如可视化地对声音本身进行编辑修改、对每个声音元素进行单独处理、剔除混乱场景中的某种声音、提取需要的声音元素等。
视频的编辑难度也会大于图像编辑,但是因为视频可以看作图像在时间轴上的排列,复杂和很难完成的处理至少还有对逐帧图片进行编辑的可能。音频虽然也是各种声音元素在时间轴上的排列,却无法逐帧处理。因为我们对声音的认识还有所欠缺,对声音的直观可视表达还无能为力。目前对声音的物理学认识还停留在声音三要素即响度、音调和音色层面,对声音的可视化表达还停留在“波形”上。因此,音频编辑的界面往往就是波形的显示和编辑。
图像是通过视觉经视网膜转换后在大脑形成的映像,而声音则是通过听觉经鼓膜传递给听觉神经在大脑形成的映像。不同的人和不同的动物,对声音的辨别都有差异,如海豚和蝙蝠能感受到超声波,老鼠能感受到次声波,而人却感觉不到。
声音三要素中的响度一般认为取决于声波的振幅,音调取决于声波的频率,但这些感受是主观的,实际上与物理原理相差较大。例如,音调主要由声音的频率决定,但同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音,2000Hz以下低频纯音的音调随声强增加而下降,3000Hz以上高频纯音的音调却随强度增加而上升。
最终人耳感觉到的声音是否好听,还取决于音色,即音频的泛音或谐波成分。相对于某一频段的音高是否具有一定的强度,在频率范围内的同一音量下各频点的幅度是否均衡饱满、频率响应曲线是否平直、音准是否稳定、频率的畸变和相移是否明显、泛音是否适中、谐波是否丰富等,都决定了声音是否优美动听。
有这么多的物理特性之外的生理感觉,使得声音效果的控制和处理难度更大,而在声音处理之前,还要对声音进行数字化,又涉及各种采样、量化和压缩处理。音频的量化过程就是将声音数字化,也就是模拟音频的数字化过程,包括采样、量化、编码等。
因为声音具有时间延续性,音频编辑也需要在时间轴上进行。自然的声音是连续的,数字化的声音则是离散的,这就需要确定间隔多少时间采样,即采样频率。采样频率越高越能真实地反映音频信号随时间的变化,声音的还原就越真实越自然,但存储体积也越大。为了复原波形,一次振动中必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,即40kHz的采样率,因此,CD的采样率确定为44.1kHz。一般8000Hz可用于电话通话,11025Hz能用于AM调幅广播,而22050Hz和24000HZ用于FM调频广播,44100Hz是CD音质,48000Hz则是更加高精的高清晰音质,一些蓝光音轨甚至采用了96000Hz或192000Hz的高采样频率。音频编辑软件在处理不同采样频率的素材时,往往需要先进行采样频率统一。
除了在时间轴上采样,还需要量化音频信号的幅度变化,即位深或位宽。量化位数越多,越能细化音频信号的幅度变化。量化之后,还需要编码,也就是按一定格式记录采样和量化后的数据。对记录音频的文件进行播放,就是解码的过程,音频编辑软件还要识别和适应不同的编码。为了更好地跟传输线路匹配,编码之后的数据会用音频码率的形式来描述所需要的最低传输速度,这就是码率,也就是1秒内编码或传输的音频数据量。采样率、位宽、声道数相乘,就得到碼率。
音频数据本身是流式的,没有明确的“帧”概念,在音频编辑软件中为了方便,一般取2.5ms~60ms为单位的数据量为一帧音频。所以,音频的帧跟视频的帧不同,也不像视频帧那样可以单帧编辑。
像视频处理一样,处理好的音频在存储时也需要压缩体积。当一个频率的声音能量小于某个阈值(最小可闻阈)时,人耳就听不到,这就是信号的掩蔽效应。而当能量较大的声音出现时,其频率附近的阈值会提高很多,即频域掩蔽效应。如果强音信号和弱音信号同时出现,也会发生掩蔽效应,即时域掩蔽效应。这些特点就是声音压缩的原理和依据。
在音频处理中,根据噪声的特点,可以用滤波器进行过滤,达到回声消除(AEC)、噪声抑制(ANS)等目的。将声音的时域信号转成频域信号进行分析,从频域的角度看,滤波器就是删除一些不需要的频率,达到过滤效果。在自然声音中,当众人同时讲话时,采集进来的语音信号就包含了远端的回声和近端的语音,两者混合在一起,出现回声,就会有漏尾和切字,这个回声的消除就十分困难,因为既要保护近端的语音信号,又要尽量把混合进来的远端回声消除干净。音频编辑软件一般会根据参考信号与远端回声信号的相关性,尽量将远端回声信号进行消除(线性处理),同时根据残留量进行残留回声抑制和剪切(非线性处理)。当环境噪音太大时,可以对带噪语音进行VAD判断、噪声估计,用维纳滤波达到降噪效果。
所以,音频编辑中涉及非常多的因素,而且很多是非线性的,处理起来难度很大,甚至很多基本元素都不能分离处理。而我们觉得比较神奇的部分,如变声、立体声,处理和实现起来反而比较简单。变声(语音变调),简单地提高主要频率,就是升调。因为一段声音实际上就是多种频率正弦声波的叠加。男女声的变化则还要考虑音色。混响更简单,可以使原始声音波形的输入产生多个延迟波形(模拟反弹),再把多个延迟波形和原始的波形进行叠加,产生最终有混响效果的声音波形。延迟波形的个数越多,叠加产生的声音波形越丰满,产生层次感、空间感,混响的效果也越好。
3D立体声的实现,是增加了声音的方位,通过声音辨别出方位,从而增强声音的空间感。在音频处理算法上,可以通过头部相关传输函数HRTF使用人耳和人脑的频率振动预知来合成3D音效。具体来说,人的大脑分辨声源的方向是通过ITD(两耳时间延迟量差)和IAD(两耳音量大小差)来达到的。但是ITD和IAD不能描述声源从正前方和正后方传来的区别,人的耳朵却能。这个问题是由耳廓来解决的:声波遇到耳廓会反弹,经过反弹之后,它们在鼓膜上产生了不同的频率振动。正是因为耳廓的存在,才造成了从前面和从后面传来的声音截然不同。所以,实现立体声还要加上耳廓频率振动这一变量。通过ITD、IAD和耳廓频率振动这三个特征量,就可以合成3D音效了。把这三个元素作为头部相关传输函数(HRTF)的参数进行处理,对于音频编辑软件来说就不是难事了。
结语
希望本期讨论可以让读者朋友们了解人工智能算法如何处理简单的声音分类任务,感受声音的世界。声音作为传递信息的媒介,依然有很多待挖掘的潜力。随着人工智能领域不断突破瓶颈,相信会有越来越多的应用走进我们的生活,智慧生活值得期待。