wave库基本操作

wave

常见的语音信号处理python库有librosa, scipy, soundfile等等。wave库是python的标准库,对于python来说相对底层,wave不支持压缩/解压,但支持单声道/立体声语音的读取。

读取音频

import wave

file_path = 'D:/ba.wav' #文件路径
f = wave.open(file_path, "rb") #读取参数
params = f.getparams()

nchannels, sampwidth, framerate, nframes = params[:4]
str_data = f.readframes(nframes)
f.close()

那我们看看参数params:
在这里插入图片描述
里面包含6个子参数:
在这里插入图片描述

getparams()得到的params,返回6个参数分别是:(nchannels,sampwidth,framerate,nframe,comptype,compname)

  • nchannels:返回音频通道的数量(单声道为1,立体声为2)。
  • sampwidth:返回以字节为单位的样本宽度。
  • framerate:返回采样频率。
  • nframe:返回音频帧数。(这里应该是点数,看后面解释)
  • comptype:返回压缩类型(“ NONE”是唯一受支持的类型)。
  • compname:压缩名称。

注:
疑问:它的帧数是如何计算的?
这条语音长度是多少采样点?

data, sr = librosa.load(file_path, sr =None) #必须加sr =None,不然默认采样成22050

在这里插入图片描述
所以nframe应该是语音采样点数。

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

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

相关文章

数据库应用

约束 概念: 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的正确性、完整性、有效性、唯一性。 分类: primary key:主键约束,指定某列的数据不能重复、唯一、非空。 not null&#…

QT----计算器

目录 1 搭建标准界面2、 逻辑编写2.1 初始化 github链接:基于qt的计算器 1 搭建标准界面 按照下图搭设界面 修改样式让这计算器看起来更像一点,同时对按钮分组进行样式编辑,添加字符串name,为number,其他按键为other。之前的文章…

Linux操作系统-07-Linux安装应用

一、使用rpm安装应用(不推荐) 先下载到本地,以.rpm文件名结尾,下载完成后,再安装 rpm -qa | grep mysql #查询当前系统是否有下载过mysql包 先上传mysql的rpm安装包到linux的opt目录 安装 rpm -ivh …

CVE-2024-27199 JetBrains TeamCity 身份验证绕过漏洞2

漏洞简介 TeamCity Web 服务器中发现了第二个身份验证绕过漏洞。这种身份验证旁路允许在没有身份验证的情况下访问有限数量的经过身份验证的端点。未经身份验证的攻击者可以利用此漏洞修改服务器上有限数量的系统设置,并泄露服务器上有限数量的敏感信息。 项目官网…

3D模型优化10个最佳实践

对于许多在建模、渲染和动画方面经验丰富的 3D 建模者来说,3D 优化可能是一个令人畏惧的过程 - 特别是当你正在优化实时应用程序的 3D 模型时! 在 Google 上快速搜索“如何优化 3D 文件”将会出现一些建议,例如减少多边形数和消除多余的顶点。…

【MATLAB 】 EMD信号分解+FFT傅里叶频谱变换组合算法

有意向获取代码,请转文末观看代码获取方式~ 展示出图效果 1 EMD信号分解算法 EMD 分解又叫经验模态分解,英文全称为 Empirical Mode Decomposition。 EMD 是一种信号分解方法,它将一个信号分解成有限个本质模态函数 (EMD) 的和&#xff0c…

马斯克宣布本周开源AI助手Grok;Gemini 1.5:多模态理解

🦉 AI新闻 🚀 马斯克宣布本周开源AI助手Grok 摘要:马斯克通过X平台宣布,其人工智能公司xAI计划本周开源人工智能助手Grok。此前,马斯克因OpenAI及其CEO阿尔特曼违反了公司成立协议—推动AI技术为人类福祉而非利润而起…

Linux 多进程开发(上)

第二章 Linux 多进程开发 2.1 进程概述2.2 进程状态转换2.3 进程创建2.4 exec 函数族2.5 进程控制 网络编程系列文章: 第1章 Linux系统编程入门(上) 第1章 Linux系统编程入门(下) 第2章 Linux多进程开发(…

PCL 约束Delaunay三角网(版本二)

目录 一、算法概述二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法概述 PCL 点云Delaunay三角剖分一文给出了PCL中Delaunay三角网算法的基础用法。本文在基础用法的基…

python 蓝桥杯 之 字符串

文章目录 题目一find(str,start,end) 函数 题目一 find(str,start,end) 函数 在Python中,find()函数用于在字符串中查找子字符串,并返回第一次出现的子字符串的索引。如果找不到子字符串,则返回-1。find()函数的语法如下: str.f…

少儿编程机器人技术架构解析与实现流程

随着科技的飞速发展,少儿编程机器人成为了越来越受欢迎的教育工具,为孩子们提供了学习编程的新途径。在这篇文章中,我们将深入探讨少儿编程机器人的技术架构和实现过程,揭示背后的技术原理和开发策略。同时,我们也将介…

visual studio 将编译后的dll等文件自动复制到指定目录

编译后的文件dll等总要手动复制到指定目录下,为了解决这一繁琐的操作,可以直接设置在编译完成后,自动复制到目标目录 - 在解决方案资源管理器,选中项目右键-》选中属性-》在弹出的面板选择生成事件 - 在后期生成事件命令行里填写…

Vue3全家桶 - VueRouter - 【3】嵌套路由【children】

嵌套路由【children】 如果在路由视图中展示的组件包含自己的路由占位符(路由出口),则此处会用到嵌套路由;如图所示:点击关于链接,则会展示About组件,在其组件中又包含了路由链接和路由占位符&…

Spring Cloud Alibaba微服务从入门到进阶(一)

Springboot三板斧 1、加依赖 2、写注解 3、写配置 Spring Boot Actuator Spring Boot Actuator 是 Spring Boot 提供的一系列用于监控和管理应用程序的工具和服务。 SpringBoot导航端点 其中localhost:8080/actuator/health是健康检查端点,加上以下配置&#xf…

用链表实现顺序表的插入和删除操作(操作封装在函数中)

#include <iostream> using namespace std; struct node{int val;node * next; }; void print(node * head){if(headNULL ||head->nextNULL){cout<<"链表中已经无元素";return;}cout<<"打印列表:";node * phead->next;while(p){co…

安卓bp文件详解

概念 Android.bp文件是安卓构建系统&#xff08;Android Build System&#xff09;中使用的构建描述文件&#xff0c;它用于定义Android项目中的模块、库、应用等构建规则&#xff0c;该文件使用 Blueprint 语言&#xff0c;是 Soong 构建系统的一部分。 Soong则是专为Android…

vue+elementUI用户修改密码的前端验证

用户登录后修改密码&#xff0c;密码需要一定的验证规则。旧密码后端验证是否正确&#xff1b;前端验证新密码的规范性&#xff0c;新密码规范为&#xff1a;6-16位&#xff0c;至少含数字/字母/特殊字符中的两种&#xff1b;确认密码只需要验证与新密码是否一致&#xff1b; 弹…

VMware17.5.1导入x.ova格式虚拟机

1、用的是2024年2月发布的VMware17.5.1 pro、导入的是VisualBox制作的ova。 2、VMware导入ova后&#xff0c;能正常进入虚拟机&#xff0c;并正常运行。 3、注意导入过程中会提示一个选择窗口&#xff0c;务必要点击“重试”&#xff0c;不要点击取消。

【JAVA重要知识 | 第七篇】Java异常知识总结(声明、抛出、捕获异常)

7.Java异常知识总结&#xff08;声明、抛出、捕获异常&#xff09; 7.1异常定义 在程序运行过程中&#xff0c;如果JVM检测出一个不可能执行的操作时&#xff0c;就会出现运行时错误&#xff08;runtime error&#xff09;。在Java中&#xff0c;运行时错误会作为异常抛出。异…

Power Apps 学习笔记 -- Action

文章目录 1. Action 简介2. Action 配置3. 待补充 1. Action 简介 Action基础教程 : Action概述 操作Action: 1. 操作Action类似于工作流Workflow&#xff0c;提供一些重用性的操作&#xff0c;允许工作流或其他Web服务端点调用(例如javascript). 2. Action 类似于c#当中的一个…