实时音频时标修改库
audiotsm的Python项目详细描述
AudioTSM是一个用于实时音频时间刻度修改的python库 程序,即改变音频信号速度的算法 改变音调。
- 文档:
- https://audiotsm.readthedocs.io/
- 示例:
- https://muges.github.io/audiotsm/
- 源代码存储库和问题跟踪程序:
- https://github.com/Muges/audiotsm/
- python包索引:
- https://pypi.python.org/pypi/audiotsm/
- 许可证:
- mit–有关详细信息,请参见文件LICENSE。
安装
audiotsm应该与python 2.7和python 3.4+一起使用。
您可以使用pip安装最新版本的audiotsm:
pip install audiotsm
如果您想使用gstreamer插件,应该安装PyGObjectpython-gst,并使用以下命令安装audiotsm:
pip install audiotsm[gstreamer]
如果要实时播放TSM过程的输出,或使用 例如,您应该按如下方式安装AudioTSM:
pip install audiotsm[stream]
基本用法
audiotsm包实现了几个时间刻度修改过程:
- ola(重叠相加);
- wsola(基于波形相似性的重叠相加);
- 相位声码器。
ola程序只能用于打击性音频信号。波拉 相位声码器程序是ola程序的改进,并且 在大多数情况下都会有很好的效果
如果您不确定选择哪种程序,相位声码器应该发出声音 在大多数情况下最好。您可以在 各种音频文件和不同速度的examples page。
下面是一个基本示例,演示如何将wav文件的速度降低一半 使用WSOLA过程:
from audiotsm import phasevocoder from audiotsm.io.wav import WavReader, WavWriter with WavReader(input_filename) as reader: with WavWriter(output_filename, reader.channels, reader.samplerate) as writer: tsm = phasevocoder(reader.channels, speed=0.5) tsm.run(reader, writer)
谢谢
如果你对时间刻度修改程序感兴趣,我强烈建议 读乔纳森的A Review of Time-Scale Modification of Music Signals 德里格和梅纳德·穆勒。