问题标签 [spectrum]

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 投票
4 回答
19557 浏览

mp3 - 通过频谱分析检测 MP3 比特率

是否有任何程序可以检测 MP3 的比特率?我不是在谈论文件已编码的有效比特率,而是只能通过频谱分析才能计算出的真实比特率。

例如,如果我有一个以 128 kbps 编码且大小为 1 MB 的 MP3,然后我将此 MP3 转码为大小变为 3 MB 的 320 kpbs,我将拥有相同的音轨,但大小不同。

如果我有一个 320 kbps 的 MP3 并将其转码为 128 kbps,我会损失一些质量,因此会损失一些文件大小。

但是,我仍然无法验证 320 kbps 是我的 MP3 的“真实”比特率。

本文解释了详细信息: http ://www.fileden.com/files/2009/2/14/2321055/My%20Documents/MP3%20Bit%20Rate%20Quality%20Detection%20through%20Frequency.pdf

0 投票
2 回答
1191 浏览

audio - 从哪里开始学习音频处理?

我已经尝试查找如何解决这个问题一段时间了,也许我在搜索中使用了错误的术语,或者它对我来说太高级了。我基本上希望能够实时分析音频文件。我对音频处理几乎一无所知,所以我可能应该从小事做起,逐步提高。最终,我希望能够实时显示与音频播放相关的功率(或频率?)频谱。基本上就像 WinAmp 频谱图(术语?)

任何可能包含一两个 API 建议的在线教程都将不胜感激。我发现了一些模糊的解释(主要是处理计算 FFT 然后将它们转换为某种东西......)就像我说的,我对音频处理知之甚少,所以知道从哪里开始会很棒。

选择语言:C++

0 投票
4 回答
1610 浏览

transform - 傅里叶级数变换恢复原始信号

假设我有三个复杂的波形(由许多正弦波组成):A、B 和 C。每个波形都有以下频率:分别为 550、600、700 Hz。

现在我将三个信号相加,即叠加得到信号 D。

我的目标是分别取回三个原始信号 A、B 和 C。

我已经绘制了傅里叶光谱,其中我得到了 550、660 和 700 Hz 的主峰。还有其他较小的峰。我如何知道哪些峰值与哪些波形相关联,以便我可以重新创建原始波形 A、B 和 C?谢谢你。

0 投票
4 回答
229 浏览

search - 在一组图像中找到最丰富多彩的图像

给定一组图像,按照哪些图像最完整地覆盖全色谱的顺序对它们进行评分?

更新我已经发布了一个姊妹问题,它是一种方法的抽象,在“最“彻底”的圆点分布“。

0 投票
1 回答
38476 浏览

c++ - 如何在 C++ 中使用 fft 生成音频频谱?

我想生成一个 mp3 音频文件的音频频谱(如本视频所示)。基本上这个问题需要计算音频信号的fft。如何在 C/C++ 中进行编程?

我查看了几个开源库,例如FFTW,但我真的不知道如何使用它们来解决我的问题。任何帮助将不胜感激。提前致谢!

0 投票
1 回答
902 浏览

xmpp - 将名称空间添加到 ejabberd 服务器

我正在使用 ejabberd-2.1.2 服务器。如何将新的名称空间添加到现有的 ejabberd 服务器。我想添加名称空间 ('http://jabber.org/protocol/rosterx') XEP-0144 名册项目交换。

谢谢,萨蒂。

0 投票
1 回答
6491 浏览

android - Android 的 FFT 输出(Visualiser)的频谱不好?

我有一些关于 FFT 的问题(实际上我相信这更多是关于 Visualizer.getFFT() 的 Androids FFT-Output)。

我已经为 Android 创建了一个具有自己的库功能的音乐播放器,包括很多东西(如流派、动态播放列表和可视化)。目前,在渲染当前音频流的频谱时,我创建的可视化效果有些问题。

我已经阅读了以下问题(和答案)以了解 Android FFT:

我应该从 getFft 看到什么样的输出?

Android 2.3 Visualizer - 无法理解 getFft()

现在到我的问题:我从 getFFTs 系数得到的频谱似乎有点“奇怪”。我注意到我渲染的频谱在播放歌曲时似乎显示了很多“噪音”,所以我尝试使用一些测试声音。其中之一是一个简单的 8khz 声音,它应该只在图中产生一个峰值。不幸的是,结果如下所示:

http://img4.imageshack.us/img4/4181/spectrum8khz.png

出现在底部的噪音在整个图形的宽度上闪烁。高杆保持在原位,仅在幅度上略微闪烁。

当我使用从 1kHz 到 20kHz 缓慢移动的测试声音时,它看起来像以下(大约 2-3kHz):

http://img846.imageshack.us/img846/7373/spectrum3khz1khz20khz.png

山峰从左到右移动,每个山峰都快一点,所以随着时间的推移,山峰之间的距离会增加。不可见的是,一旦它们离开右侧的屏幕(但幅度较小),峰就会回来并从右到左移动。此外,所有峰在屏幕的 0.5 多一点处连接到一个大峰。

这是我用来检索数据的代码:

在上面的代码中,我的 mRawSpecData 是 Visualisers getFFT() 函数的结果。捕获数据的长度为 1024。目前斜率从 1 开始,因为 mRawSpecData[0] 包含 DC,mRawSpecData[1] 包含 n/2。

为了解决我的问题,我还尝试摆弄频率箱的 DC 和相位。想也许我必须对幅度应用一些计算来“清理”图表。但我没有成功(也许是因为我根本不了解 DC/phase 的情况!)。

我花了两周的时间在晚上搜索谷歌并尝试不同的计算,但没有任何帮助。

那么交易是什么?我做错了什么还是遗漏了什么?在那之后,另一个困扰我的问题是如何正确缩放幅度。我的目标是获得 0f 和 1f 之间的值。

非常感谢

横冲直撞

PS:屏幕截图是通过 eclipse 从运行 Android 2.3 的手机上截取的。

PPS:我还检查了其他各种播放器(如 winamp)的声音,我看到了频谱的正确行为。

0 投票
2 回答
1414 浏览

objective-c - 检测音频频谱

我正在编写一个音频可视化应用程序,它将检测歌曲的低频、中频和高频。我在谷歌上无休止地寻找,似乎找不到任何东西,Apple 开发人员文档似乎都以标准方式显示音频使用。

理想情况下,我只是在寻找一个目标 C 函数。

0 投票
3 回答
6902 浏览

algorithm - 通过分析音频频谱进行节奏检测

我正在构建一个基于节奏的游戏,并且在节奏检测方面面临很多问题。我收到正在播放的歌曲的当前频谱。它看起来像一个具有 512 个浮点数的浮点数组。256 用于左右声道表示。FFT 也可用。但我不知道如何处理这些数据,我已经做了一些可视化实验,但它给我的信息很少。我已经搜索了一些现成的算法,但什么都没有。拜托,有人可以帮我提供一些与节奏检测相关的参考资料、材料、文章,以及使用音频频谱。代码也会很有帮助。谢谢。

0 投票
0 回答
663 浏览

iphone - 使用 fft iphone 应用程序进行音频处理

可能重复:
用于乐器调谐器的 AurioTouch 和 FFT

我正在开发一个应用程序,我需要在其中对传入的音频进行频谱分析。我是新手,我唯一知道的是我需要使用 FFT。我查看了 aurio touch 应用程序,但无法理解。如果有人有示例代码或简单的方法让我可以做到,请告诉我。提前致谢。