aiXander/Realtime_PyAudio_FFT
Realtime audio analysis in Python to extract audio features from streaming audio and send them over OSC to any client app.
解决的问题
该项目为实时音频输入(如麦克风或声卡)与创意应用程序之间提供了一个低延迟桥梁。它解决了将处理过的、“即用型”音频数据(如节拍触发器、频带和节奏)导入 VJ 软件、游戏引擎或自定义脚本的问题,而无需在这些应用程序中编写复杂的信号处理代码。
工作原理
服务器捕获原始音频,并使用 NumPy 和 SciPy 在优化的工作线程中执行所有繁重的信号处理任务,包括滤波、FFT 分析和起始检测。然后,它通过两种方式广播此数据:
- OSC (Open Sound Control): 用于实时性能工具的高速、低延迟流。
- WebSockets: 一个双向通道,允许您从基于浏览器的 UI 控制设置(如频带范围或灵敏度),同时接收数据更新。
适用人群
它专为需要将视觉效果或游戏逻辑与实时音频同步的创意编码人员、VJ 和开发人员设计。对于想要“即插即用”音频特征源,且即使在 Raspberry Pi 等低功耗硬件上也能保持快速运行的 TouchDesigner、Max/MSP、Unity 或 p5.js 用户来说,它是理想的选择。
亮点
- 低延迟: 目标端到端延迟为 8–15 ms。
- 即用型特征: 输出自动缩放的频带能量(低/中/高)、用于底鼓/军鼓/镲片的起始触发器以及计算出的 BPM。
- 基于浏览器的控制: 包含一个 UI,用于实时调整滤波器、保存预设和切换设置。
- 高效: 使用无分配回调和向量化 C 优化路径,确保音频线程在高负载下保持稳定。
相关
- 项目
- 项目
- 项目
- 项目