实时音频时标修改库

audiotsm的Python项目详细描述


Documentation StatusBuild Status

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 德里格和梅纳德·穆勒。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带有字符串的java JNA调用与带有字节[]的java JNA调用的行为不同   java基于键列表获取子映射   重启后永久增加java堆大小?   JavaHTTPS服务器:相互SSL身份验证   java为什么接受接口的方法会拒绝该接口的实现?   片段中的java视图无法应用于()   ms access Java SQL更新命令不工作   java将web服务自动打包和部署到Oracle Application Server 10g   java有没有办法在安卓 studio中为安卓时钟设置多个警报?   位于FTP服务器上的文件上的Java校验和md5   在Java中创建类时遇到问题。有些方法不太确定   java错误:在类chrome\u驱动程序中找不到主方法   通用海图(Javascript\Java)