この記事の対象読者
- Claude Code(ターミナル版Claude)を使っている、または興味がある方
- AIエージェントの能力拡張(Agent Skills)に興味がある方
- コーディング作業中にBGMや効果音を自動生成したい方
- 前回の「ACE-Step 1.5」記事を読んで、さらに活用したい方
この記事で得られること
- Agent Skillsの概念: AIエージェントに新しい能力を追加する仕組みを理解できる
- ACE-Step Skillsの役割: Claude CodeやOpenAI Codexで音楽生成する方法を把握できる
- 実践的なセットアップ: ローカル環境でスキルを導入し、実際に音楽生成できる
- 活用パターン: 開発ワークフローに音楽生成を組み込むユースケースを学べる
この記事で扱わないこと
- ACE-Step 1.5モデル自体の詳細(前回記事参照)
- ComfyUIでの音楽生成ワークフロー
- MCP(Model Context Protocol)サーバーの詳細実装
1. ACE-Step Skillsとの出会い
「Claude Codeを使ってコード書いてるんだけど、ついでにBGMも作れたら最高なのに...」
2025年末、AnthropicはClaude Codeに「Agent Skills」という拡張機能を追加した。これはAIエージェントに新しい能力を追加できる仕組みで、SKILL.mdというMarkdownファイルで定義する。
そして2026年1月、ACE-Step開発チームがリリースしたのがACE-Step Skillsだ。
ACE-Step Skillsを一言で表すなら、「AIコーディングアシスタントに楽器を持たせる拡張パック」である。普段はコードを書いてくれるClaude Codeが、このスキルを読み込むと「音楽も作れる」ようになる。まるでプログラマーの隣に作曲家が座ってくれるような感覚だ。
ここまでで、ACE-Step Skillsがどんな存在なのか、なんとなくイメージできただろうか。次は、この記事で使う用語を整理しておこう。
2. 前提知識の確認
本題に入る前に、この記事で登場する用語を確認しておく。
2.1 Agent Skillsとは
2025年10月にAnthropicが発表したAIエージェント拡張の仕組み。SKILL.mdファイルを配置するだけで、Claude CodeやClaude.aiに新しい能力を追加できる。
特徴は「Progressive Disclosure(段階的開示)」で、Claudeはスキルの説明文(description)だけを最初に読み、必要になった時だけ詳細な指示を読み込む。これによりコンテキストウィンドウを節約しつつ、事実上無制限の能力を追加できる。
2.2 Claude Codeとは
Anthropicが提供するターミナルベースのコーディングアシスタント。VSCodeやJetBrains内で動くCopilotとは異なり、コマンドラインから直接Claudeと対話しながらコードを書ける。ファイル操作やシェルコマンド実行も可能な、より「エージェント的」なツールだ。
2.3 OpenAI Codex CLIとは
OpenAIが提供するコマンドラインコーディングアシスタント。Agent Skillsのオープンスタンダードを採用しており、Claude Code用のスキルがそのまま使える。
2.4 REST APIとは
HTTPプロトコルを使ってサービスと通信する仕組み。ACE-Step Skillsは、ローカルで動いているACE-Step APIサーバーにHTTPリクエストを送り、音楽生成を依頼する。
これらの用語が押さえられたら、ACE-Step Skillsの背景を見ていこう。
3. ACE-Step Skillsが生まれた背景
3.1 AIエージェントの「能力の壁」
LLMは多くのタスクをこなせるが、いくつかの操作は従来のコード実行の方が適している。例えば、リストのソートをトークン生成で行うよりソートアルゴリズムを実行する方が圧倒的に効率的だ。
同様に、音楽生成はLLMの得意分野ではない。テキストで「ドラムのビートを刻んで」と言われても、LLMは実際の音声を生成できない。ここに専門のモデル(ACE-Step)との連携が必要になる。
3.2 Agent Skillsオープンスタンダードの登場
2025年末、AnthropicはAgent Skillsの仕様をオープンスタンダードとして公開した。これにより:
| 特徴 | メリット |
|---|---|
| SKILL.md形式 | 単純なMarkdownで定義可能 |
| クロスプラットフォーム | Claude Code、OpenAI Codex、Copilotで共通 |
| コード実行可能 | スクリプトを同梱してエージェントに実行させられる |
ACE-Step SkillsはこのオープンスタンダードにVer.1で対応し、Claude CodeとOpenAI Codexの両方で使える音楽生成スキルとしてリリースされた。
背景がわかったところで、基本的な仕組みを見ていこう。
4. 基本概念と仕組み
4.1 アーキテクチャ全体像
ACE-Step Skillsのデータフローは以下のようになっている。
ユーザー「ポップスを作って」
↓
Claude Code(Agent Skills読み込み済み)
↓
acestep.sh スクリプト実行
↓
ACE-Step APIサーバー(localhost:8001)
↓
音楽ファイル生成 → acestep_output/
重要なのは、ACE-Step APIサーバーが別途起動している必要があるという点だ。スキル自体は「APIを叩く方法」を知っているだけで、実際の音楽生成はACE-Step 1.5本体が行う。
4.2 提供される2つのスキル
ACE-Step Skillsには2つのスキルが含まれている。
| スキル | 役割 | 主な機能 |
|---|---|---|
| acestep | 音楽生成 | Text-to-Music、歌詞生成、カバー、リペイント |
| acestep-docs | ドキュメント参照 | インストールガイド、GPU互換性、API仕様 |
4.3 スキルのディレクトリ構造
skills/
├── acestep/ # 音楽生成スキル
│ ├── SKILL.md # メインの指示ファイル
│ └── scripts/
│ ├── acestep.sh # API呼び出しスクリプト
│ └── config.json # 設定ファイル
└── acestep-docs/ # ドキュメントスキル
├── SKILL.md
├── getting-started/
│ ├── README.md
│ ├── Tutorial.md
│ └── ABOUT.md
├── guides/
│ ├── GRADIO_GUIDE.md
│ ├── INFERENCE.md
│ └── GPU_COMPATIBILITY.md
└── api/
├── API.md
└── Openrouter_API.md
基本概念が理解できたところで、実際にセットアップして動かしてみよう。
5. 実践:実際に使ってみよう
5.1 前提条件
以下が必要:
- Claude Code または OpenAI Codex CLI がインストール済み
- ACE-Step 1.5 がセットアップ済み(APIサーバーが起動できる状態)
- bashが使える環境(macOS/Linux、またはWSL)
5.2 環境別の設定ファイル
以下の3種類の設定を用意した。用途に応じて選択してほしい。
開発環境用(config.development.json)
{
"api_url": "http://127.0.0.1:8001",
"api_key": "",
"generation": {
"thinking": true,
"use_format": true,
"audio_format": "wav",
"vocal_language": "ja"
},
"debug": true,
"timeout": 300
}
本番環境用(config.production.json)
{
"api_url": "http://192.168.1.100:8001",
"api_key": "sk-your-production-key",
"generation": {
"thinking": true,
"use_format": true,
"audio_format": "mp3",
"vocal_language": "en"
},
"debug": false,
"timeout": 600
}
低スペックPC用(config.lowspec.json)
{
"api_url": "http://127.0.0.1:8001",
"api_key": "",
"generation": {
"thinking": false,
"use_format": false,
"audio_format": "mp3",
"vocal_language": "en"
},
"debug": false,
"timeout": 600
}
5.3 インストール手順
Step 1: ACE-Step APIサーバーを起動
まず、ACE-Step 1.5のAPIサーバーを起動しておく。
# ACE-Step 1.5ディレクトリで
cd ACE-Step-1.5
uv run acestep-api
# → http://localhost:8001 で起動
Step 2: スキルをインストール
# リポジトリをクローン
git clone https://github.com/ace-step/ace-step-skills.git
cd ace-step-skills
# Claude Code用(グローバル)
mkdir -p ~/.claude/skills
cp -r skills/acestep ~/.claude/skills/
cp -r skills/acestep-docs ~/.claude/skills/
# プロジェクト単位で使う場合
mkdir -p your-project/.claude/skills
cp -r skills/acestep your-project/.claude/skills/
Step 3: 設定ファイルを編集
# 設定ファイルを開く
vim ~/.claude/skills/acestep/scripts/config.json
{
"api_url": "http://127.0.0.1:8001",
"api_key": "",
"generation": {
"thinking": true,
"use_format": true,
"audio_format": "mp3",
"vocal_language": "ja"
}
}
5.4 基本的な使い方
Claude Codeでの利用
# Claude Codeを起動
claude
# 対話で音楽生成を依頼
> 明るいポップスを作ってください
# → acestepスキルが自動的に発動
# → acestep_output/ にファイルが生成される
コマンドラインでの直接利用
# ヘルスチェック
./scripts/acestep.sh health
# キャプションモードで生成
./scripts/acestep.sh generate "Pop music with guitar and piano"
# シンプルモード(LMが自動で補完)
./scripts/acestep.sh generate -d "春をテーマにした明るい曲"
# 歌詞付きで生成
./scripts/acestep.sh generate -c "Lyrical J-pop ballad" -l "[Verse]
桜が舞い散る季節に
あなたを思い出す
[Chorus]
変わらない想いを
この歌に込めて"
# ランダム生成
./scripts/acestep.sh random
# ジョブ状態確認
./scripts/acestep.sh status <job_id>
5.5 実行結果
上記のコマンドを実行すると、以下のような出力が得られる。
$ ./scripts/acestep.sh generate -d "春をテーマにした明るい曲"
[INFO] Connecting to ACE-Step API at http://127.0.0.1:8001
[INFO] Submitting generation job...
[INFO] Job ID: ace_20260204_123456
[INFO] Status: processing
[INFO] Waiting for completion...
[INFO] Status: completed
[INFO] Output saved to: acestep_output/ace_20260204_123456_1.mp3
[INFO] Metadata saved to: acestep_output/ace_20260204_123456.json
5.6 よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
Connection refused |
APIサーバー未起動 |
uv run acestep-api でサーバーを起動 |
401 Unauthorized |
APIキー不正 | config.jsonのapi_keyを確認 |
timeout |
生成時間超過 |
timeout値を増やす or durationを短くする |
SKILL not found |
スキル未インストール |
~/.claude/skills/にコピーされているか確認 |
jq: command not found |
依存コマンド不足 |
brew install jq or apt install jq
|
5.7 環境診断スクリプト
問題が発生した場合は、以下のスクリプトで環境を診断できる。
#!/bin/bash
# check_acestep_skills.sh
# 実行方法: bash check_acestep_skills.sh
echo "=== ACE-Step Skills 環境診断 ==="
# Claude Codeの確認
if command -v claude &> /dev/null; then
echo "✅ Claude Code: インストール済み"
else
echo "❌ Claude Code: 未インストール"
fi
# スキルディレクトリの確認
SKILL_DIR="$HOME/.claude/skills/acestep"
if [ -d "$SKILL_DIR" ]; then
echo "✅ acestepスキル: $SKILL_DIR に存在"
else
echo "❌ acestepスキル: 未インストール"
fi
# config.jsonの確認
CONFIG_FILE="$SKILL_DIR/scripts/config.json"
if [ -f "$CONFIG_FILE" ]; then
echo "✅ config.json: 存在"
API_URL=$(cat "$CONFIG_FILE" | grep -o '"api_url"[^,]*' | cut -d'"' -f4)
echo " API URL: $API_URL"
else
echo "❌ config.json: 未設定"
fi
# APIサーバーの確認
API_URL=${API_URL:-"http://127.0.0.1:8001"}
if curl -s "$API_URL/health" > /dev/null 2>&1; then
echo "✅ ACE-Step API: 起動中 ($API_URL)"
else
echo "❌ ACE-Step API: 未起動または接続不可"
fi
# jqの確認
if command -v jq &> /dev/null; then
echo "✅ jq: インストール済み"
else
echo "❌ jq: 未インストール (brew install jq)"
fi
echo "================================"
実装方法がわかったので、次は具体的なユースケースを見ていこう。
6. ユースケース別ガイド
6.1 ユースケース1: 開発中のBGM自動生成
想定読者: 個人開発でゲームやアプリを作っている方
推奨構成: Claude Code + acestepスキル
サンプルコード(Claude Codeでの対話例):
User: このゲームのタイトル画面用BGMを作って。
ファンタジーRPGで、神秘的で壮大な感じ。
ループ可能な30秒程度がいい。
Claude: acestepスキルを使って生成します。
[acestep.sh generate実行]
30秒のファンタジーRPG向けBGMを生成しました。
出力: acestep_output/ace_xxxxx_1.mp3
このファイルをゲームのアセットフォルダにコピーしますか?
6.2 ユースケース2: プレゼン用ジングル作成
想定読者: デモ動画やプレゼン資料を作成する方
推奨構成: コマンドライン直接実行
サンプルコード:
#!/bin/bash
# create_presentation_jingles.sh
# プレゼン用の短いジングルをまとめて生成
OUTPUT_DIR="./presentation_audio"
mkdir -p "$OUTPUT_DIR"
# オープニング用(5秒)
./scripts/acestep.sh generate \
-c "Corporate jingle, uplifting, modern" \
--duration 5 \
-o "$OUTPUT_DIR/opening.mp3"
# 場面転換用(3秒)
./scripts/acestep.sh generate \
-c "Transition sound, whoosh, tech feel" \
--duration 3 \
-o "$OUTPUT_DIR/transition.mp3"
# エンディング用(10秒)
./scripts/acestep.sh generate \
-c "Closing jingle, achievement, satisfying" \
--duration 10 \
-o "$OUTPUT_DIR/ending.mp3"
echo "生成完了: $OUTPUT_DIR/"
6.3 ユースケース3: CI/CDパイプラインでの自動生成
想定読者: 音楽を含むコンテンツを自動ビルドしたい方
推奨構成: GitHub Actions + ACE-Step APIサーバー(セルフホスト)
サンプルコード(GitHub Actions workflow):
# .github/workflows/generate-music.yml
name: Generate Background Music
on:
push:
paths:
- 'content/scenes/*.json'
jobs:
generate-music:
runs-on: self-hosted # ACE-Step APIが動くランナー
steps:
- uses: actions/checkout@v4
- name: Setup ACE-Step Skills
run: |
cp -r skills/acestep ~/.claude/skills/
- name: Generate music for new scenes
run: |
for scene in content/scenes/*.json; do
PROMPT=$(jq -r '.music_prompt' "$scene")
DURATION=$(jq -r '.duration' "$scene")
OUTPUT="assets/audio/$(basename "$scene" .json).mp3"
./scripts/acestep.sh generate \
-c "$PROMPT" \
--duration "$DURATION" \
-o "$OUTPUT"
done
- name: Commit generated audio
run: |
git add assets/audio/
git commit -m "Auto-generate music for scenes" || true
git push
ユースケースを把握できたところで、この先の学習パスを確認しよう。
7. 学習ロードマップ
この記事を読んだ後、次のステップとして以下をおすすめする。
初級者向け(まずはここから)
- Claude Codeをインストール - まずはClaude Codeを体験
- ACE-Step 1.5をセットアップ - APIサーバーを起動できる状態に
- acestepスキルを導入 - 本記事の手順に従う
中級者向け(実践に進む)
- カスタムスキルを作成 - SKILL.mdの書き方を学ぶ
- Anthropic Skills公式リポジトリを参照 - 高品質なスキルのパターンを学ぶ
- MCP(Model Context Protocol)サーバーとの連携を検討
上級者向け(さらに深く)
- Agent Skillsのベストプラクティス - Anthropicの公式エンジニアリングブログ
- OpenAI Codex CLIとのクロスプラットフォーム対応
- 独自の音楽生成ワークフローをスキル化して公開
8. まとめ
この記事では、ACE-Step Skillsについて以下を解説した。
- Agent Skillsの概念: SKILL.mdで定義する、AIエージェント拡張の仕組み
- ACE-Step Skillsの役割: Claude CodeやOpenAI CodexからACE-Step APIを呼び出す橋渡し
- 実践的なセットアップ: スキルのインストールからコマンドライン利用まで
私の所感
正直なところ、最初は「なぜわざわざスキルにする必要があるのか」と思った。直接APIを叩けばいいじゃないかと。
しかし実際に使ってみると、その価値がわかる。「音楽を作って」という自然言語の指示で音楽が生成されるという体験は、シェルスクリプトを手で叩くのとは次元が違う。
特に印象的なのは、Agent Skillsの「Progressive Disclosure」設計だ。必要な時だけ詳細な指示を読み込むことで、コンテキストウィンドウを節約しつつ、事実上無制限の能力を追加できる。これは今後のAIエージェント設計の標準になりそうだ。
ACE-Step Skillsは「AIエージェントがマルチモーダルな創作活動を行う」という未来の先駆けだと感じている。コードを書きながらBGMも作れる。イラストも生成できる。そんな「何でもできるAIアシスタント」の時代は、もうすぐそこまで来ている。
参考文献
- ACE-Step Skills GitHub - 公式リポジトリ
- ACE-Step 1.5 GitHub - 音楽生成モデル本体
- Anthropic Agent Skills - 公式スキルリポジトリ
- Agent Skills Documentation - Claude Code公式ドキュメント
- Equipping agents for the real world with Agent Skills - Anthropicエンジニアリングブログ(2025年10月)