- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从文件中读取 pcm 数据,然后绘制它。我注意到 librosa.display.waveplot、plot 和 audacity 之间的绘图有所不同。
这是代码和图像
%matplotlib inline
import matplotlib.pyplot as plt
import librosa.display
import numpy as np
import IPython.display as ipd
import matplotlib.pyplot as plt
import numpy, pylab
# the pcm file is 32le integer with a sampling rate of 16KHz
pcm_data = np.fromfile('someaudio.pcm', dtype=np.int32)
# the sample has the same sound as audacity
ipd.Audio(data=pcm_data, rate=16000)
# all of these give the same resulting plot
plt.figure()
plt.subplot(3, 1, 1)
#librosa.display.waveplot(pcm_data, sr=16000)
#librosa.display.waveplot(pcm_data.astype('double'), sr=16000)
librosa.display.waveplot(pcm_data.astype('float'), max_points=None, sr=16000, max_sr=16000)
# alternatively plot via matplotlib
pylab.plot(pcm_data)
pylab.show()
最佳答案
matplotlib 和 Audacity 显示实际信号样本,在记录的后半部分显然都是负值。
另一方面,librosa 显示绝对信号的包络,如其 documentation 中所述。 :
Plot the amplitude envelope of a waveform.
If
y
is monophonic, a filled curve is drawn between[-abs(y), abs(y)]
.
y
是本例中的信号。
这有效地导致了沿 x 轴的镜像效应,这就是为什么 librosa 图是对称的。 matplotlib 和 Audacity 显然没有做这样的事情。
有人可能会说,librosa 的行为有效地隐藏了不对称波形(即正负样本的幅度不相似),这在野外是可能的。来自 soundonsound.com :
This asymmetry is due mainly to two things, the first being the relative phase relationships between the fundamental and different harmonic components in a harmonically complex signal. In combining different frequency signals with differing phase relationships, the result is often a distinctly asymmetrical waveform, and that waveform asymmetry often changes and evolves over time, too. That's just what happens when complex related signals are superimposed.
有人可能还会争辩说,这种不对称性并没有太多有用的信息,因为人类通常无法感知到它。
如果您认为 librosa 的行为是意外或错误的,我建议您填写错误报告,寻求解释。
关于python - 为什么 librosa 图与 matplotlib 和 audacity 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57260065/
我正在尝试使用 librosa 通过从持续时间为 60 秒的某个 .wav 文件中剪切 1 秒的片段来生成一些数据。 这部分有效,我创建了所有文件,我也可以通过任何播放器收听它们,但是如果我尝试使用
有一个代码可以为单声道音频生成梅尔谱图。 import librosa, librosa.display import matplotlib.pyplot as plt import numpy as
有没有可以让我选择传递给MFCC算法的频带的API? 假设我有2个不同的麦克风,每个麦克风都有不同的频率范围,一个为0〜12000Hz,另一个为0〜20000Hz 显然,即使在录制以节省声源时,第一和
我是信号处理的新手,并且正在使用librosa库。 我想知道当我使用librosa.load函数读取音频(.wav)文件时返回的信息是什么。 是pa中的瞬时声压吗?还是只是声音信号的瞬时幅度没有单位?
所以我试图让 librosa 使用麦克风输入,而不仅仅是 wav 文件,并且遇到了一些问题。最初我使用 pyaudio 库连接到麦克风,但我在翻译这些数据以供 librosa 使用时遇到了问题。关于如
Librosa Python 3.5在 8000Hhz 音频样本上出现错误: extract feature error. Filter pass-band lies beyond Nyquist 之
所以我在 IPython 中使用 librosa 库,到目前为止没有遇到任何问题,直到昨天未能导入它。特别是当我尝试导入 librosa 时,它会给我以下错误消息。 import librosa Im
当使用库 Librosa 在 16 位 44.1 khz 音频文件上执行 STFT,然后执行逆 STFT (iSTFT) 时: import librosa y, sr = librosa.load(
我正在尝试绘制 16000Hz 16 位 .wav 语音音频的波形图和频谱图。我已成功获得以下地 block : 但是,频谱图上的时间值不正确。我确定我的采样率在整个程序中是一致的 (16000Hz)
我正在使用 native beat_track来自 Librosa 的函数: from librosa.beat import beat_track tempo, beat_frames = beat
除非我使用 librosa 之一'.ogg' 格式的 native '示例'音频文件,我无法加载音频。 每个 github 问题和 SO 答案都说我需要安装 ffmpeg。我找到了一个名为 ffmpe
我有点难以理解 MFCC。 从我读到的 mel 滤波器组应该是一系列三角形,它们变得更宽并且它们的峰值在同一个地方。像这样... 但是,当我使用 librosa 计算 mel 滤波器组时,我得到...
我目前正在尝试使用 librosa 来执行 stfft,这样参数类似于来自不同框架 (Kaldi) 的 stfft 进程。 音频文件是 fash-b-an251 Kaldi 使用 16 KHz 的采样
我的python版本是3.7.4,而Librosa版本是0.8.0下面是我的代码: import librosa import librosa.display import matplotlib.py
我正在尝试隔离音频流的前景,然后使用 librosa 将其保存为独立的音频流。 从这个看似开始relevant example . 我有完整的前景和背景数据,就像 S_full 中的例子一样。 , S
在 AudioSegment来自 from pydub import AudioSegment ,有一个函数set_sample_width .从文档: Creates an equivalent v
我将一些音频文件转换为频谱图并使用以下代码将它们保存到文件中: import os from matplotlib import pyplot as plt import librosa import
所以我想将频谱图图像提供给卷积神经网络,以尝试对各种声音进行分类。我希望每个图像都是 384x128 像素。但是,当我实际保存图像时,它只有 297x98。这是我的代码: def save_spect
我想提取以 8000 Hz 采样、帧大小为 20 毫秒和 10 毫秒重叠的音频文件的 mfcc 特征。 librosa.feature.mfcc() 函数的参数必须是什么。下面编写的代码是否指定了具有
我想提取以 8000 Hz 采样、帧大小为 20 毫秒和 10 毫秒重叠的音频文件的 mfcc 特征。 librosa.feature.mfcc() 函数的参数必须是什么。下面编写的代码是否指定了具有
我是一名优秀的程序员,十分优秀!