MCP HubMCP Hub
SKILL·0F29EF

text-to-music

NoizAI
更新日 15 days ago
8 閲覧
526
78
526
GitHubで表示
メタgeneral

について

このスキルは、テキストの説明や歌詞からボーカル付きの完全な楽曲を生成し、新しいスタイルでのカバーバージョンを作成できます。オリジナル曲、ジングル、スタイル転送のリクエストに対応しますが、インストゥルメンタルトラックや効果音の作成は行いません。ユーザーが歌詞を音楽に変えたり、既存の楽曲をリメイクしたり、プロンプトからボーカルベースのオーディオを制作したい場合にご利用ください。

クイックインストール

Claude Code

推奨
メイン
npx skills add NoizAI/skills -a claude-code
プラグインコマンド代替
/plugin add https://github.com/NoizAI/skills
Git クローン代替
git clone https://github.com/NoizAI/skills.git ~/.claude/skills/text-to-music

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

text-to-music

Two ways to make a song with vocals + accompaniment, saved as MP3. Every request produces two variants.

  • Generate — a new song from a music description plus lyrics.
  • Cover — re-sing an existing song in a new style, keeping its melody. Lyrics can be the original (auto-recognized) or new ones.

Triggers

  • make a song / generate music / text to music / compose
  • turn these lyrics into a song / sing this / jingle / theme song / birthday song
  • cover this song / make a jazz version / remake in another style
  • 写歌 / 生成音乐 / 作曲 / 唱首歌 / 歌词谱曲 / 翻唱 / 改编 / 换个风格唱

Generate — new song from text

A request needs a prompt (the music description) and exactly one lyrics source:

# Let the server write lyrics from a theme
python3 skills/text-to-music/scripts/t2m.py "upbeat indie pop, bright guitars, 120 BPM" \
  --lyrics-prompt "a song about summer road trips with friends"

# Use your own lyrics (inline or from a file)
python3 skills/text-to-music/scripts/t2m.py "mandopop ballad, piano and strings" \
  --lyrics $'[Verse]\n窗外的雨停了\n[Chorus]\n我还在等你' --vocal-gender Female --title "雨停了"
python3 skills/text-to-music/scripts/t2m.py "lo-fi hip hop, mellow, vinyl crackle" \
  --lyrics-file song.txt --duration 120 -o chill.mp3

# Model the vocal/style on a reference song (local file ≤20 MB or public URL)
python3 skills/text-to-music/scripts/t2m.py "dreamy synth-pop" --lyrics-file song.txt --ref-audio ./ref.mp3

Output: song_v1.mp3 and song_v2.mp3 (or <stem>_v1.mp3 / <stem>_v2.mp3 with -o). When lyrics were written by the server, they are also saved to <stem>_lyrics.txt.

ArgumentDefaultDescription
promptrequiredMusic description: genre, mood, instruments, tempo (≤1500 chars)
--lyrics / -l—Lyrics text; [Verse], [Chorus], [Bridge] markers help structure
--lyrics-file—UTF-8 .txt file with lyrics (≤64 KB)
--lyrics-prompt—Theme for server-side lyric writing
--tags—Style tags, comma-separated (≤50 chars)
--negative-tags—Styles to avoid
--duration / -dautoTarget length hint: 60, 120, or 180 seconds. A hint, not a guarantee.
--ref-audio—Reference song, local path or public URL

--lyrics, --lyrics-file, and --lyrics-prompt are mutually exclusive; one is required.

Cover — re-sing an existing song

Needs the source song, lyrics, and a description of the new sound (--style and/or --prompt):

# Same lyrics, new style: recognize lyrics from the original, then cover it
python3 skills/text-to-music/scripts/t2m.py cover original.mp3 \
  --style "jazz, smoky female vocal" --recognize-lyrics -o jazz_cover.mp3

# New lyrics over the original melody, looser arrangement
python3 skills/text-to-music/scripts/t2m.py cover https://example.com/song.mp3 \
  --prompt "acoustic folk, fingerpicked guitar, intimate" --lyrics-file new_lyrics.txt \
  --adherence main_melody --vocal-gender Male

# Recognize lyrics only (to review or edit before covering)
python3 skills/text-to-music/scripts/t2m.py lyrics original.mp3 -o lyrics.txt

Recommended flow when the user wants to tweak lyrics: run lyrics → edit the file → cover --lyrics-file.

ArgumentDefaultDescription
sourcerequiredOriginal song: local file (≤100 MB; mp3/wav/m4a/aac/flac/ogg) or public URL
--style / -s—Short style tags, e.g. "rock, male vocal" (≤50 chars)
--prompt / -p—Longer description of the cover's sound (≤1500 chars)
--adherencehighhigh = follow the original arrangement closely; main_melody = keep only the main melody, more freedom
--lyrics / -l—Lyrics to sing
--lyrics-file—UTF-8 .txt file with lyrics (≤64 KB)
--recognize-lyricsoffTranscribe the source's lyrics first and use them
--output / -ocover.mp3Output path; variants get _v1 / _v2 suffixes

At least one of --style / --prompt is required; exactly one lyrics source is required.

Shared Arguments

ArgumentDefaultDescription
--title—Song title (≤80 chars)
--vocal-gender—Male or Female
--vocal-timbre—Free-form voice description, e.g. "husky warm alto" (≤50 chars)
--output / -osong.mp3 (cover.mp3 for covers)Output path; variants get _v1 / _v2 suffixes
--no-waitoffSubmit, print the job ID(s), then exit
--poll-interval10Seconds between status checks
--timeout1800Max seconds to wait (the job keeps running server-side)
--api-keyfrom env/configNoiz API key (overrides stored key)

Resuming / Checking Jobs

Generation prints two gen_product_ids; a cover prints one task_id. If the wait times out or you used --no-wait, resume with:

python3 skills/text-to-music/scripts/t2m.py status <id_v1> <id_v2> -o song.mp3
python3 skills/text-to-music/scripts/t2m.py status --cover <task_id> -o cover.mp3
python3 skills/text-to-music/scripts/t2m.py status --cover <task_id> --no-wait   # just print status

Status goes submitted → running → succeeded / failed. Covers also report a stage (analysis runs before singing, so covers take longer). Download URLs expire after ~24h; re-run status for fresh ones.

Writing Good Prompts

  • Prompt / style = the sound: genre + mood + instrumentation + tempo. "cinematic orchestral pop, soaring strings, 90 BPM, hopeful".
  • Lyrics: keep sections short and label them. Chinese, English, and mixed lyrics all work.
  • Short songs: for jingles or greetings, pass -d 60 and write only a verse + chorus.
  • Covers: pick high to keep the cover recognizable; pick main_melody for a bigger genre change.
  • Not satisfied? Run again — each run gives two fresh variants.

Cost

  • Songs and covers are billed once per job (not per variant): ceil(longest variant seconds) × 15 credits, charged after both variants succeed. A 2-minute song costs about 1,800 credits. If subscription credits don't cover the whole job, it is billed as pay-as-you-go at $0.00015/s. The script prints the charged amount on completion.
  • Lyrics recognition (lyrics / --recognize-lyrics): 100 credits (or $0.001 pay-as-you-go), charged only when vocals are detected.

Rate limits: 5 submissions per minute per key per endpoint; status polling 60 per minute.

Limitations

  • Pure instrumental music is not supported — lyrics are always required.
  • --duration is only a hint; actual length may differ. Covers follow the source's length.
  • Prompts or lyrics containing sensitive content are rejected (code=400).

Configuration

python3 skills/text-to-music/scripts/t2m.py config --set-api-key YOUR_KEY
# or
export NOIZ_API_KEY=YOUR_KEY

Get your API key at developers.noiz.ai.

Requirements

  • Python 3.6+
  • requests package: uv pip install requests
  • Noiz API key from developers.noiz.ai

Security & Data Disclosure

  • API key: Stored in ~/.config/noiz/api_key (permissions 0600) or via NOIZ_API_KEY env variable.
  • Network: Prompts, lyrics, and any reference/source audio (file upload or URL) are sent to https://noiz.ai/v1/text-to-music and https://noiz.ai/v1/text-to-music/cover*; job status is polled from the same endpoints. No other data is transmitted.
  • Output: Generated MP3s (and lyrics text files) are downloaded from signed Noiz storage URLs and saved to the output path. No other files are modified.

GitHub リポジトリ

NoizAI/skills
パス: skills/text-to-music
0
FAQ

よくある質問

text-to-music Skillとは何ですか?

text-to-music はNoizAI が作成した Claude Skillです。Skillは、Claudeが必要に応じて読み込む指示とリソースをまとめ、追加の指示なしで text-to-music に関連するタスクを実行できるようにします。

text-to-music をインストールするには?

このページのインストールコマンドを使用してください。text-to-music をプラグインとして Claude Code に追加するか、リポジトリを skills ディレクトリにクローンし、Claudeを再起動してSkillを読み込みます。

text-to-music はどのカテゴリに属しますか?

text-to-music は メタ カテゴリに属します。

text-to-music は無料で利用できますか?

はい。text-to-music は AIMCP に掲載されており、無料でインストールできます。

関連スキル

content-collections
メタ

このスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。

スキルを見る
polymarket
メタ

このスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。

スキルを見る
creating-opencode-plugins
メタ

このスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。

スキルを見る
sglang
メタ

SGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。

スキルを見る