问题标签 [signal-processing]

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 投票
3 回答
27819 浏览

c++ - 用于从 USB MIDI 设备读取 MIDI 信号的 C/C++ 库

我想编写从 MIDI 设备获取输入的 C/C++ 程序。

MIDI 设备使用 USB 连接器连接到我的 PC。

我正在寻找一个(C/C++ 实现的)库,我可以使用它通过 USB 端口从 MIDI 设备读取 MIDI 信号。

我很乐意在获得 MIDI 数据后对其进行操作,我只是不想实现捕获它的代码。

我打算在 Windows XP 上使用 Bloodshed Dev-C++ IDE 编写我的代码。

0 投票
6 回答
84621 浏览

algorithm - 什么是高通和低通滤波器?

图形和音频编辑和处理软件通常包含称为“高通滤波器”和“低通滤波器”的功能。这些到底是做什么的,实现它们的算法是什么?

0 投票
3 回答
17908 浏览

signal-processing - 需要软件锁相环示例代码

有谁知道我可以在任何地方找到软件锁相环 (SPLL) 的实际代码示例?

我需要一个 SPLL,它可以跟踪介于 1.1 KHz 和 1.3 KHz 之间的 PSK 调制信号。谷歌搜索带来了大量的学术论文和专利,但没有任何可用的。即使是去一趟大学图书馆,里面装满了关于硬件 PLL 的书,一本关于 SPLL 的书也只有一章,而且理论多于实践。

谢谢你的时间。

伊恩

0 投票
7 回答
22995 浏览

audio - 您如何分析 PCM 或 WAV 样本的基频?

我有一个样本保存在 DirectX 的缓冲区中。它是从乐器演奏和捕捉的音符样本。如何分析样本的频率(就像吉他调音器一样)?我相信涉及 FFT,但我没有指向 HOWTO。

0 投票
8 回答
44135 浏览

c# - 来自实时音频输入的每分钟节拍数

我想编写一个简单的 C# 应用程序来监视线路输入音频并给我当前(好吧,滚动平均)每分钟节拍。

我看过这篇 gamedev 文章,这绝对没有帮助。我经历并试图实施他正在做的事情,但它只是没有用。

我知道必须有大量的解决方案来解决这个问题,因为很多 DJ 软件都可以做到,但我没有找到任何开源库或自己做的说明。

0 投票
4 回答
37252 浏览

java - 对 Java 的 MP3/声音库有什么好的建议吗?

我正在寻找图书馆:

  • 读取和写入元数据(例如 mp3 和所有文件中的 ID3v2 标签)
  • 将压缩转换为原始音频数据,如果可能,将原始音频数据转换为 mp3、ogg、aac、...
  • 以数字方式处理音频数据(能量、音色、梅尔频率倒谱系数 - MFCC、FFT、LPC、自相关、小波……)

我已经知道并且不满足于:

  • JMF:来自 Sun,读取 mp3 并将其转换为 WAV。但不读取元数据,也不提供任何高级数字处理功能。
  • FMJ:具有相同限制的 JMF 的替代实现。
  • jAudio:不稳定,虽然有潜力,但目前维护得不好。
  • Marsyas:在数字处理中正是我所希望的,但在 C++ 中。也许一些端口/集成已经可用?
  • JID3:元数据的 API,但似乎已经死了(最后一个版本 2005/12/10)。
  • JLayer:用于阅读和播放的 API,也死了(最后更新 2004/11/28)。
  • MetaMusic : 程序的 API 很简洁,但没有官方的独立开源项目。因此没有社区,未来的支持和所有......
  • Light Dev:一些有趣的功能,但并不完整。

这是我自己的一些调查发现的。我将非常感谢所有的意见、建议、批评......

0 投票
6 回答
17621 浏览

signal-processing - 集成陀螺仪和加速度计读数

可能重复:
结合陀螺仪和加速度计数据

我已经阅读了很多关于Kalman filters.

我有一个系统,其中包含一个三轴加速度计和一个陀螺仪,用于测量围绕加速度计轴之一的旋转。该系统设计为由人手持,大部分时间陀螺仪将测量围绕重力矢量或接近重力矢量的旋转。(在同一行业工作的人可能会从中认出我在说什么;))我意识到这是不受约束的。

陀螺仪似乎具有近乎恒定的偏差,对于系统的每个实例都略有不同。当系统倾斜时,我将如何编写过滤器以使用加速度计读数来校准陀螺仪,因此陀螺轴与重力不共线,并且围绕陀螺轴旋转?似乎应该有足够的信息来做到这一点,但被告知没有,为什么也会是一个答案:)

0 投票
18 回答
37945 浏览

c - 如何在C中进行无符号饱和加法?

在 C 中编写饱和加法的最佳(最干净、最有效)的方法是什么?

如果总和溢出,函数或宏应添加两个无符号输入(需要 16 位和 32 位版本)并返回全位为一(0xFFFF 或 0xFFFFFFFF)。

目标是使用 gcc (4.1.2) 和 Visual Studio 的 x86 和 ARM(仅用于模拟,因此可以使用后备实现)。

0 投票
8 回答
3812 浏览

vba - VB FFT - 卡住理解结果与频率的关系

试图理解我正在使用的 fft(快速傅立叶变换)例程(窃取)(回收)

输入是一个包含 512 个数据点的数组,它们是一个样本波形。测试数据生成到这个数组中。fft 将此数组转换为频域。试图了解 fft 数组中频率、周期、采样率和位置之间的关系。我将举例说明:

=========================================

采样率为 1000 个样本/秒。以 10Hz 生成一组样本。

输入数组在 arr(28)、arr(128)、arr(228) 处具有峰值 ... 周期 = 100 个采样点

fft 数组中的峰值位于索引 6 处(不包括 0 处的巨大值)

=========================================

采样率为 8000 个样本/秒 以 440Hz 生成一组样本

输入数组峰值包括 arr(7), arr(25), arr(43), arr(61) ... period = 18 个采样点

fft 数组中的峰值位于索引 29 处(不包括 0 处的巨大值)

=========================================

如何将 fft 数组中的峰值索引与频率相关联?

0 投票
9 回答
131706 浏览

c# - C# 中快速傅里叶变换 (FFT) 的实现

在哪里可以找到免费、非常快速且可靠的 C# 中 FFT 实现?

那可以用在一个产品上吗?或者有什么限制吗?