mcpField
L
lyrics-generation

lyrics-generation

github.com/awesome-genmediaクリエイティブ・メディア4442 回インストール32 週間前に更新
リポジトリ

lyrics-generation について

lyrics-generationは、リクエストに応じてモデルを選ぶeach::senseでオリジナルの歌詞を作るスキルです。ジャンル、構成、雰囲気、韻、参考画像を指定でき、スクリプトやアプリ向けのAPI例もあります。

主な機能

  1. 01ジャンルに応じた歌詞生成
  2. 02曲構成と韻の指定
  3. 03参考画像の受け入れ
  4. 04ストリーミング応答
  5. 05each::senseによるモデル選択

活用シーン

  1. 01雰囲気や形式を指定した歌詞の下書き
  2. 02画像をもとにした歌詞作成
  3. 03バース、フック、ジングルの作成

インストール

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

$npx skills add https://github.com/awesome-genmedia/skills --skill lyrics-generation

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

詳細

歌詞の生成

each::sense を使って、プロフェッショナルな構成と創造性に富んだオリジナルの歌詞を生成します。each::sense は、リクエストに最適なモデルを自動的に選択するインテリジェントな AI エージェントです。

クイックスタート

each::labs の API キーが必要です。eachlabs.ai で取得してください。

curl を使用する場合
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Write lyrics for an indie folk song about leaving a small town to chase your dreams. Bittersweet tone, 3 verses, a chorus, and a bridge. Use vivid imagery of back roads, train stations, and open skies."}],
    "stream": false
  }'
Python(OpenAI SDK)を使用する場合
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_EACHLABS_API_KEY",
    base_url="https://eachsense-agent.core.eachlabs.run/v1"
)

response = client.chat.completions.create(
    model="eachsense/beta",
    messages=[{"role": "user", "content": "Write lyrics for an indie folk song about leaving a small town to chase your dreams. Bittersweet tone, 3 verses, a chorus, and a bridge. Use vivid imagery of back roads, train stations, and open skies."}]
)

print(response.choices[0].message.content)
参照画像を使用する場合
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Write song lyrics inspired by the mood and scene in this image. Capture the emotion, colors, and atmosphere as poetic lyrics with a verse-chorus structure."},
              {"type": "image_url", "image_url": {"url": "https://example.com/inspiration-photo.jpg"}}
            ]
          }
    ],
    "stream": false
  }'

画像は OpenAI のマルチモーダルコンテンツ形式を使ってメッセージ内に送信されます。1 回のリクエストにつき最大 4 枚の画像を指定できます。

ストリーミング

リアルタイムの SSE レスポンスを受け取るには "stream": true を設定します。単一のレスポンスで結果全体を受け取るには "stream": false を設定します。ストリーミングは UI で進行状況を表示する場合に便利です。スクリプトや自動化には、非ストリーミングのほうがシンプルです。

楽曲構成のリファレンス

構成マーカー

プロンプトで以下のラベルを使うと、出力にも含まれます。

マーカー用途一般的な行数
[Intro]語り、またはシンプルなオープニング1-2 行
[Verse 1/2/3]物語の展開、ストーリーテリング4-8 行
[Pre-Chorus]コーラス前に緊張感を高める2-4 行
[Chorus]メインのフック、中心となるメッセージ4-8 行
[Bridge]対比、新たな視点、転調4-6 行
[Outro]解決、最後のメッセージ2-4 行
[Hook]ヒップホップにおけるコーラスに相当2-4 行
[Ad-lib]バックグラウンドボーカル、感嘆の声1-2 行
ジャンル別の一般的な構成
ジャンル推奨される構成
ポップVerse - Pre-Chorus - Chorus - Verse - Pre-Chorus - Chorus - Bridge - Chorus
ロックVerse - Chorus - Verse - Chorus - Solo - Chorus
ヒップホップVerse - Hook - Verse - Hook - Verse - Hook
カントリーVerse - Chorus - Verse - Chorus - Bridge - Chorus
バラードVerse - Verse - Chorus - Verse - Chorus - Outro
EDMIntro - Build - Drop - Verse - Build - Drop - Outro

プロンプトのヒント

重要な詳細を指定する

背景情報を詳しく伝えるほど、歌詞をよりニーズに合わせられます。

"Write pop lyrics about long-distance love.
Rhyme scheme: ABAB in verses, AABB in chorus.
Mood: hopeful but aching.
Perspective: first person.
Include a metaphor about lighthouses."
韻のパターンを指定する
パターン形式例
ABAB交互に韻を踏む1 行目と 3 行目、2 行目と 4 行目が韻を踏む
AABB連句隣り合う行同士が韻を踏む
ABCBシンプルなバラード2 行目と 4 行目だけが韻を踏む
Free厳密な韻の制約なし詩的で会話的
Internal行の中で韻を踏む"I'm pacing, chasing, facing the dawn"
ムードを表すキーワード
joyful, melancholic, defiant, tender, aggressive, whimsical,
haunting, anthemic, intimate, rebellious, nostalgic, empowering,
brooding, playful, ethereal, raw, triumphant, wistful

例

ポップなラブソング
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Write lyrics for an upbeat pop love song about meeting someone at a concert and feeling an instant connection. Structure: Verse 1, Pre-Chorus, Chorus, Verse 2, Pre-Chorus, Chorus, Bridge, Chorus. ABAB rhyme scheme in verses, catchy repetitive chorus. Include references to neon lights, bass drops, and heartbeats."}],
    "stream": false
  }'
ラップのバース
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Write 3 rap verses and a hook about rising from nothing and building success through hard work. Internal rhyme schemes, clever wordplay, and multisyllabic rhymes. Confident but not arrogant tone. Reference late nights, hustle, doubters, and breakthrough moments. Hip-hop style, think Kendrick Lamar meets J. Cole."}],
    "stream": false
  }'
カントリーのストーリーテリング
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Write country song lyrics telling the story of a grandfather teaching his grandson to fish at their favorite lake. Warm and nostalgic. 3 verses, chorus, and bridge. Each verse covers a different life lesson learned by the water. Simple ABCB rhyme scheme. Imagery of sunrise, red bobbers, old tackle boxes, and quiet mornings."}],
    "stream": false
  }'
ダークなインディーロック
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Write brooding indie rock lyrics about insomnia and overthinking at 3 AM. Moody and introspective. Verse-Chorus-Verse-Chorus-Bridge-Chorus structure. Use metaphors of static, empty rooms, and flickering screens. Free verse style with occasional rhymes. Short punchy lines in the chorus."}],
    "stream": false
  }'
ジングル/CMソングの歌詞
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Write a short, catchy jingle lyric for an organic juice brand called Fresh Squeeze. 4-6 lines total. Must be upbeat, memorable, and include the brand name twice. Rhyming couplets. Focus on freshness, energy, and natural ingredients. Think earworm melody."}],
    "stream": false
  }'

歌詞から楽曲を作るワークフロー

まず歌詞を生成してから、楽曲全体を制作します。

# Step 1: Generate lyrics
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Write pop song lyrics about chasing dreams in a big city. Verse-Chorus-Verse-Chorus-Bridge-Chorus. Uplifting and determined."}],
    "stream": false
  }'

# Step 2: Use the generated lyrics to create a full song
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": "Generate an upbeat pop song, female vocal, 122 BPM, with the following lyrics:\n\n[Verse 1]\n(paste generated lyrics here)\n\n[Chorus]\n(paste generated chorus here)"}],
    "stream": false
  }'

よくある落とし穴

  • ジャンルやスタイルの指定がないと、ありきたりな歌詞になりやすいです。雰囲気の参考となるジャンルやアーティストを指定してください。
  • 構成マーカーを忘れると、バースやコーラスの開始位置と終了位置が分かりにくくなります。
  • 抽象的すぎると、詩的でも歌いにくい歌詞になることがあります。必要に応じて「歌いやすい歌詞」と指定してください。
  • 音節数を考慮しないと、メロディーに合わない行ができることがあります。一貫性を保つため、「各行を 8~10 音節にする」と指定してください。
  • 感情の流れがないと、曲が単調に感じられます。各セクションを通じて感情がどのように高まるかを指定してください。

関連スキル

  • 楽曲生成 — 歌詞をボーカル入りの完成した楽曲に仕上げます
  • 音楽生成 — 歌詞に合わせたインストゥルメンタルの伴奏を作成します
  • 音声生成 — 歌詞を朗読する音声を生成します
  • テキスト読み上げ — 歌う前に歌詞の読み上げを確認できます

ドキュメント

コメント