首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python | librosa:如何通过添加更多的点来及时拉伸信号

Python | librosa:如何通过添加更多的点来及时拉伸信号
EN

Stack Overflow用户
提问于 2017-12-31 07:36:44
回答 1查看 3K关注 0票数 1

我需要帮助找出如何使用librosa package将样本从0.25秒拉伸到1秒。我认为librosa.effects.time_stretch是一个这样做的函数,但它不是拉伸信号,而是做其他事情。应用它或其他librosanumpy函数(或pydub)的正确方式是什么?

这是我使用16 KHz采样率的尝试,即在0.25秒的时间周期内提供4K样本。作为输出,我需要在整个1秒的持续时间内使用16K个样本,保持采样率不变。

代码语言:javascript
复制
import numpy as np, librosa
x = np.sin(np.linspace(-np.pi, np.pi, 4000))  # wav sample
y = librosa.effects.time_stretch(x, rate=4000/16000)
plt.plot(x)  # plotted in blue
plt.plot(y)  # plotted in orange

这将产生以下图表:

值得注意的是,正弦信号没有拉伸。我以sin()为例。其目的是拉伸语音音频wav文件,其中的分析功能未知。

EN

回答 1

Stack Overflow用户

发布于 2018-01-01 02:30:54

我认为time_stretch应用了一些处理来试图保持音频的音调。你想要的可能是

代码语言:javascript
复制
y = librosa.core.resample(x, 4000, 16000)

这就给出了这个图:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48038800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档