我正在尝试测量导入和导出wav文件.优选地,第一个和最后5秒左右.我基本上试图分配一个数字值,意思是“这首歌有一个缓慢的引导”或“这首歌有一个突然结束”.

我的想法是得到dB值的斜率,但我似乎找不到一个能给我dB值的linux命令行工具.我知道它们可以被测量,因为Audacity有一个波形(db)视图.

基本上我正在寻找一种方法来收集数据点来复制这个图,这样我就可以得到斜率.

编辑 – 在java工作

解决方法:

我不知道有任何命令行工具可以做到这一点,但使用scipy库编写具有此功能的python脚本相当简单.

我们可以使用scipy.io.wav文件来执行文件IO,然后自己计算dB值(请注意,这些值不一定是标准dB值,因为这些将取决于您的扬声器和音量设置).

首先我们得到文件:

from scipy.io.wavfile import read

samprate, wavdata = read('file.wav')

然后,我们将文件拆分为块,其中块的数量取决于您想要测量卷的精确程度:

import numpy as np

chunks = np.array_split(wavdata, numchunks)

最后,我们计算每个块的体积:

dbs = [20*log10( sqrt(mean(chunk**2)) ) for chunk in chunks]

其中dbs现在是文件每个块的dB值列表(同样,不一定是真正的SPL声级).

您还可以使用重叠块等以不同方式轻松拆分数据.

标签:java,linux,audio,command-line

来源: https://codeday.me/bug/20190901/1784463.html

java 分贝_java – wav文件中特定点的分贝值相关推荐

  1. java 修改wav文件头_使用Java聲音API從WAV文件中修剪開頭和結尾

    我有製作的基礎知識.但是,輸出文件一遍又一遍地重複WAV標頭字節.生成的文件大小合適,但是它與垃圾一起提交.使用Java聲音API從WAV文件中修剪開頭和結尾 我想使用一個擴展AudioInputSt ...

  2. java 存储数据到文件中_本机速度文件支持的“纯” Java大数据存储

    java 存储数据到文件中 动机 所有这一切始于意识到我买不起足够大的计算机. 音频处理需要大量的内存. Audacity是一款出色的免费音频处理器,它使用文件支持的存储系统对其进行管理. 这是解决此 ...

  3. C++ 读取wav文件中的PCM数据

    前言 wav文件通常会使用PCM格式数据存储音频,这种格式的数据读取出来直接就可以播放,要在wav文件中读取数据,我们首先要获取头部信息,wav的文件结构里面分为多个chunk,我们要做的就是识别这些 ...

  4. python读取一行的函数_Python linecache.getline()读取文件中特定一行的脚本

    Python linecache.getline()读取文件中特定一行的脚本 比如: Code highlighting produced by Actipro CodeHighlighter (fr ...

  5. XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML

    XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...

  6. python提取文件中特定字符串

    目录 1. Python3文件操作 1.1 打开和关闭文件 1.1.1 open( ) 函数 1.1.2 close( ) 函数 1.2  读写文件 1.2.1 write( ) 函数 1.2.2 r ...

  7. python读取字符串指定位置字符_python读取txt文件中特定位置字符的方法

    python读取txt文件中特定位置字符的方法 如下所示: # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding(' ...

  8. WAV文件中AudioFormat的定义

    最近在做一个解析wav音频文件的算法,关于wav文件格式的介绍,网上的资料一搜一大把,这里推荐一个很好的文章: wave文件(*.wav)格式.PCM数据格式 - cheney23reg - 博客园 ...

  9. java分布式对象——远程方法中的参数和返回值+远程对象激活

    [0]README 1)本文文字描述转自 core java volume 2, 旨在学习 java分布式对象--远程方法中的参数和返回值+远程对象激活 的相关知识: [1]远程方法中的参数和返回值 ...

  10. php替换文件中的数据库,批量替换php文件中的class,id的值

    批量替换php文件中的class,id的值 $val="wqewq 替换成"wqewq //其实也就是在class,id值后面加上一个字符串 //我要替换的是文件里的.所以要从文件 ...

最新文章

  1. python 读取二进制文件 转为16进制输出
  2. python编程单词排序_Python读取英文文件并记录每个单词出现次数后降序输出示例...
  3. CTreeCtrl展开树形所有节点
  4. Drupal 引入JS文件的几种方式
  5. 转-Redis AOF 持久化详解
  6. 1360. 日期之间隔几天 golang
  7. JAVA进阶教学之(一维数组)
  8. 【ES8(2017)】async / await
  9. prestashop 隐藏 index.php,删除PrestaShop中的供应商和制造商页面
  10. 【Elasticsearch】 es join 多表关联如何设计
  11. date oracle 表中_oracle数据库 中to_number()、to_char()、to_date()用法介绍
  12. MongoDB实战系列之二:MongoDB的常用操作
  13. 一张图看懂阿里云智能媒体管理产品 1
  14. Win7下给电脑加域,及遇到的问题。欢迎留言
  15. matlab 呼吸灯,一种控制呼吸灯呼吸效果的方法与流程
  16. 快速实现大量数据匹配来电号码归属
  17. 逆水寒2021最新服务器,【图片】《逆水寒》2021年4月29日更新公告【逆水寒ol吧】_百度贴吧...
  18. Linux命令之大文件分割
  19. thinkphp3.2 微信 Native扫码支付功能
  20. 线程状态是五种对?还是六种对?

热门文章

  1. 线性分类器三种最优准则
  2. 【 jvm-sandbox-repeater】环境搭建部署
  3. java 数据库基础_数据库基础知识考试及答案 PDF 下载
  4. 多御安全浏览器使用技巧,剖析7大优点特性
  5. 产品分析报告—网易云音乐
  6. 矩阵的谱分解 (详细推导步骤~~~特征值分解特征向量
  7. 计算机流体力学:CFD
  8. 开发erp管理系统的好处
  9. 业务需求分析师Business Analysist(BA)的职业发展之路
  10. 免费下载思维导图模板的方法