java 分贝_java – wav文件中特定点的分贝值
我正在尝试测量导入和导出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文件中特定点的分贝值相关推荐
- java 修改wav文件头_使用Java聲音API從WAV文件中修剪開頭和結尾
我有製作的基礎知識.但是,輸出文件一遍又一遍地重複WAV標頭字節.生成的文件大小合適,但是它與垃圾一起提交.使用Java聲音API從WAV文件中修剪開頭和結尾 我想使用一個擴展AudioInputSt ...
- java 存储数据到文件中_本机速度文件支持的“纯” Java大数据存储
java 存储数据到文件中 动机 所有这一切始于意识到我买不起足够大的计算机. 音频处理需要大量的内存. Audacity是一款出色的免费音频处理器,它使用文件支持的存储系统对其进行管理. 这是解决此 ...
- C++ 读取wav文件中的PCM数据
前言 wav文件通常会使用PCM格式数据存储音频,这种格式的数据读取出来直接就可以播放,要在wav文件中读取数据,我们首先要获取头部信息,wav的文件结构里面分为多个chunk,我们要做的就是识别这些 ...
- python读取一行的函数_Python linecache.getline()读取文件中特定一行的脚本
Python linecache.getline()读取文件中特定一行的脚本 比如: Code highlighting produced by Actipro CodeHighlighter (fr ...
- XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML
XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...
- python提取文件中特定字符串
目录 1. Python3文件操作 1.1 打开和关闭文件 1.1.1 open( ) 函数 1.1.2 close( ) 函数 1.2 读写文件 1.2.1 write( ) 函数 1.2.2 r ...
- python读取字符串指定位置字符_python读取txt文件中特定位置字符的方法
python读取txt文件中特定位置字符的方法 如下所示: # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding(' ...
- WAV文件中AudioFormat的定义
最近在做一个解析wav音频文件的算法,关于wav文件格式的介绍,网上的资料一搜一大把,这里推荐一个很好的文章: wave文件(*.wav)格式.PCM数据格式 - cheney23reg - 博客园 ...
- java分布式对象——远程方法中的参数和返回值+远程对象激活
[0]README 1)本文文字描述转自 core java volume 2, 旨在学习 java分布式对象--远程方法中的参数和返回值+远程对象激活 的相关知识: [1]远程方法中的参数和返回值 ...
- php替换文件中的数据库,批量替换php文件中的class,id的值
批量替换php文件中的class,id的值 $val="wqewq 替换成"wqewq //其实也就是在class,id值后面加上一个字符串 //我要替换的是文件里的.所以要从文件 ...
最新文章
- python 读取二进制文件 转为16进制输出
- python编程单词排序_Python读取英文文件并记录每个单词出现次数后降序输出示例...
- CTreeCtrl展开树形所有节点
- Drupal 引入JS文件的几种方式
- 转-Redis AOF 持久化详解
- 1360. 日期之间隔几天 golang
- JAVA进阶教学之(一维数组)
- 【ES8(2017)】async / await
- prestashop 隐藏 index.php,删除PrestaShop中的供应商和制造商页面
- 【Elasticsearch】 es join 多表关联如何设计
- date oracle 表中_oracle数据库 中to_number()、to_char()、to_date()用法介绍
- MongoDB实战系列之二:MongoDB的常用操作
- 一张图看懂阿里云智能媒体管理产品 1
- Win7下给电脑加域,及遇到的问题。欢迎留言
- matlab 呼吸灯,一种控制呼吸灯呼吸效果的方法与流程
- 快速实现大量数据匹配来电号码归属
- 逆水寒2021最新服务器,【图片】《逆水寒》2021年4月29日更新公告【逆水寒ol吧】_百度贴吧...
- Linux命令之大文件分割
- thinkphp3.2 微信 Native扫码支付功能
- 线程状态是五种对?还是六种对?