问题标签 [librosa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
79 浏览

python - 整首歌的 mfcc 与为同一首歌曲的片段计算的 mfcc 不同

我在一首30秒的歌曲上计算了MFCC,帧大小为25ms,跳数为10ms,采样率为22050

然后,我对同一首歌的 1 秒片段做了同样的事情。但是当我在长曲中搜索短曲的系数时,使用滑动窗口,我从来没有得到完美或相当完美的匹配。

可能是什么问题呢?我错过了什么?

0 投票
1 回答
4423 浏览

python - 使用 Python/Librosa 问题加载多个音频文件

我希望有人可以帮助我解决我遇到的问题。我正在尝试加载多个(即 3 个)音频文件并使用 Python 的 Librosa 库绘制它们。我无法在这里发现错误。

以上产生错误:

有人指出这可能是导致问题的 y 类型,但我在这里找不到任何明显的错误。

欢迎任何建议,因为事实证明这对我来说是一个巨大的时间浪费。

0 投票
0 回答
459 浏览

python - pydub 找不到 librosa 编写的 *.wav 文件

我正在使用 Librosa 函数librosa.output.write_wav将时间序列输出为 .wav 文件,然后尝试在 pydub 中打开它,但 pydub 正在抛出一条FileNotFoundError消息(见下文)。*.wav 文件绝对与我的 Jupyter 笔记本 ( convert_spect_to_wav.ipynb) 位于同一目录中。奇怪的是,如果我输入不是由 Librosa 生成的 *.wav 文件,我的代码工作得非常好。我可以收听 Librosa *.wav 文件,所以我不知道 Librosa 做了什么奇怪的事情导致 pydub 找不到 Librosa *.wav 文件。

目录

FileNotFound错误信息

不知道为什么pydub找不到Librosa输出的*.wav文件。问题在于 Librosa *.wav 文件,因为其他 *.wav 文件可以正常工作。有没有其他人遇到过这个?

这里有一些相关代码:write_time_series_to_wav创建 Librosa *.wav 文件,stitch_wavs_together这是我尝试使用 pydub 读取 Librosa *.wav 文件的地方,并convert_spect_to_wav调用这两个函数。

任何帮助或输入表示赞赏!

0 投票
1 回答
9411 浏览

audio - ParameterError:数据必须是浮点数(librosa)

参考:https ://github.com/librosa/librosa/blob/master/examples/LibROSA%20demo.ipynb

代码 :

错误我得到:

我得到的错误

0 投票
2 回答
120 浏览

python - 机器学习 - 有什么解决 Python 舍入错误的建议吗?

我正在使用 Python 将元素与音乐隔离开来。训练一个模型,我将我的音频分成几帧,每帧都有一个标签 - 1 或 0。不幸的是,由于舍入错误,我的标签总是短 1 或 2 帧。

将我的音频转换为帧,我得到一个值 (13, 3709)

将我的文本文件(对于我正在使用的 mp3)从毫秒转换为帧数,我得到一个向量值 3708。

我曾尝试使用Decimal,math.floor以及math.ceil在我的block_startblock_stop变量中,但我似乎无法匹配我的音频帧长度。

0 投票
1 回答
243 浏览

python - 从可变形状的 2D numpy 数组生成 3D numpy 数组?

我正在生成大量 mel 频谱图来训练 NN 进行音素检测。

每个 mel 频谱图(在 Python 中使用 librosa.core.melspectrogram 生成)都表示为一个 2D numpy 数组,其中轴 1(向量的长度)因频谱图而异。它们的形状从 (128, 2) 到 (128, 200) 不等。

为了生成 3D 数组,所有频谱图必须具有相同的形状,所以我猜我应该将零添加到小于 200 的向量的末端。然后我可以将它们全部添加到 Python 列表中,调用np.array 就可以生成一个 3D numpy 数组,对吧?

我自己尝试过,但没有成功。感谢所有帮助。

编辑:(已请求代码,这基本上是我想要做的)

0 投票
4 回答
5719 浏览

python - librosa 的加载和 scipy.io.wavfile 的读取之间的区别

我有一个关于loadlibrosa 的read功能和scipy.io.wavfile.

导入的语音文件是同一个文件。如果你运行上面的代码,两个函数出来的数据值是不同的。我想知道为什么数据的价值不同。

0 投票
0 回答
1158 浏览

python - 将使用 Librosa 提取的音频特征保存在多通道 Numpy 数组中

我正在尝试使用 Librosa 从音频文件中提取特征,以作为 Numpy 数组馈送到 CNN。

目前,我一次保存一个特征以输入 CNN。我使用以下方法在 Python 中保存二维(单通道)对数缩放的梅尔谱图特征Librosa

这给出了形状(1,128,323,1)

我想添加另一个功能,比如说一个tempogram. 我可以做到这一点,使用相同的代码,但将melspectrogram替换为tempogram',并将窗口长度设置为128.

这给了我一个tempogram形状(1,128,323,1)

现在我想将这 2 个特征层“堆叠”成一个多通道 numpy 对象,我可以将其输入 Keras 中的 CNN。

我应该如何编码?

编辑:

想我想通了,使用 np.vstack()

0 投票
0 回答
333 浏览

apache-spark - 使用 PySpark 的 Librosa 特征提取方法

我一直在搜索很长时间,但看不到任何与 Apache Spark 集成的音乐特征提取技术(如频谱质心频谱带宽等)的实现。我正在使用这些特征提取技术,这个过程需要很多时间来制作音乐。我想通过使用 Spark 来并行化和加速这个过程。我做了一些工作,但无法加快速度。我想得到光谱质心法的算术平均值和标准差。这是我到目前为止所做的。

程序的输出如下。

所以,即使我并行化了数组 y(音乐信号数组),我也无法加快这个过程。这需要更长的时间。我不明白为什么。我是 Spark 概念的新手。我想在这个过程中使用 GPU,但也无法实现。谁能帮我理解我做错了什么?

0 投票
1 回答
214 浏览

python - Librosa 和 matplotlib(使用 PyQt5)出现错误

我正在尝试制作歌曲的波形。并将其显示在由 PyQt 包装的 matplotlib 窗口中,但我一直遇到错误:

这发生在我尝试这样做时:

与我导入 pyplot 时不同,它不会在调用时自行添加到绘图中waveform。所以这就是问题所在,使用 add_collection,我可以用谷歌搜索的唯一方法对我来说效果不佳。

附加信息,col是一个PolyCollection.

这是代码完整代码: