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

Часто задаваемые вопросы

Что такое Skill text-to-music?

text-to-music — это Claude Skill от NoizAI. Skills объединяют инструкции и ресурсы, которые 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 — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.

Просмотреть навык
polymarket
Мета

Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.

Просмотреть навык
creating-opencode-plugins
Мета

Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.

Просмотреть навык
sglang
Мета

SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.

Просмотреть навык