python实现WSOLA算法

本文介绍了Python中实现WSOLA(Windowed Synchronous Overlap-Add)算法的详细步骤,该算法用于音频的时间拉伸和压缩。通过将音频信号分窗口、加汉宁窗、寻找相似帧叠加,并通过调整叠加步进实现变速。给出的公式中,rate决定了变速比例,Lout和Lin分别代表输出和输入音频的长度。
摘要由CSDN通过智能技术生成
  1. 原理

通过一定的偏移,叠加相似性最高的窗口,从而实现音频时间的拉伸和压缩的效果。

请添加图片描述

  1. 具体步骤

  2. 将音频信号分成多个窗口,通常采用固定长度的窗口(比如20ms);

  3. 取第一帧,加汉宁窗(cosx);

  4. 间隔Ha取一帧,以该帧为中心,两边延伸Δmax,找出最相似的帧作为第二帧并加汉宁窗;

  5. 将第二帧和第一帧叠加,叠加步进为Hs

  6. 公式

r a t e = H a / H s rate = Ha / Hs rate=Ha/Hs

L o u t = L i n / r a t e L_{out} = L_{in} / rate Lout=Lin/rate

Hs固定,通常为帧长一半

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值