问题标签 [spectrogram]
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.
matlab - matlab中的音频模式匹配
有人可以在matlab中给我一个关于这个问题的想法吗?
我有 4 个包含鸟鸣的 .wav 文件。每个 .wav 文件代表不同的鸟。给定一个输入 .wav 文件,我需要确定它是哪只鸟。我知道我必须进行频谱比较才能找到解决方案。但不太清楚我应该如何使用频谱图来帮助我到达那里。
PS我知道频谱图是怎么做的,并且已经用它绘制了很多.wav文件
matlab - Matlab中的频谱图(窄带,宽带)代码
我想要演示频谱图、窄带和宽带的代码。
我知道有一个功能'specgram'。
但我的问题是,窄带和宽带频谱图中参数“window”、“nooverlap”和“nfft”的值应该是多少。
信号和 fs 将来自
其他人呢?
c# - 将值 [0.0-1.0] 映射到颜色增益
我需要将 0.0 到 1.0 的值转换为它们的颜色表示(每个值都是一个像素)。我正在制作频谱图,因此像素应该越高,值越高(如下图所示)。
我怎样才能做到这一点?我在 C# 中工作,但一个普遍适用的解决方案也很好。
例子:
matlab - 在 MATLAB 中将频谱图另存为图像
我正在使用MATLABspectrogram()
中的函数分析一些声音片段。我想将频谱图保存为图像(jpg、png 等)。但无论我以何种图像格式保存图形,生成的图像总是看起来与我在图中看到的不同(“参差不齐”)。
这是频谱图的示例:Matlab Figure vs. Saved Image
我想要的只是将我在图中看到的内容准确地保存为图像。我已经尝试将图形保存为所有可能的图像格式,但它们都产生了相同的“斑点”效果。我还尝试了手动保存(单击文件->另存为)和以编程方式使用print()
和saveas()
函数。每次都是一样的结果。
任何帮助,将不胜感激!
python - 如何以与 pylab 的 specgram() 相同的方式绘制频谱图?
在 Pylab 中,该specgram()
函数为给定的幅度列表创建频谱图,并自动为频谱图创建一个窗口。
我想生成频谱图(瞬时功率由 给出Pxx
),通过在其上运行边缘检测器对其进行修改,然后绘制结果。
问题是,每当我尝试Pxx
使用imshow
or绘制修改后的内容时,都会NonUniformImage
遇到以下错误消息。
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/image.py:336:用户警告:非线性轴不支持图像。warnings.warn("非线性轴不支持图像。")
例如,我正在处理的部分代码如下。
实际问题
如何使用 matplotlib/pylab 绘制具有对数 y 轴的类图像数据?
matlab - 频谱图 Matlab
我在matlab中有以下代码:
现在我必须使用函数谱图并绘制它(我必须为函数谱图提供以下参数:Sound 和 Fs,并且该函数应该返回一个具有信号频率组合的向量和一个具有频率的向量计算组成)。
我的疑问是:我如何使用这些规范的功能?有人能帮我吗?
matlab - 从频谱图中查找峰值
现在我需要找到 S 中幅度的最高 3 个峰值(在频率 0 和 1000、1000 和 2000 和 > 2000 之间),为此,我执行以下操作:
假设我现在拥有我需要的所有最大 3 安培,我现在需要找到相应的频率,我该怎么做?
编辑: S 和 F 有不同的长度
ios - 当不知道最大值时,iOS如何为热/冷光谱图选择颜色?
我正在查看 aurio touch 声波图示例,并看到它显示不同的 FFT 频带,具体取决于它们的大小,颜色范围从蓝色到紫色到红色到白色。没有声音时,图表为黑色。对于低强度的声音,不同的频段显示蓝色。当声音幅度增加时,颜色会变得“更热”——变成红白热。这有助于用户轻松查看正在发生的事情。
我需要有关如何实现类似颜色编码算法的建议,而无需确切知道信号的最大幅度。
我试图创造类似的东西,但到目前为止取得的成功有限。这是我正在使用的代码:
预先计算不同大小的 FFT 的颜色
我遇到的问题是我不知道我将要查看的信号的最大幅度是多少。它变化很大——从 12000 到 50000。如果我尝试调整我的颜色映射,结果要么太暗,要么太亮,而且没有真正的描述性。
这就是我试图区分不同幅度带的方法。我真的希望低端(低于 4000)出现并在其他乐队中可见。
谁能建议一种颜色映射算法的实现,它看起来更接近 AurioTouch 的冷热示例?
这是我的代码显示的内容:
c# - 在 C# 中绘制 Spectrogram STFT,我可以使用什么函数?
假设我有 STFT(短时傅立叶变换)数据,这些数据如何在图片框中显示为频率与时间的频谱图,我可以使用 C# 中的什么函数?
c++ - 为什么减少窗口长度会导致频谱图中出现空行?
我正在尝试在 Qt 中为声音数据绘制正确的频谱图。现在我可以绘制一个漂亮的频谱图,其 fft 窗口长度为 1024,重叠数据长度为 976。但通常使用小窗口长度来绘制频谱图,例如 256,这会给我一个更好的时间分辨率。但是当我将窗口长度减少到 256 时,我在频谱图中得到了空行。我知道减少窗口长度会导致 FFT 的频率分辨率较低,但为什么其他程序的频谱图中没有任何空行。我做错了什么还是这个结果正常?
以下是我用来获取频谱图的主要步骤: - 从声音文件中获取数据。-FFT 在第一个窗口(汉宁)。- 将复数 fft 输出转换为幅度数组(幅度 = sqrt(re^2 + im^2)) - 将幅度转换为对数刻度(dB)幅度_dB = 20*log10(幅度) - 通过缩放绘制频谱图的第一列将光谱数据固定到列中 - 将窗口移动 48 个样本,以进行下一步操作..
您可以在这些屏幕截图上看到问题: 窗口长度 1024 窗口长度 256
(顺便说一句,我的目标是制作一个可以从语音数据中识别音素的程序。使用 FFTW 库)
我非常感谢您能提供的任何帮助。