零基础入门语音识别之赛题介绍
声音的产生
声音以波的形式产生,我们从波的视角来理解声音,仅凭频率,幅度,相位,便构成了波及其叠加的所有,声音的不同音高、音量、音色也由这些基本“粒子”组合而来。
世界上所有的声波都可以“降解”到基本波以上,这也是傅里叶变换的基本思想。
赛题数据集介绍
声音分类在很多场景中都有大模型的应用,例如对于音乐的分类可以应用与音乐的检索和推荐中,本赛题的背景是食物的声音的分类。
本次比赛的数据集来自Kaggle的“Eating Sound Collection”(可商用), 数据集中包含20种不同食物的咀嚼声音,赛题任务是给这些声音数据建模,准确分类。
下载天池数据集并解压
!wget http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531887/train_sample.zip
!unzip -qq train_sample.zip
!\rm train_sample.zip!wget http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531887/test_a.zip
!unzip -qq test_a.zip
!\rm test_a.zip
上述代码需要在linux系统下运行
数据探索
加载库
import pandas as pd
import numpy as nppd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as snsfrom sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from sklearn.model_selection import GridSearchCVfrom sklearn.preprocessing import MinMaxScaler
加载音频处理库
import os
import matplotlib.pyplot as plt
import librosa
import librosa.display
import glob
import IPython.display as ipd
我们将主要使用两个库进行音频采集和回放: 1)Librosa:它通常用于分析音频信号,但更倾向于音乐,它包括用于构建MIR(音乐信息检索)系统的nuts 和 bolts。示例和教程可以参考:(https://librosa.github.io/librosa/) 2)IPython.display.Audio: 该模块能使得音频直接在jupyter笔记本中播放。这两个库我们下面都会用到,可用以下命令进行安装:pip install 【包名,如“librosa”】 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
查看音频数据
voice_path = './train_sample'def look_data():# 音频类别文件夹个数print(f'音频文件夹的个数: {len(os.listdir(voice_path))}')voice_total = 0single_label = {}for ind, label_name in enumerate(os.listdir(voice_path)):file_path = voice_path + '/' + label_namesingle_num = len(os.listdir(file_path))single_label[label_name] = single_numvoice_total += single_numprint(f'音频文件总量: {voice_total}')print(f'{"序号":<5}{"类别":<15}{"数量":<10}{"占比"}')for ind, (key, value) in enumerate(single_label.items()):print(f'{ind:<5}{key:<20}{value:<10}{value / voice_total:.2%}')
查看音频特征
ipd.Audio('音频文件的路径') #播放文件
librosa.load('路径')#返回数据和采样率
plt.figure(figsize = (14,5))
librosa.display.waveplot(data,sr = sample_rate)#绘制音频文件的波形幅度包络
声谱图是声音或其他信号的频率随时间变化时的频谱(spectrum)的一种直观表示。声谱图有时也称sonographs,voiceprints,或者voicegrams。当数据以三维图形表示时,可称其为瀑布图(waterfalls)。在二维数组中,第一个轴是频率,第二个轴是时间。我们使用librosa.display.specshow来显示声谱图。
plt.figure(figsize=(20, 10))
D = librosa.amplitude_to_db(np.abs(librosa.stft(data1)), ref=np.max)
plt.subplot(4, 2, 1)
librosa.display.specshow(D, y_axis='linear')
plt.colorbar(format='%+2.0f dB')
plt.title('Linear-frequency power spectrogram of aloe')
零基础入门语音识别之赛题介绍相关推荐
- 【组队学习】【24期】零基础入门语音识别(食物声音识别)
零基础入门语音识别(食物声音识别) 开源内容: https://github.com/datawhalechina/team-learning-nlp/tree/master/FoodVoiceRec ...
- 阿里云天池 学习赛汇总(教学赛,零基础入门,长期赛)
[教学赛]数据分析达人赛1:用户情感可视化分析 [教学赛]数据分析达人赛2:产品关联分析 [教学赛]数据分析达人赛3:汽车产品聚类分析 零基础入门语音识别-食物声音识别 零基础入门数据挖掘-心跳信号分 ...
- 零基础入门语音识别-食物声音识别[Task 1]
Task1 食物声音识别之Baseline学习 作为零基础入门语音识别的新人赛,本次任务不涉及复杂的声音模型.语言模型,希望大家通过两种baseline的学习能体验到语音识别的乐趣. 任务说明:我们提 ...
- 零基础入门语音识别-食物声音识别[Task 3]
Task3 食物声音识别之音频数据特征提取 Task1 食物声音识别之Baseline学习 Task2 食物声音识别之赛题数据介绍与分析 1 特征提取背景 在Task2中,我们已经了解了我们需要识别的 ...
- 天池学习赛 -【零基础入门语音识别-食物声音识别】Task1 食物声音识别-Baseline【代码详细手写解释】
文章目录 一.Task1 食物声音识别-Baseline 二.对应解析 三.参考链接 一.Task1 食物声音识别-Baseline 天池对应代码链接 二.对应解析 三.参考链接 tqdm的解释 深度 ...
- python 小甲鱼 好不好_小甲鱼零基础入门学习python课后题及答案
[实例简介] 这是小甲鱼python教学视频的课后习题以及答案的整理文档,大家可以学到什么: 0.Python3的所有常用语法 1.面向对象编程思维 2.运用模块进行编程 3.游戏编程 4.计算机仿真 ...
- Python零基础入门学习教程_001.python介绍_特性_版本问题_应用问题
目录 ·简介 ·特点 1.可读性强 2.简洁,简单 3.面向对象 4.免费和开源 5.可移植性和跨平台 6.丰富的库(丰富的标准库,多种多样的扩展库) 7.可扩展性 ·应用范围 1.科学计算 2.人工 ...
- 记录零基础入门python学习做题的第一天(自己做的哈答案对不对我就不晓得了)
1.Python 是什么类型的语言? 面向对象语言 2.IDLE 是什么? 集成开发环境 3.print() 的作用是什么? 打印 4.Python 中表示乘法的符号是什么? ...
- 零基础数据挖掘入门系列(一) - 赛题理解
思维导图:零基础入门数据挖掘的学习路径 1. 写在前面 零基础入门数据挖掘系列是记录自己在Datawhale举办的数据挖掘专题学习中的所学和所想, 该系列笔记使用理论结合实践的方式,整理数据挖掘相关知 ...
最新文章
- mybatis 使用resultMap实现数据库的操作
- PHP学习笔记-PHP语言基础3
- 洛谷 - P2764 最小路径覆盖问题(最大流+二分图最小路径覆盖+路径打印)
- 不一样的图片加载方式
- java多线程详细讲解_Java多线程例子讲解
- Visual Studio Code 使用 ESLint 增强代码风格检查 - gyzhao - 博客园
- 查看mysql数据库的死锁日志_【MySQL】mysql死锁以及死锁日志分析
- python基础之五大标准数据类型
- GitHub网页版开始教程
- 【主动轮廓模型(二)】《GVF Snake》算法原理与OpenCV实现
- go语言字符串换行_Go语言字符串
- 如何下载城通网盘的东西?
- 三个等于符号 和两个等于符号的区别
- 这是一个基于Threejs的商品VR展示系统的 VR模型展示Demo
- 诊断公司的CRO业务简述
- ZStack Cube:超融合3.0,场景化的一体机
- RAM和ROM和Flash ROM的区别
- matplotlib之pyplot模块——绘制箱线图(盒须图)boxplot()(二)演示外观参数、返回值
- 2022-2028全球及中国信号装置行业研究及十四五规划分析报告
- 2020-2021 ACM-ICPC, Asia Nanjing Regional Contes F-Fireworks
热门文章
- 选择SRM供应商管理系统,切实企业数字化转型落地
- Laravel项目IP黑名单,IP白名单,IP访问频率控制中间件
- “C语言的核心是指针,灵魂是算法“那么指针为什么被誉为C语言灵魂呢?
- PB如何新增PBL(转)
- 查看电脑最近运行过的程序记录
- RPG游戏攻防公式设计探讨
- 关于VC++6.0 绿色版不能用的修改意见
- 摄像头连接nas_【有图】教大家如何使用巴法络NAS TS5000系列与海康摄像头连接-蜂鸟网...
- [转]mailto用法
- 双十一注册电子信箱、163电子邮箱会员攻略