问题标签 [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.
python - 整首歌的 mfcc 与为同一首歌曲的片段计算的 mfcc 不同
我在一首30秒的歌曲上计算了MFCC,帧大小为25ms,跳数为10ms,采样率为22050
然后,我对同一首歌的 1 秒片段做了同样的事情。但是当我在长曲中搜索短曲的系数时,使用滑动窗口,我从来没有得到完美或相当完美的匹配。
可能是什么问题呢?我错过了什么?
python - 使用 Python/Librosa 问题加载多个音频文件
我希望有人可以帮助我解决我遇到的问题。我正在尝试加载多个(即 3 个)音频文件并使用 Python 的 Librosa 库绘制它们。我无法在这里发现错误。
以上产生错误:
有人指出这可能是导致问题的 y 类型,但我在这里找不到任何明显的错误。
欢迎任何建议,因为事实证明这对我来说是一个巨大的时间浪费。
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
调用这两个函数。
任何帮助或输入表示赞赏!
python - 机器学习 - 有什么解决 Python 舍入错误的建议吗?
我正在使用 Python 将元素与音乐隔离开来。训练一个模型,我将我的音频分成几帧,每帧都有一个标签 - 1 或 0。不幸的是,由于舍入错误,我的标签总是短 1 或 2 帧。
将我的音频转换为帧,我得到一个值 (13, 3709)
将我的文本文件(对于我正在使用的 mp3)从毫秒转换为帧数,我得到一个向量值 3708。
我曾尝试使用Decimal
,math.floor
以及math.ceil
在我的block_start
和block_stop
变量中,但我似乎无法匹配我的音频帧长度。
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 数组,对吧?
我自己尝试过,但没有成功。感谢所有帮助。
编辑:(已请求代码,这基本上是我想要做的)
python - librosa 的加载和 scipy.io.wavfile 的读取之间的区别
我有一个关于load
librosa 的read
功能和scipy.io.wavfile
.
导入的语音文件是同一个文件。如果你运行上面的代码,两个函数出来的数据值是不同的。我想知道为什么数据的价值不同。
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()
apache-spark - 使用 PySpark 的 Librosa 特征提取方法
我一直在搜索很长时间,但看不到任何与 Apache Spark 集成的音乐特征提取技术(如频谱质心、频谱带宽等)的实现。我正在使用这些特征提取技术,这个过程需要很多时间来制作音乐。我想通过使用 Spark 来并行化和加速这个过程。我做了一些工作,但无法加快速度。我想得到光谱质心法的算术平均值和标准差。这是我到目前为止所做的。
程序的输出如下。
所以,即使我并行化了数组 y(音乐信号数组),我也无法加快这个过程。这需要更长的时间。我不明白为什么。我是 Spark 概念的新手。我想在这个过程中使用 GPU,但也无法实现。谁能帮我理解我做错了什么?
python - Librosa 和 matplotlib(使用 PyQt5)出现错误
我正在尝试制作歌曲的波形。并将其显示在由 PyQt 包装的 matplotlib 窗口中,但我一直遇到错误:
这发生在我尝试这样做时:
与我导入 pyplot 时不同,它不会在调用时自行添加到绘图中waveform
。所以这就是问题所在,使用 add_collection,我可以用谷歌搜索的唯一方法对我来说效果不佳。
附加信息,col
是一个PolyCollection
.
这是代码完整代码: