语音识别--单声道转换与降采样

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
个人网站:https://jerry-jy.co/

❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我

语音识别--单声道转换与降采样

  • 单声道转换与降采样
    • 一、任务需求
    • 二、任务目标
          • 1、掌握单声道转化方法
          • 2、掌握音频降采样方法
    • 三、任务环境
          • 1、jupyter开发环境
          • 2、python3.6
          • 3、tensorflow2.4
    • 四、任务实施过程
      • 1、单声道转换
      • 2、降采样
    • 五、任务小结
  • 说明

单声道转换与降采样


一、任务需求

在本实验中,我们将通过平均跨通道的样本将音频信号转换为单声道。

从应用的角度上看,多声道转单声道,与降采样都可以有效降低音频的大小,当然,伴随而来的是质量下降。但很多情况下,并不是越清晰的音频越好,因此单声道转换和降采样就能够派上大用途了。

要求:在librosa中,使用函数librosa.to_mono实现单声道转换的功能。

二、任务目标

1、掌握单声道转化方法
2、掌握音频降采样方法

三、任务环境

1、jupyter开发环境
2、python3.6
3、tensorflow2.4

四、任务实施过程

1、单声道转换

import librosa
filename = '/home/jovyan/datas/sorohanro_-_solo-trumpet-06.hq.ogg'

y, sr = librosa.load(filename, mono=False)
y.shape

(2, 117601)

从音频的shape上看得出来,这是一个双声道的音频。

为了让你能看的更加清晰,对声道变换理解的更加透彻,我们在这里将双声道声波绘制出来。

import matplotlib.pyplot as plt
plt.figure(figsize=(15,5))
# 绘制双声道声波第一个通道
plt.subplot(2,1,1)
plt.plot(y[0,:1000])
# 绘制双声道声波第二个通道
plt.subplot(2,1,2)
plt.plot(y[1,:1000],c='g')

这是同一个音频文件的双声道声波图,接下来我们要将双声道音频,转化为单声道。转化方法非常简单,通过librosa.to_mono就可以实现。

y_mono = librosa.to_mono(y)
y_mono.shape

(117601,)

plt.figure(figsize=(15,2))
# 将双声道合并为一个通道
plt.plot(y_mono[:1000],c='r')

2、降采样

filename = '/home/jovyan/datas/sorohanro_-_solo-trumpet-06.ogg'
# 获取采样率
sr = librosa.get_samplerate(filename)
sr

22050

y, sr = librosa.load(filename, sr=sr, mono=False) len(y),sr

(117601, 22050)

# 使用resample降采样
y_8k = librosa.resample(y, sr, 8000)
y.shape, y_8k.shape

((117601,), (42668,))

可以看到,经过librosa.resample降采样后的音频采样点,从117601降低到42668,降低一半还多。

当然,降采样的采样率并不能随意减少,想象一下,一个音频文件,只有一个采样点会怎样?所以通常来说,在音频的一个最小周期上,至少要保证两个采样点才可以。

为了比较降采样前后的变化,我们播放两个声音。

import IPython.display as ipd
ipd.display(ipd.Audio(y,rate=22050))
ipd.display(ipd.Audio(y_8k,rate=8000))

听起来好像并没什么不同,为了加强确认,我们画出波形图看一看。

plt.figure(figsize=(14,4))
plt.subplot(211)
plt.plot(y)
plt.subplot(212)
plt.plot(y_8k)

五、任务小结

本节实验我们学习了如何将双声道转换为单声道,并学习了音频降采样方法。

从波形图上看,两个声音在细微上还是存在一些不同,但差距不大,如果并不是特别追求音频质量的话,显然8k音频也是能用的,最关键的是,文件大小缩小了一半有余。

–end–

说明

本实验(项目)/论文若有需要,请后台私信或【文末】个人微信公众号联系我

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/595559.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库大作业——基于qt开发的图书管理系统 (一)环境的配置与项目需求的分析

前言 博主最近数据库原理结课要做课程设计了,要求开发基于数据库实现的图书管理系统,博主想了想决定做一个基于Qt的图书管理系统,博主在此之前其实也没有用过多少Qt,仅以此专栏记录博主学习与开发的全过程,大家一起学习,一起进步…

使用固定公网地址远程访问开源服务器运维管理面板1Panel管理界面

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、…

npm install 会报错npm audit错误,会提示你有多少个漏洞需要结局等

npm install 会报错 npm audit… 错误,会提示你有多少个漏洞需要结局,对应的包版本不应该低于多少等等问题 当使用npm i 命令的时候会出现以下问题 如果是个新手的话,建议直接关闭npm的audit检查。这样可以保证npm的audit不会影响你的初始…

文献速递:深度学习医学影像心脏疾病检测与诊断--从SPECT/CT衰减图中深度学习冠状动脉钙化评分提高了对重大不良心脏事件的预测

Title 题目 Deep Learning Coronary Artery Calcium Scores from SPECT/CT Attenuation Maps Improve Prediction of Major Adverse Cardiac Events 从SPECT/CT衰减图中深度学习冠状动脉钙化评分提高了对重大不良心脏事件的预测 01 文献速递介绍 低剂量非门控CT衰减校正&am…

ASP.NET网络商店销售管理系统的设计与实现

摘 要 随着软件技术的不断进步和发展,信息化的管理方式越来越广泛的应用于各个领域,对于任何网站系统的管理来说开发一套现代化的成员管理软件是十分必要的。通过这样的软件系统,可以做到成员的规范管理和快速查询,从而减少管理…

TPV-W5 24V 48V 系列——正负双输出和单输出,工业级环境温度,用于PCB安装的国际标准结构

TPV-W5系列提供正负双输出和单输出,工业级环境温度,用于PCB安装的国际标准结构。此系列产品小巧,效率高,低输出纹波及能承受3000V以上的耐压,用于需要正负电压或单输出和高隔离电压的场合。封装有SIP和DIP可选。

JAVA基础之线程池原理与源码简读

线程 线程是调度CPU资源的最小单位,线程模型分为KLT和ULT模型,JVM使用的KLT模型java线程与OS线程保持1:1的映射关系,也就是说每一个java线程对应操作系统一个线程。Java线程有以下几种生命状态: NEW:新建状态RUNNABL…

单调栈|503.下一个更大元素II

力扣题目链接 class Solution { public:vector<int> nextGreaterElements(vector<int>& nums) {// 拼接一个新的numsvector<int> nums1(nums.begin(), nums.end());nums.insert(nums.end(), nums1.begin(), nums1.end());// 用新的nums大小来初始化resu…

我独自升级崛起在哪下载 我独自升级电脑PC端下载教程分享

将于5月8日在全球舞台闪亮登场的动作角色扮演游戏《我独自升级崛起》&#xff0c;灵感源自同名热门动画与网络漫画&#xff0c;承诺为充满激情的游戏玩家群体带来一场集深度探索与广阔体验于一身的奇幻旅程。该游戏以独特的网络武侠世界观为基底&#xff0c;展现了一位普通人踏…

[Java、Android面试]_22_APP启动流程(中频问答)

欢迎查看合集&#xff1a; Java、Android面试高频系列文章合集 本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&#xff0c;每天整理一点&am…

【个人博客搭建】(17)使用FluentValidation 参数校验

FluentValidation 是一个用于 .NET 的开源验证库&#xff0c;它提供了一种流畅的接口和强类型验证规则&#xff0c;使得验证逻辑表达得更加清晰和简洁。&#xff08;Apache-2.0&#xff09; FluentValidation 的主要作用包括&#xff1a; 提高代码可读性&#xff1a;通过使用 F…

Python ArcPy批量将大量栅格文件的投影坐标系转为地理坐标系

本文介绍基于Python语言中的ArcPy模块&#xff0c;批量将多个遥感影像由投影坐标系转为地理坐标系的方法。 在之前的文章中&#xff0c;我们介绍过将单独1景遥感影像的投影坐标系转为地理坐标系的方法&#xff0c;大家可以参考文章投影坐标系转为地理坐标系&#xff1a;GDAL命令…

Voice Conversion、DreamScene、X-SLAM、Panoptic-SLAM、DiffMap、TinySeg

本文首发于公众号&#xff1a;机器感知 Voice Conversion、DreamScene、X-SLAM、Panoptic-SLAM、DiffMap、TinySeg Converting Anyones Voice: End-to-End Expressive Voice Conversion with a Conditional Diffusion Model Expressive voice conversion (VC) conducts speak…

【爬虫】爬取A股数据写入数据库(一)

1. 对东方财富官网的分析 步骤&#xff1a; 通过刷新网页&#xff0c;点击等操作&#xff0c;我们发现https://datacenter-web.eastmoney.com/api/data/v1/get?请求后面带着一些参数即可以获取到相应数据。我们使用python来模拟这个请求即可。 我们以如下选择的页面为切入点…

滑动窗口 | 1652. 拆炸弹 |LeetCode

文章目录 题目介绍暴力(可以过力扣竟然。不愧是简单题)&#xff1a;滑动窗口 祝你天天开心 题目介绍 你有一个炸弹需要拆除&#xff0c;时间紧迫&#xff01;你的情报员会给你一个长度为 n 的 循环 数组 code 以及一个密钥 k 。 为了获得正确的密码&#xff0c;你需要替换掉每…

关系型数据库MySql分库分表带来的问题以及解决方案

水平分表 水平分表是什么&#xff1f; 将一张表横向拆分为多张表&#xff0c;拆分的表&#xff0c;依然在同一个库中。 例如&#xff0c;user表有400w条记录&#xff0c;将user表拆分成4张表&#xff0c;每张表100w条记录。拆分后的表名&#xff0c;分别叫做user_0、user1、u…

内网用户是如何连接上互联网的?详解NAT网络地址转换技术

背景 https://blog.csdn.net/weixin_43972437/article/details/107344633 不知道你有没有过困惑&#xff0c;都说现在 ipv4 地址耗尽了&#xff0c;但是我们为什么还能上网呢&#xff1f;原来这都要归功于 NAT 网络地址转换技术。 比如我们接入了中国移动的宽带&#xff0c;宽…

重学SpringBoot3-SPI机制

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-SPI机制 什么是 SPI&#xff1f;Spring Boot 中的 SPI 机制spring.factories 文件自动配置的实现启动流程中的作用 SPI实际应用步骤 1: 新建模块步骤 2:…

扩展学习|一文读懂知识图谱

一、知识图谱的技术实现流程及相关应用 文献来源&#xff1a;曹倩,赵一鸣.知识图谱的技术实现流程及相关应用[J].情报理论与实践,2015, 38(12):127-132. &#xff08;一&#xff09;知识图谱的特征及功能 知识图谱是为了适应新的网络信息环境而产生的一种语义知识组织和服务的方…

HarmonyOS开发案例:【卡片二级联动】

1 卡片介绍 使用ArkTS语言&#xff0c;实现一个导航与内容二级联动的效果。 2 标题 二级联动&#xff08;ArkTS&#xff09; 3 介绍 介绍了如何基于List组件实现一个导航和内容的二级联动效果。样例主要包含以下功能&#xff1a; 切换左侧导航&#xff0c;右侧滚动到对应…
最新文章