悟空听声就能辨别妖怪
悟空见八戒神情变得如此严肃,知道他也着急找师父,于是说话语气也缓和下来。轻声问道:“八戒,你先说说你是怎么根据声音分辨妖怪的?”
八戒难过地说道:“我对声音不太敏感,一般是根据生活经验进行分辨。”
八戒的方法
八戒开始向悟空讲述他的生活经验。每种妖怪的声音各异,发声形式也不同,有的唱歌,有的说话,有的还身后跟着一堆小妖怪吵吵闹闹,有的妖怪所处的环境很嘈杂,有的妖怪还会变声模仿。
也就是说,八戒一般是从声音的来源、内容、发声的环境和悦耳程度这几个角度来判断是不是妖怪。但是,根据这些声音特点来辨别妖怪有时容易有时困难。例如,一个妖怪与一群妖怪发出的声音会有区别。当一群妖怪同时嚷嚷时,一般表现为嘈杂音,还需要从中分辨出主要的发声来源。如果只有一个妖怪喊叫,只需辨别这一种声音的发声来源即可。确定了发声来源后,仔细辨别这个声音的内容,有时遇到外语还需要翻译一下。
除了说话内容,还要思考一下是从哪里发出的声音。打了这么多妖怪,总结一下,妖怪的藏身处主要集中在山洞里、水底下,妖怪出没时,会飞的在天上,不会飞的一般在荒郊野外。还有一些自带背景音乐的妖怪,弹琵琶的、跳舞的、唱歌的。这类妖怪的声音一般都有旋律且悦耳动听,我就想再思考思考是哪种乐器、哪种节奏。
八戒的困惑
悟空听八戒说完,点点头,说道:“你说的都有道理,可是你已经被这山里的妖怪欺骗了两次,你总结出问题所在了吗?”
八戒挠挠头,说道:“猴哥,这个小妖怪太狡猾了,会模仿人的声音。真是防不胜防呀,我老猪使出绝招,竟还是没能听出这假观音的声音有啥不对。”
悟空安慰道:“这些妖怪都很狡猾,会模仿别人的声音,要想练得真正的辨声本领,还需要学习如何分辨出真假声音。”
悟空继续跟八戒交流辨音的方法:“八戒,其实每种声音都有自己独特的音色,模仿得再像也会与原声有所差别,我们需要仔细辨认其特征。”
根据八戒的方法,可以先将声音分为噪音、纯语音、带背景音的语音、音乐四类,然后再具体归纳出每一类声音的规律、特点。实际上,借助人工智能技术,可以从声音的不同层面分析不同音频的特点。
八戒突然想到悟空的顺风灵耳,急切地问道:“猴哥,那你能不能给我演示一下你的顺风灵耳是怎么实现声音分类的?”
悟空点点头,说道:“当然可以啦。”
悟空的顺风灵耳
悟空和八戒来到EasyDL平台。
悟空说道:“妖怪一般都是从各种动物修炼成人形的,但是他们的声音还保留原本的特点。今天,我给你演示一下如何区分不同动物的声音,掌握动物声音分类技能。你再遇到妖怪时,就要仔细辨别一下是哪个动物变的。”
八戒点点头,认真看着悟空操作。
实验1
动物声音分类
第一步 创建模型
这个阶段的主要任务是选择平台类型,确定模型类型,配置模型基本信息(包括名称等),并记录希望模型实现的功能。
(1)打开EasyDL平台主页,网址为https://ai.baidu.com/easydl/,如图5-1所示。
点击图5-1中的按钮,显示如图5-2所示的“快速开始”选择框。训练平台选择,模型类型选择,点击按钮,显示如图5-3所示的操作台页面。
图5-1 EasyDL平台主页
图5-2 选择平台版本和模型类型
(2)在图5-3显示的操作台页面创建模型。
点击操作台页面中的按钮,显示的页面如图5-4所示,填写模型名称动物声音分类,模型归属选择,填写联系方式、功能描述等信息,点击按钮,完成模型创建。
图5-3 操作台页面
图5-4 创建模型
(3)模型创建成功后,可以在中看到刚刚创建的模型动物声音分类,如图5-5所示。
图5-5 模型列表
第二步 准备数据
这个阶段的主要任务是根据具体声音分类的任务准备相应的数据集,并把数据集上传到平台,用来训练模型。
(1)准备数据集。
首先扫描封底二维码下载压缩包,在[下册-第5章-实验1]中找到训练模型所需的声音数据。对于动物声音分类任务,我们准备了四种动物的叫声,分别为猫叫、狗叫、猪叫、牛叫。
然后,需要将准备好的声音数据按照分类存放在不同的文件夹里,文件夹名称即为声音对应的类别标签(cat、dog、pig、cow),此处要注意,声音类别名即文件夹名称,需要采用字母、数字或下划线的格式,不支持中文命名。
最后,将所有文件夹压缩,命名为sound.zip,压缩包的结构示意图如图5-6所示。
图5-6 压缩包结构示意图
(2)上传数据集。
点击图5-7显示的中的按钮,进行数据集创建。如图5-8所示,填写数据集名称,点击按钮,选择sound.zip压缩包。可以在如图5-9所示的页面中下载示例压缩包,查看数据格式要求。
选择好压缩包后,点击按钮,成功上传数据集。
图5-7 创建数据集
图5-8 选择压缩包
图5-9 上传数据集
(3)查看数据集。
上传成功后,可以在中看到数据的信息,如图5-10所示。数据上传后,需要一段处理时间,大约几分钟,然后就可以看到数据上传结果,如图5-11所示。
点击,可以看到数据的详细情况,如图5-12所示。
图5-10 数据集展示
图5-11 数据上传结果
图5-12 数据集详情
第三步 训练模型并校验结果
在前两步已经创建好了一个声音分类模型,并且创建了数据集。本步骤的主要任务是用上传的数据一键训练模型,并且模型训练完成后,可在线校验模型效果。
(1)训练模型。
在第二步的数据上传成功后,在中,选择之前创建的动物声音分类模型,添加分类数据集,开始训练模型。训练时间与数据量有关,在训练过程中,可以设置训练完成的短信提醒并离开页面,如图5-13~图5-16所示。
图5-13 添加数据集
图5-14 选择数据集
图5-15 训练模型
图5-16 模型训练中
(2)查看模型效果。
模型训练完成后,在列表中可以看到模型效果以及详细的模型评估报告,如图5-17和图5-18所示。从模型训练的整体情况可以看出,该模型的训练效果还是比较优异的。
图5-17 模型训练结果
图5-18 模型整体评估
(3)校验模型。
我们可以在中对模型的效果进行校验。
首先,点击按钮,如图5-19所示,大约需要等待5分钟。
图5-19 启动校验服务
然后,准备一条声音数据,点击按钮添加音频,如图5-20所示。
图5-20 添加音频
最后,使用训练好的模型对上传的音频进行预测,如图5-21所示,显示属于猫(cat)叫的概率是99.99%。
图5-21 校验结果
就这样,悟空给八戒演示了如何使用顺风灵耳进行动物声音分类。八戒看得津津有味,说道:“猴哥,这也太神奇了,你的顺风灵耳是如何练成的?”
顺风灵耳是如何练成的
声音实际上是一种波,波形上的每一个点存储在.mp3、.wav、.m4a等格式的音频文件中。要对声音进行分类,首先需要对声音波形分帧,也就是把一个声音波形切成一小段一小段的,每小段称为一帧,帧与帧之间是有重叠的。
人工智能针对每一帧,分别提取其声学特征,如音色、音调等,并将它们转换成计算机可以识别的数字信号,然后构建一个声音分类模型,不断对不同声音数据的声学特征进行学习、记忆和理解,让模型像人脑一样变得越来越聪明。这样,在遇到新声音的时候,基于已有的知识就能迅速地进行分类和识别了。