Skip to content
Back to skills

Audio Analysis

ASecurity

Inspect downloaded track waves or query APIs to analyze audio parameters like BPM, Key, Energy, and Valence.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 5, 2026
ai-agentspythongobashapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add Xuepoo/agent-lx-music --skill audio-analysis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Audio Analysis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Audio Analysis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/xuepoo-audio-analysis/badge)](https://www.skillsdirectory.com/skills/xuepoo-audio-analysis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: audio-analysis
description: "Inspect downloaded track waves or query APIs to analyze audio parameters like BPM, Key, Energy, and Valence."
version: 1.0.0
author: agent-lx-music project
license: MIT
metadata:
  hermes:
    tags: [music, analysis, bpm, key, signal-processing]
    related_skills: [agent-lx-music]
---

# Audio & Music Analysis Skill

## Overview

This skill guides AI agents in performing deep signal-processing analysis or metadata lookups on music tracks. By analyzing audio parameters such as **BPM (Beats Per Minute)**, **Musical Key / Scale (e.g. C Major, A Minor)**, and **energy metrics**, the agent can help users categorize playlists, match tempos for workouts or DJ sets, and explore composition structures.

---

## Technical Analysis Approaches

### Approach 1: Audio Metadata API Integration

Agents can query open music repositories (such as AcousticBrainz, Spotify Audio Features, or MusicBrainz) using song metadata to fetch precise pre-computed acoustic features.

```json
{
  "title": "晴天",
  "singer": "周杰伦",
  "bpm": 84,
  "key": "G Major",
  "valence": 0.52,
  "energy": 0.48,
  "danceability": 0.58,
  "time_signature": "4/4"
}
```

### Approach 2: Native Audio Waveform Extraction (CLI Signal Processing)

When the track is downloaded locally via `alx download <id>`, the agent can run local CLI signal processing tools (such as `aubio`, `ffmpeg`, or custom scripts using `librosa` / `essentia` / `madmom` models) to analyze the audio file.

#### 1. BPM / Tempo Detection

Identify the rhythmic rate of the song:

```bash
# Using aubio CLI tool to detect tempo (BPM) on downloaded track
aubiopitch -i "/path/to/song.mp3"
aubiotempo -i "/path/to/song.mp3"
```

#### 2. Key & Scale Detection

Analyze spectral pitch classes (chroma) to determine the tonic key:

```python
# Conceptual ESSENTIA key extractor Python script
import essentia.standard as es
loader = es.MonoLoader(filename="song.flac")
audio = loader()
key_extractor = es.KeyExtractor()
key, scale, strength = key_extractor(audio)
print(f"Key: {key} {scale} (Strength: {strength})")
```

---

## Agent Usage Patterns

### Pattern 1: Automatic Tempo-Matched Playlist

Build a playlist with songs matching a target BPM range (e.g. 120-130 BPM for jogging):

1. Query search cache or local music files.
2. Filter tracks matching the desired tempo.
3. Automatically load them into a running queue:

```bash
# Retrieve track metadata and filter for workout tempo (e.g. 125 BPM)
alx search "workout hits" --json | jq -r '.list[] | select(.bpm >= 120 and .bpm <= 130) | .id' | while read id; do
    alx queue add "$id"
done
```

### Pattern 2: Harmonious Transition Analysis

Advise the user on key matches (Camelot Wheel / Circle of Fifths) for smooth playlist progression:

- Track A (G Major / 9B) transitions harmoniously into Track B (D Major / 10B, C Major / 8B, or E Minor / 9A).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…