Token导航 LogoToken导航TokenDH.com
研究检索只读clawhub未标认证来源可访问clear审计通过

audio-quality-check音频质量检查

Agent Skill

用于辅助音频、音乐、语音转写、语音合成或声音素材处理。它适合让 Agent 生成配乐说明、整理音频流程、调用语音工具或处理播客和视频配音素材。使用时需要确认输入音频来源、输出格式、时长和模型限制;涉及人声克隆、版权音乐或公开发布时,应先核对授权和合规边界。

总安装

3,041

周安装

123

GitHub Stars

公开资料未说明

下载量

954
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:audio-quality-check(音频质量检查)
来源仓库:https://github.com/tenequm/audio-quality-check
安装命令:
openclaw skills install audio-quality-check
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install audio-quality-check

简介

专业级录音质量检测工具,分析回声、响度和语音清晰度。

  • 提供SNR信噪比、频谱分布等多维度质量评估指标。
  • 自动识别常见问题并提供改进建议,适合直播和会议场景。
  • 需配合标准测试音频验证检测准确性,定期校准设备。
  • audio-quality-check 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
audio-quality-check
description
Analyze audio recording quality - echo detection, loudness, speech intelligibility, SNR, spectral analysis. Use when the user wants to check a recording's quality, detect echo or duplication in audio files, measure speech clarity, compare original vs processed audio, diagnose why a recording sounds bad, or analyze audio tracks from Blackbox or any call recording app. Triggers on audio quality, recording analysis, echo detection, check recording, sound quality, analyze audio, speech quality, PESQ, STOI, loudness, SNR, audio diagnostics, recording sounds bad, echo in recording, audio duplication.
metadata
version
0.1.1

Audio Recording Quality Analyzer

Comprehensive audio quality analysis for call recordings. Handles dual-track M4A files (system audio + mic), single-track recordings, and AEC-processed files.

Quick Start

Run the bundled analysis script on a recording directory:

python <skill-path>/scripts/analyze_recording.py "/path/to/recording/directory"

Modes for focused analysis:

python <skill-path>/scripts/analyze_recording.py /path --tracks   # track info only
python <skill-path>/scripts/analyze_recording.py /path --echo     # echo detection only
python <skill-path>/scripts/analyze_recording.py /path --quality  # quality metrics (skip echo)

For Blackbox recordings, the directory is typically: ~/Library/Application Support/Blackbox/Recordings/<timestamp-id>/

Dependencies

System: ffmpeg, ffprobe (brew install ffmpeg) Python: numpy, soundfile, scipy, pyloudnorm, pesq, pystoi, librosa

Install all Python deps: pip3 install numpy soundfile scipy pyloudnorm pesq pystoi librosa

What Each Metric Tells You

EBU R128 Loudness (pyloudnorm)

  • What: Perceptual loudness in LUFS (Loudness Units Full Scale)
  • Target: -16 to -24 LUFS for speech
  • Watch for: AEC/post-processed tracks being significantly louder than originals (indicates the processing is amplifying without normalizing)

Echo Detection - Autocorrelation

  • What: Detects delayed copies of the signal within a single track by correlating the signal with itself at various time offsets
  • How to read: Peaks in the 20-100ms range with correlation > 0.3 indicate signal duplication. The lag tells you the delay of the duplicate copy
  • Key insight: If you see a consistent peak at the same lag across multiple time segments, that's a systematic duplication (e.g., a virtual audio processor like Krisp introducing a delayed copy at ~53ms)
  • Normal values: Peaks below 0.15 are typically speech pitch harmonics (harmless). Peaks above 0.3 at consistent lags are echo

Cross-Track Correlation

  • What: Measures how much one track's content appears in another (e.g., system audio bleeding into the mic track)
  • How to read: Values near 0 mean no bleed. Values above 0.1 indicate the mic is picking up system audio
  • Coherence: Frequency-domain version of the same test. Voice-band coherence (300-3400Hz) is most relevant for speech echo

PESQ - Speech Quality (requires reference + degraded)

  • What: ITU-T P.862 standard. Gives a MOS (Mean Opinion Score) comparing a degraded signal against a reference
  • Scale: 1.0 (bad) to 4.5 (excellent). NB = narrowband (phone quality), WB = wideband
  • Use for: Comparing AEC-processed mic vs original mic to see if processing helps or hurts
  • Thresholds: 4.0+ excellent, 3.0+ good, 2.5-3.0 fair, <2.5 poor

STOI - Speech Intelligibility (requires reference + degraded)

  • What: Short-Time Objective Intelligibility. Measures how understandable speech remains after processing
  • Scale: 0.0 to 1.0
  • Thresholds: >0.8 good, >0.6 fair, <0.6 poor
  • Key insight: If STOI drops significantly between original and processed, the processing is degrading intelligibility

Spectral Analysis (librosa)

  • Centroid: Average frequency weighted by amplitude. Higher = brighter/harsher audio
  • Rolloff (85%): Frequency below which 85% of spectral energy sits. Lower = more bass-heavy
  • Zero-crossing rate: How often the signal crosses zero. Higher = noisier signal. Speech is typically 0.05-0.20; values above 0.30 suggest significant noise

SNR - Signal-to-Noise Ratio

  • What: Ratio of speech energy to background noise energy (estimated via energy-based VAD)
  • Thresholds: >20dB excellent, >15dB good, >10dB fair, <10dB poor
  • Note: This measures background noise, not echo. A recording can have excellent SNR but still have echo problems

Per-Minute Energy

  • What: RMS energy and voice-band energy per minute of recording
  • Use for: Spotting segments that went silent (mic cut out), got unexpectedly loud (clipping risk), or had activity patterns that help identify when speakers were active

Manual Analysis Recipes

When you need analysis beyond what the script provides, these patterns are useful.

Extract individual tracks from dual-track M4A

ffmpeg -y -i audio.m4a -map 0:0 -ac 1 -ar 16000 /tmp/system.wav
ffmpeg -y -i audio.m4a -map 0:1 -ac 1 -ar 16000 /tmp/mic.wav

Quick loudness check with sox

sox audio.wav -n stat 2>&1

Check specific time range for echo (Python)

import numpy as np
import soundfile as sf
from scipy import signal

data, sr = sf.read('/tmp/system.wav')
# Analyze 5 seconds starting at 2 minutes
start = 120 * sr
seg = data[start:start + 5*sr]
seg_norm = seg / (np.max(np.abs(seg)) + 1e-10)
autocorr = np.correlate(seg_norm, seg_norm, mode='full')
mid = len(seg_norm) - 1
autocorr = autocorr / autocorr[mid]
# Check 20-100ms range for echo peaks
min_lag = int(0.020 * sr)
max_lag = int(0.100 * sr)
region = autocorr[mid + min_lag:mid + max_lag]
peaks, props = signal.find_peaks(region, height=0.1)
for i, p in enumerate(peaks[:5]):
    lag_ms = (p + min_lag) / sr * 1000
    print(f"  Peak at {lag_ms:.1f}ms, r={props['peak_heights'][i]:.3f}")

Common Issues and What Causes Them

SymptomLikely causeWhat to check
Speakers sound slightly doubled/echoedVirtual audio processor (Krisp) creating delayed copy in system audioAutocorrelation: consistent peak at 40-60ms
Mic track has remote speakers' voicesAcoustic echo (speakers to mic)Cross-track correlation > 0.1
AEC-processed file sounds worseDTLN-aec degrading signal qualityPESQ/STOI comparing original vs processed
AEC-processed file is too loudMissing loudness normalization after processingLoudness: processed > -10 LUFS
Recording has hiss/noiseLow SNR, noisy mic, or AGC artifactsSNR < 15dB, high zero-crossing rate
Quiet segments mid-recordingMic cut out or device changedPer-minute energy: sudden RMS drop

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

75.38%
按下载量换算719

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills