Python中的动态范围(DR)算法实现
项目描述
动态范围(DR)计 🎧
该算法已使用可用的信息和官方认可的软件逆向工程,以计算DR值。drmeter的分析结果已验证,与官方认可软件产生的结果相比,绝对误差在±0.5以内(见#testing)。
本项目与Pleasurize音乐基金会及其动态范围项目没有任何关联。
安装
安装drmeter的推荐方法是pipx
pipx install drmeter
任何常规的pip install drmeter
都会起作用。drmeter需要Python 3.9+才能运行。
要使用未安装的drmeter,请考虑以下dockerized方法
用法
有关使用说明,请参阅drmeter --help
。drmeter期望一个要分析的文件或目录的路径,并默认使用“动画”进度显示,在过程中将结果输出到stdout。
$ drmeter 'Nobody There (Beautiful Scars).wav'
Analyzing Dynamic Range of Nobody There (Beautiful Scars).wav ...
╭──────────────────────────────────────────────────────────────────────╮
│ DR Peak RMS Filename │
├──────────────────────────────────────────────────────────────────────┤
│ DR12 -0.10 dB -15.02 dB Nobody There (Beautiful Scars).wav │
╰──────────────────────────────────────────────────────────────────────╯
使用--quiet/-q
标志将静音大多数输出,并只打印计算的DR分数到stdout
$ drmeter 'Nobody There (Beautiful Scars).wav' -q
DR12
或者,drmeter支持使用--output/-o json
参数的更详细JSON格式输出,包括每个通道和总计的结果。使用--output
参数将进度显示重定向到stderr,以便可以将格式化输出管道传输到其他应用程序或文件。如果您不需要进度显示,也可以使用--quiet/-q
在这里将其静音。
# Save a copy to file
$ drmeter -ojson -q 'Nobody There (Beautiful Scars).wav' | tee dr.json
{
"filename": "/…/Nobody There (Beautiful Scars).wav",
"dr_score": [
11.93,
11.63
],
"peak_db": [
…
]
}
# Parse JSON using jq
$ drmeter -ojson -q 'Nobody There (Beautiful Scars).wav' | jq '.[].overall_dr_score'
11.78
Dockerized
在 ghcr.io/janw/drmeter
可以找到 drmeter
的容器镜像,其中 latest
标签指向 main
分支上的最新提交。以下命令(在当前工作目录中/以下包含您要分析的文件)的行为与已安装版本非常相似,直接接受预期的参数。
docker run --rm --tty --workdir /src -v "$PWD:/src" \
ghcr.io/janw/drmeter --output json path/to/files
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
drmeter-0.2.2.tar.gz (10.8 kB 查看哈希值)
构建分发
drmeter-0.2.2-py3-none-any.whl (11.1 kB 查看哈希值)
关闭
drmeter-0.2.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 89a5ace5ae08ca3cae594fc0b9a00759de4d80061819535d2efa4afb18cd6dd2 |
|
MD5 | 3bb8a2ebe9e06aa498e1d7915e6ea073 |
|
BLAKE2b-256 | 67561d906283351e9e75d20c0d39466b8c349752f9e54c4e695e1de92547aa3e |
关闭
drmeter-0.2.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a2848de34c6f2ac539338327b117c0adbe270d2368baf54f8e25fd5df21f30fe |
|
MD5 | aa50eb1b04339d6e40e0a4e60371311b |
|
BLAKE2b-256 | 0d7fa6a9449d8140060070e80df805262a662416910e3ba8665bb67ab19b378e |