SuperAPI AI 工具集

audio-analyzer

数据与分析

查看项目

更新于 10-15 21:10

技能介绍

用途:分析音频文件,提取节奏、调性、频率内容与响度指标,并生成可视化图表和报告,适合音乐分析、播客质量检查与批量音频处理。

主要能力:BPM 与节拍检测(含置信度、节拍位置);调性识别(根音与大小调、置信度);频率分析(主频、频段能量、频谱质心与滚降);响度指标(RMS、峰值、LUFS、动态范围、波峰因数);可视化波形、频谱图、色谱图、节拍网格及组合仪表盘;结果可导出 JSON 报告、PNG/SVG 图表与文本摘要。

使用方式(Python): from scripts.audio_analyzer import AudioAnalyzer analyzer = AudioAnalyzer("song.mp3") analyzer.analyze() results = analyzer.get_results() 可单独调用 analyze_tempo、analyze_key、analyze_loudness、analyze_frequency、analyze_dynamics,或 plot_waveform、plot_spectrogram、plot_chromagram、plot_beats、plot_dashboard,以及 save_report("analysis_report.json")。

命令行用法示例: python audio_analyzer.py --input song.mp3 --output-dir ./analysis/ python audio_analyzer.py --input song.mp3 --plot spectrogram --output spec.png python audio_analyzer.py --input-dir ./songs/ --output-dir ./reports/ 支持 --analyze(tempo、key、loudness、frequency、all)、--format(json、txt)、--sr(默认 22050)等参数。

适用场景:音乐曲目分析与 DJ 排序、播客响度标准检查、批量音频报告生成。

限制:调性检测对旋律内容效果更好,纯鼓/打击乐准确度较低;自由节奏或复杂拍号的 BPM 检测可能困难;小于 5 秒的片段准确度下降;LUFS 计算为简化版本,并非完整 ITU-R BS.1770-4。依赖 librosa、soundfile、matplotlib、numpy、scipy。