首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Librosa抽样率问题

Librosa抽样率问题
EN

Stack Overflow用户
提问于 2016-07-04 15:40:35
回答 2查看 10.3K关注 0票数 8

当执行STFT时,然后在16位44.1 khz音频文件上使用库利布罗萨进行反向STFT (利布罗萨):

代码语言:javascript
复制
import librosa

y, sr = librosa.load('test.wav', mono=False)
y1 = y[0,]
S = librosa.core.stft(y1)
z1 = librosa.core.istft(S, dtype=y1.dtype)
librosa.output.write_wav('test2.wav', z1, sr)

输出仅为22 khz音频文件。为什么?取样率的变化在哪里?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-12 16:08:28

librosa.load()函数启用目标采样,其中您导入的音频文件可以被重新采样到关键字参数sr指定的目标采样率。

如果要使用原始采样率,则必须显式地将目标采样率设置为None:sr=None。默认情况下是sr=22050,这就是为什么输出是22 why的原因。

举个例子:

默认设置-次采样为默认的22,050赫兹

代码语言:javascript
复制
In[51]: filename = librosa.util.example_audio_file()
In[52]: y1, sr1 = librosa.load(filename)
In[53]: print sr1
22050

显式设置sr=None确保原始采样保持不变

代码语言:javascript
复制
In[54]: y2, sr2 = librosa.load(filename,sr=None)
In[55]: print sr2
44100

二次采样至指定频率,16,000赫兹

代码语言:javascript
复制
In[56]: y3, sr3 = librosa.load(filename,sr=16000)
In[57]: print sr3
16000

结果:

票数 23
EN

Stack Overflow用户

发布于 2018-02-07 15:12:29

因为您没有安装一些依赖库,我建议您安装sudo apt-get install libav-tools,因为它在linux系统中安装音频和视频工具。

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

https://stackoverflow.com/questions/38188359

复制
相关文章

相似问题

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