mcpField
A
acestep

acestep

github.com/calesthioクリエイティブ・メディア73.0k1.1k 回インストール1 日前に更新
リポジトリ

acestep について

acestepは、RunPodのサーバーレスエンドポイント経由でACE-Step 1.5を使う音楽生成コマンドラインスキルです。動画制作者や音楽制作者向けに、プロンプトや歌詞からの生成、音楽パラメーター、シーンプリセット、スタイル変換、ステム分離に対応します。

主な機能

  1. 01プロンプトや歌詞からの音楽生成
  2. 02長さ、BPM、キーの指定
  3. 03動画シーン向けプリセット
  4. 04参照音源からのスタイル変換
  5. 05ボーカルと楽器ステムの分離
  6. 06反復生成向けのシード固定

活用シーン

  1. 01動画シーン用のBGM制作
  2. 02構成タグ付きの歌詞から曲を生成
  3. 03参照音源を基にしたバリエーション制作
  4. 04ミックス音源から楽器ステムを抽出

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/calesthio/openmontage --skill acestep

インストール後、Claude Code で/acestepを入力して読み込まれたか確認します。

詳細

ACE-Step 1.5 音楽生成

tools/music_gen.py によるオープンソースの音楽生成(MIT ライセンス)です。RunPod serverless 上で動作します。 .env に RUNPOD_API_KEY と RUNPOD_ACESTEP_ENDPOINT_ID が必要です(--setup を実行してエンドポイントを作成します)。

クイックリファレンス

# Basic generation
python tools/music_gen.py --prompt "Upbeat tech corporate" --duration 60 --output bg.mp3

# With musical control
python tools/music_gen.py --prompt "Calm ambient piano" --duration 30 --bpm 72 --key "D Major" --output ambient.mp3

# Scene presets (video production)
python tools/music_gen.py --preset corporate-bg --duration 60 --output bg.mp3
python tools/music_gen.py --preset tension --duration 20 --output problem.mp3
python tools/music_gen.py --preset cta --brand digital-samba --duration 15 --output cta.mp3

# Vocals with lyrics
python tools/music_gen.py --prompt "Indie pop jingle" --lyrics "[verse]\nBuild it better\nShip it faster" --duration 30 --output jingle.mp3

# Cover / style transfer
python tools/music_gen.py --cover --reference theme.mp3 --prompt "Jazz piano version" --duration 60 --output jazz_cover.mp3

# Stem extraction
python tools/music_gen.py --extract vocals --input mixed.mp3 --output vocals.mp3

# List presets
python tools/music_gen.py --list-presets

曲の作成(ステップごと)

1. インストゥルメンタルのバックグラウンドトラック(最も簡単)
python tools/music_gen.py --prompt "Upbeat indie rock, driving drums, jangly guitar" --duration 60 --bpm 120 --key "G Major" --output track.mp3
2. ボーカルと歌詞のある曲

歌詞は一時ファイルに書くか、インラインで渡します。構成タグを使って曲のセクションを指定します。

# Write lyrics to a file first (recommended for longer songs)
cat > /tmp/lyrics.txt << 'LYRICS'
[Verse 1]
Walking through the morning light
Coffee in my hand feels right
Another day to build and dream
Nothing's ever what it seems

[Chorus - anthemic]
WE KEEP MOVING FORWARD
Through the noise and doubt
We keep moving forward
That's what it's about

[Verse 2]
Screens are glowing late at night
Shipping code until it's right
The deadline's close but so are we
Almost there, just wait and see

[Chorus - bigger]
WE KEEP MOVING FORWARD
Through the noise and doubt
We keep moving forward
That's what it's about

[Outro - fade]
(Moving forward...)
LYRICS

# Generate the song
python tools/music_gen.py \
  --prompt "Upbeat indie rock anthem, male vocal, driving drums, electric guitar, studio polish" \
  --lyrics "$(cat /tmp/lyrics.txt)" \
  --duration 60 \
  --bpm 128 \
  --key "G Major" \
  --output my_song.mp3
3. 動画の背景にプリセットを使用する
python tools/music_gen.py --preset tension --duration 20 --output problem_scene.mp3
良い結果を得るための重要なヒント
  • キャプション=全体的なスタイル(ジャンル、楽器、雰囲気、制作品質)
  • 歌詞=時間的な構成(ヴァース/コーラスの流れ、ボーカルの歌い方)
  • 歌詞を大文字で書く=ボーカルの強度が上がります
  • 括弧=バックボーカル:「We rise (together)」
  • 自然なリズムにするには、1行あたり6〜10音節にします
  • キャプションでメロディーを説明しないでください — 音と雰囲気を説明します
  • --seed を使うと、プロンプトや歌詞を調整するときにランダム性を固定できます

シーンプリセット

プリセットBPMキー用途
corporate-bg110C Majorプロフェッショナルな背景、プレゼンテーション
upbeat-tech128G Major製品発表、テックデモ
ambient72D Major概要スライド、内省的なコンテンツ
dramatic90D Minor発表、告知
tension85A Minor問題提起、課題
hopeful120C Majorソリューションの発表、解決
cta135E Major行動喚起、締めくくりの盛り上がり
lofi85F Major画面録画、コーディングデモ

タスクタイプ

text2music(デフォルト)

テキストプロンプトと任意の歌詞から音楽を生成します。

cover

参照音声からのスタイル変換です。--cover-strength(0.0〜1.0)でブレンドを調整します。

  • 0.2 — ゆるやかなスタイルの参考(創造の自由度が高い)
  • 0.5 — バランスの取れたスタイル変換
  • 0.7 — 元の構成に近い(デフォルト)
  • 1.0 — 元音源への忠実度が最大
extract

ステム分離 — ミックス音声から個々のトラックを分離します。 トラック:vocals、drums、bass、guitar、piano、keyboard、strings、brass、woodwinds、other

repaint(今後対応予定)

既存の音声内の特定の時間区間を、残りの部分を維持しながら再生成します。

lego(今後対応予定、ベースモデルが必要)

既存の音声コンテキスト内で、個々の楽器トラックを生成します。

complete(今後対応予定、ベースモデルが必要)

指定した楽器を追加して、未完成の曲を延長します。

プロンプトエンジニアリング

キャプションの作成 — 要素の組み合わせ

単語ひとつだけで説明するのではなく、複数の描写要素を組み合わせてキャプションを書きます。

含める要素:

  • ジャンル/スタイル:ポップ、ロック、ジャズ、エレクトロニック、ローファイ、シンセウェーブ、オーケストラ
  • 感情/雰囲気:メランコリック、高揚感のある、夢のような、ノスタルジック、親密な、緊張感のある
  • 楽器:アコースティックギター、シンセパッド、808ドラム、ストリングス、ブラス、ピアノ
  • 音色:温かみのある、クリアな、軽やかな、力強い、豊かな、洗練された、生々しい
  • 時代:「80年代のシンセポップ」、「モダンインディー」、「クラシカルなロマン派」
  • 制作:ローファイ、スタジオ品質、ライブ録音、映画的
  • ボーカル:息づかいのある、力強い、ファルセット、かすれた、スポークンワード(または「インストゥルメンタル」)

良い例:「親密な女性ボーカルを伴う、ゆったりとしたメランコリックなピアノバラード。温かみのあるストリングスが力強いコーラスに向けて盛り上がり、スタジオ品質のプロダクション」 悪い例:「悲しい曲」

重要な原則
  1. 曖昧さより具体性を重視する — 楽器、雰囲気、制作スタイルを説明します
  2. 矛盾を避ける — 「クラシカルなストリングス」と「ハードコアメタル」を同時に指定しないでください
  3. 繰り返すと優先度が強調されます — 重要な要素を繰り返して強調します
  4. 簡潔なキャプションほど創造の自由度が高くなります — 詳細なキャプションはモデルの自由度を制限します
  5. BPM/キーにはメタデータのパラメーターを使います — キャプションに「120 BPM」と書かず、--bpm 120 を使います
歌詞のフォーマット

構成タグ(キャプションではなく、歌詞に使用):

[Intro]
[Verse]
[Chorus]
[Bridge]
[Outro]
[Instrumental]
[Guitar Solo]
[Build]
[Drop]
[Breakdown]

ボーカルの制御(行またはセクションの先頭に付けます):

[raspy vocal]
[whispered]
[falsetto]
[powerful belting]
[harmonies]
[ad-lib]

エネルギーの目安:

  • 大文字 = 強いエネルギー("WE RISE ABOVE")
  • 括弧 = バックボーカル("We rise (together)")
  • 自然なリズムにするため、セクション内の各行は6~10音節にします

例 — テック製品のジングル:

[Verse]
Build it better, ship it faster
Every feature tells a story

[Chorus - anthemic]
THIS IS YOUR PLATFORM
Your vision, your stage
Digital Samba, every page

[Outro - fade]
(Build it better...)

動画制作との統合

シーンタイプ別の音楽
シーンプリセット長さ備考
タイトルdramatic または ambient3-5s短く、ムードを演出
問題tension10-15s暗く、不穏
解決策hopeful10-15s安堵感、楽観的
デモlofi または corporate-bg30-120s邪魔にならず、デモの長さに合う
統計upbeat-tech8-12s信頼感を高める
CTActa5-10s最大限のエネルギー、力強さ
クレジットambient5-10s穏やかなフェードアウト
タイミングのワークフロー
  1. まずシーンの長さを計画します(ナレーションの台本をもとにします)
  2. 長さを合わせて音楽を生成します:--duration <scene_seconds>
  3. 音楽の長さは正確です(指定した長さとの差は0.1秒以内です)
  4. 複数のシーンにまたがるBGMには、1つの長いトラックを生成します
ナレーションとの組み合わせ

Remotionでは、BGMの音量を10~20%にミックスします:

<Audio src={staticFile('voiceover.mp3')} volume={1} />
<Audio src={staticFile('bg-music.mp3')} volume={0.15} />

ナレーションの下に流す音楽には、インストゥルメンタルのプリセット(corporate-bg、ambient、lofi)を使用します。 音楽を前面に出すシーン(タイトル、CTA)では、音量を上げるか、ボーカルトラックを使用できます。

ブランドの一貫性

--brand <name> を使用すると、brands/<name>/brand.json からヒントを読み込みます。 --cover --reference brand_theme.mp3 を使用すると、ブランドのサウンドアイデンティティのバリエーションを作成できます。 プロジェクト全体でサウンドを統一するには、シード(--seed 42)を固定し、長さまたはプロンプトのみを変更します。

技術的な詳細

  • 出力:48kHzのMP3/WAV/FLAC
  • 長さの範囲:10~600秒
  • BPMの範囲:30~300
  • 推論:GPUでは約2~3秒(turbo、8ステップ)、Mac MPSでは約40~60秒
  • Turboモデル:8ステップ、CFG不要。高速で高品質
  • Shiftパラメーター:turboでは3.0を推奨(品質が向上します)
ACE-Stepを使用しないケース
  • ボイスクローニング — 代わりにQwen3-TTSまたはElevenLabsを使用します
  • 効果音 — ElevenLabs SFX(tools/sfx.py)を使用します
  • 音声/ナレーション — 音楽生成ではなく、ナレーションツールを使用します
  • 動画からのステム抽出 — まずFFmpegで音声を抽出し、その後--extractを使用します

コメント