Skip to main content

计算短期客观可理解性度量

项目描述

STOI 的 Python 实现

实施经典和扩展的短期客观可理解性措施

与降级语音信号的可理解性高度相关的可理解性度量,例如,由于加性噪声、单/多通道降噪、二进制掩蔽和语音编码语音,如 CI 模拟。STOI 度量是侵入性的,即,干净和退化的语音信号的函数。当您对非线性处理对嘈杂语音的影响感兴趣时,STOI 可能是语音清晰度指数 (SII) 或语音传输指数 (STI) 的一个很好的替代方案,例如降噪、二进制掩蔽算法对语音清晰度的影响。
描述取自Cees Taal 的网站

安装

pip install pystoi或者 pip3 install pystoi

用法

import soundfile as sf
from pystoi import stoi

clean, fs = sf.read('path/to/clean/audio')
denoised, fs = sf.read('path/to/denoised/audio')

# Clean and den should have the same length, and be 1D
d = stoi(clean, denoised, fs, extended=False)

Matlab代码和测试

此 repo 中的所有 Matlab 代码均取自或改编自Cees Taal 编写的此处可用代码(STOI – Short-Time Objective Intelligibility Measure –)。

感谢 Cees Taal 开源了他的 Matlab 实现并启用了对这个 python 代码的全面测试。

如果您想运行测试,您将需要 Matlab,matlab.engine在此处安装说明)和matlab_wrapper(安装说明pip install matlab_wrapper)。测试只能在 Python 2.7 下运行,matlab.engine并且matlab_wrapper仅与 Python2.71e-3兼容以 10kHz 采样)。

非常感谢 @gauss256 将所有的 matlab 脚本翻译成 Octave,并为它编写了所有的测试!

贡献

欢迎任何贡献~,特别是为了提高代码的执行速度~(感谢 Przemek Pobrotyn 的 4 倍加速!):

  • 改进重采样方法以匹配 Matlab 中的重采样tests/感谢@gauss256,这可以被认为是一个已解决的问题!
  • 为 Python 3 编写测试(transplant例如)

参考

  • [1] CHTaal, RCHendriks, R.Heusdens, J.Jensen “时频加权嘈杂语音的短时客观可理解度测量”,ICASSP 2010,德克萨斯州达拉斯。
  • [2] CHTaal、RCHendriks、R.Heusdens、J.Jensen“时频加权嘈杂语音清晰度预测算法”,IEEE 音频、语音和语言处理汇刊,2011 年。
  • [3] J. Jensen 和 CH Taal,“预测调制噪声掩蔽器掩蔽的语音清晰度的算法”,IEEE Transactions on Audio、Speech and Language Processing,2016 年。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pystoi-0.3.3.tar.gz (7.0 kB 查看哈希

已上传 source