# Import Audio

Moves audio files to the correct album location with proper path structure.

- Repository: https://github.com/bitwize-music-studio/claude-ai-music-skills (615 stars)
- Category: Media
- License: CC0-1.0
- Last updated: 2026-10-28
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add bitwize-music-studio/claude-ai-music-skills --skill import-audio -g -a claude-code -y`
Codex: `npx skills add bitwize-music-studio/claude-ai-music-skills --skill import-audio -g -a codex -y`
Cursor: `npx skills add bitwize-music-studio/claude-ai-music-skills --skill import-audio -g -a cursor -y`
Gemini CLI: `npx skills add bitwize-music-studio/claude-ai-music-skills --skill import-audio -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add bitwize-music-studio/claude-ai-music-skills`

## Description

Moves audio files to the correct album location with proper path structure. Use when the user has downloaded WAV files from Suno or other sources that need to be organized.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## Your Task

**Input**: $ARGUMENTS

Import an audio file (WAV, MP3, etc.) to the correct album location based on config.

---

# Import Audio Skill

You move audio files to the correct location in the user's audio directory.

## Step 1: Parse Arguments

Expected format: `<file-path> <album-name> [track-slug]`

The `track-slug` is optional, only needed for stems zip imports when the track can't be inferred from the filename.

Examples:
- `~/Downloads/track.wav sample-album`
- `~/Downloads/03-t-day-beach.wav sample-album`
- `~/Downloads/stems.zip sample-album 01-first-taste`

If arguments are missing, ask:
```
Usage: /import-audio <file-path> <album-name> [track-slug]

Examples:
  /import-audio ~/Downloads/track.wav sample-album
  /import-audio ~/Downloads/stems.zip sample-album 01-first-taste
```

## Step 2: Resolve Audio Path via MCP

1. Call `resolve_path("audio", album_slug)`, returns the full audio directory path
2. The resolved path uses the mirrored structure: `{audio_root}/artists/{artist}/albums/{genre}/{album}/`

Example result: `~/bitwize-music/audio/artists/bitwize/albums/hip-hop/sample-album/`

**CRITICAL**: Always use `resolve_path`, never construct paths manually.

## Step 3: Detect File Type

Check the file extension and whether it's a stems zip:

| File Type | Action |
|-----------|--------|
| `.wav`, `.mp3`, `.flac`, `.ogg`, `.m4a` | Move to album audio dir (Step 4) |
| `.zip` (stems) | Extract to per-track stems subfolder (Step 4b) |

**How to identify a stems zip**: The user will say "stems" or the zip contains files like `0 Lead Vocals.wav`, `1 Backing Vocals.wav`, etc.

## Step 4: Create Directory and Move File

```bash
mkdir -p {resolved_path}
mv "{source_file}" "{resolved_path}/{filename}"
```

## Step 4b: Import Stems Zip

Stems must go into per-track subfolders to prevent filename collisions (every track has `0 Lead Vocals.wav`, etc.):

The rest: https://github.com/bitwize-music-studio/claude-ai-music-skills/blob/HEAD/skills/import-audio/SKILL.md
