Przewodnik po tworzeniu promptów Lyria

Gemini API oferuje 2 sposoby generowania muzyki za pomocą Lyrii:

Oba modele odpowiadają na prompty tekstowe, terminologię muzyczną i instrukcje strukturalne. Z tego przewodnika dowiesz się, jak pisać skuteczne prompty do generowania wsadowego i sterowania w czasie rzeczywistym.

Podstawowe informacje o promptach

Prompt może być krótkim wyrażeniem:

A folk song about cute cats avoiding puddles, female vocals, acoustic guitar, sound of rain

lub strukturalny, szczegółowy opis:

A 1980s-style synth-pop track with a driving beat, shimmering synthesizers, and a catchy, anthemic chorus. The song should have a retro-futuristic feel with modern production polish. Upbeat tempo around 120 BPM, clear verse-chorus structure, and a memorable instrumental hook. The lyrics describe getting ready for a party.

Zarówno krótkie, jak i szczegółowe prompty dają dobre wyniki. Aby uzyskać pożądany dźwięk, zastosuj te strategie.

Gatunek i styl

Zacznij prompt od podania głównego gatunku. Możesz łączyć gatunki, aby tworzyć unikalne hybrydy:

  • Połączenie metalu i hip-hopu
  • Death metal z wokalem operowym
  • Klasyczna muzyka kameralna z elementami mrocznego dronu elektronicznego
  • Nowoczesna elektroniczna muzyka taneczna (EDM) zmiksowana z europopem

Możesz też określić epokę muzyczną lub wariant regionalny:

  • Hip-hop boom-bap z początku lat 90.
  • Francuski pop yé-yé z lat 60.
  • Post-punk i new wave z lat 80.
  • Główne nurty R&B z pierwszej dekady XXI wieku
  • berlińskie minimal techno lub hyphy z Bay Area,

Słowa kluczowe dotyczące gatunku

W promptach do Lyrii 3.5 i Lyrii RealTime używaj tych rozpoznawanych terminów gatunkowych:

  • Elektroniczna i taneczna: Acid House, Breakbeat, Chillout, Chiptune, Deep House, Drum & Bass, Dubstep, EDM, Electro Swing, Glitch Hop, Hyperpop, Minimal Techno, Moombahton, Psytrance, Synthpop, Techno, Trance, Trip Hop, Vaporwave
  • Hip-hop i R&B: 808 Hip Hop, Boom-Bap, Contemporary R&B, G-funk, Grime, Lo-Fi Hip Hop, Neo-Soul, New Jack Swing, Trap Beat
  • Rock i muzyka alternatywna: Alternative Country, Blues Rock, Classic Rock, Funk Metal, Garage Rock, Indie Folk, Indie Pop, Post-Punk, 60s Psychedelic Rock, Shoegaze, Surf Rock
  • Jazz, soul i funk: Acid Jazz, Afrobeat, Bossa Nova, Disco Funk, Funk, Jazz Fusion, Latin Jazz
  • Folk i tradycyjna: Bengal Baul, Bhangra, Bluegrass, Celtic Folk, Cumbia, Indian Classical, Irish Folk, Merengue, Polka, Reggae, Reggaeton, Renaissance Music, Salsa
  • Classical & Acoustic: Baroque, Orchestral Score, Piano Ballad

Instrumenty i tekstury

Lyria automatycznie wybiera odpowiednie instrumenty dla wybranego gatunku. Jeśli chcesz użyć konkretnych instrumentów lub nietypowych kombinacji, podaj je wprost:

A dance track with a driving beat, shimmering synthesizers, and a catchy, anthemic chorus. A saxophone solo enters during the bridge.

Opisz, jak brzmią instrumenty i jak oddziałują na siebie, aby stworzyć nastrój i teksturę:

  • Zniekształcona linia basu 303 przebijająca się przez wyraźne, zwarte hi-haty
  • Ciepłe, analogowe pady syntezatora narastające pod suchą, intymną gitarą akustyczną
  • Ściana dźwięku zbudowana z wielu warstw przesterowanej gitary z odległym wokalem z pogłosem

Słowa kluczowe dotyczące instrumentów

  • Instrumenty klawiszowe i syntezatory: Buchla Synths, Clavichord, Dirty Synths, Harpsichord, Mellotron, Moog Oscillations, Ragtime Piano, Rhodes Piano, Smooth Pianos, Spacey Synths, Synth Pads
  • Bas i perkusja: 303 Acid Bass, 808 Hip Hop Beat, Boomy Bass, Conga Drums, Drumline, Funk Drums, Precision Bass, Tabla, TR-909 Drum Machine
  • Gitary i struny: Banjo, Balalaika, Bouzouki, Cello, Charango, Dulcimer, Fiddle, Flamenco Guitar, Guitar, Harp, Koto, Lyre, Mandolin, Pipa, Shamisen, Shredding Guitar, Sitar, Slide Guitar, Viola Ensemble, Warm Acoustic Guitar
  • Instrumenty dęte: Alto Saxophone, Bagpipes, Bass Clarinet, Didgeridoo, Harmonica, Ocarina, Trumpet, Tuba, Woodwinds
  • Instrumenty perkusyjne: Bongos, Djembe, Glockenspiel, Hang Drum, Kalimba, Maracas, Marimba, Mbira, Steel Drum, Vibraphone

Struktura i czas trwania utworu

W przypadku Lyrii 3.5 określ postęp utworu za pomocą tagów lub strzałek:

  • [Intro] -> [Verse 1] -> [Chorus] -> [Verse 2] -> [Chorus] -> [Bridge] -> [Outro]
  • Zacznij od cichego wstępu na pianinie, przejdź do energicznej zwrotki, zrób chwilę przerwy, a potem przejdź do refrenu.

Możesz kierować dynamiką i przemianami energii:

  • Buduj napięcie w prechorusie, a potem wycisz utwór przed wybuchowym refrenem.
  • Stopniowe crescendo w całym utworze, dodawanie jednego instrumentu w każdej sekcji
  • Nagłe zatrzymanie po moście, a następnie chór a cappella

Możesz też wyświetlać konkretne znaczniki czasu:

  • Zbuduj napięcie do momentu kulminacyjnego w 12 sekundzie
  • Próbka wokalu powtarza się co 4 takty
  • Refren zaczyna się po 22 sekundach.

Tekst i wokal

Lyria 3.5 domyślnie generuje ścieżki wokalne z tekstem. Możesz podać własne teksty, poprosić model o ich wygenerowanie lub poprosić o utwór instrumentalny.

Używanie własnych tekstów

Umieść tekst bezpośrednio w prompcie pod nagłówkiem Lyrics:. Oznacz każdą sekcję, aby ułatwić odczytanie:

Lyrics:

[Intro]
Ooooh, yeah

[Verse 1]
Early morning rain on the window pane
City lights wash away the pain
Walking down this empty street again

[Chorus]
We keep moving on (moving on)
Until the morning light
Everything will be alright

Używaj nawiasów do oznaczania wokalu w tle, echa lub improwizacji, np. (moving on).

Kierowanie wygenerowanym tekstem

Gdy prosisz Lyrię 3.5 o napisanie tekstu, podaj zarys fabuły, emocji lub kluczowych wyrażeń:

The lyrics describe driving down the Pacific Coast Highway at sunset. The mood is nostalgic and reflective. Include an uplifting, anthemic chorus about second chances and starting over.

W przypadku gatunków elektronicznych i tanecznych poproś o krótkie, powtarzające się chwytliwe fragmenty wokalne:

An upbeat dance-pop track with a repetitive, high-energy vocal hook: "Feel the rhythm all night long."

Sposób śpiewania i profile wokalistów

Określ płeć, zakres głosu i barwę, aby uzyskać precyzyjny efekt:

  • Sopran: czysta, krystaliczna barwa głosu z zwinnością i wysokimi tonami. Jasne brzmienie z możliwością uzyskania eterycznych, zwiewnych tekstur.
  • Alt żeński: bogaty, ciepły i chrapliwy niższy zakres. Dymny tembr głosu z duszą i głębokim, rezonującym głosem piersiowym.
  • Tenor męski: jasny, przenikliwy i energetyczny. Młodzieńczy tembr głosu z dużą siłą, która przebija się przez gęste miksy.
  • Męski baryton: głęboki, aksamitny głos piersiowy o ciepłym, kojącym brzmieniu.
  • Weathered Rocker: chrapliwa, szorstka barwa głosu przypominająca rock alternatywny z lat 90. Surowa intensywność emocjonalna z wysokimi, napiętymi nutami.

Efekty wokalne bez tekstu

Możesz też poprosić o dialog mówiony, wokalne sample i efekty samplowania:

  • Głos z radia w stylu retro zapowiada utwór, zanim zacznie się bit.
  • Tuż przed dropem słychać szept, a potem energiczne syntezatory.
  • Pocięte i przekształcone próbki wokalne zapętlone jako instrumentalny element rytmiczny

Parametry muzyczne

Ulepsz prompt za pomocą standardowych właściwości muzycznych:

  • Tempo (BPM): ustaw tempo bezpośrednio (np. 120 BPM, slow tempo around 72 BPM, fast 160 BPM).
  • Tonacja i skala: określ tonację podstawową i tonację (np. in G major, in D minor, in C pentatonic).
  • Nastrój i atmosfera: używaj opisowych przymiotników wyrażających emocje: Ambient, Bright, Chill, Dark, Dreamy, Emotional, Ethereal, Euphoric, Funky, Groovy, Melancholic, Nostalgic, Ominous, Psychedelic, Relaxed, Soulful, Triumphant, Upbeat, Whimsical

Promptowanie Lyria RealTime

Lyria RealTime używa ważonych promptów zamiast jednego monolitycznego ciągu promptów. Dzięki temu możesz dynamicznie łączyć różne wpływy muzyczne i ciągle sterować muzyką za pomocą połączenia WebSocket.

Struktura prompta z wagami

Każdy prompt z wagą składa się z opisowego wyrażenia tekstowego i wagi zmiennoprzecinkowej:

prompts = [
    types.WeightedPrompt(text="minimal techno", weight=1.0),
    types.WeightedPrompt(text="deep sub bass", weight=0.6),
    types.WeightedPrompt(text="shimmering hi-hats", weight=0.4),
]

Strategie sterowania w czasie rzeczywistym

  • Łączenie gatunków: łącz różne style, przypisując im zrównoważone wagi:
    • ambient synth pads (weight: 0.8) + lo-fi hip-hop drums (weight: 0.6)
    • flamenco guitar (weight: 0.7) + deep house groove (weight: 0.5)
  • Dynamiczne przejścia: aby płynnie przejść do innego utworu, dostosuj wagi promptów w czasie:
    1. Zacznij od chill jazz piano (weight: 1.0).
    2. Stopniowo dodawaj electronic breakbeat (weight: 0.3).
    3. Zwiększ electronic breakbeat do 0.8, a zmniejsz chill jazz piano do 0.3.
  • Nakładanie elementów: oddziel tagi instrumentów i tagi nastroju, aby można było je dostosowywać niezależnie:
    • Prompt 1: bossa nova guitar (weight: 0.9)
    • Prompt 2: warm acoustic bass (weight: 0.7)
    • Prompt 3: subtle vinyl crackle (weight: 0.3)

Przykładowe prompty

Przykłady użycia Lyrii 3.5

  • Lo-Fi Study Beat: none A 30-second lofi hip hop beat with dusty vinyl crackle, mellow Rhodes piano chords, a relaxed boom-bap drum groove at 82 BPM, and a warm upright bassline. Instrumental only.
  • Pop Anthem: none An upbeat, feel-good indie-pop song in G major at 122 BPM. Bright acoustic guitar strumming, driving kick drum, handclaps, and warm female vocal harmonies. The lyrics describe an unforgettable summer road trip with friends.
  • Filmowy cyberpunk:none Dark, cinematic cyberpunk synthwave at 110 BPM in D minor. Heavy distorted bass, ominous arpeggiated analog synthesizers, distant metallic percussion, and an ethereal female vocalise swelling during the climax.

Zestaw sterujący Lyria RealTime

# Initial high-energy groove
await session.set_weighted_prompts(
    prompts=[
        types.WeightedPrompt(text="techno groove", weight=1.0),
        types.WeightedPrompt(text="acid 303 bass", weight=0.8),
    ]
)

# Transition to a melodic breakdown
await session.set_weighted_prompts(
    prompts=[
        types.WeightedPrompt(text="ambient synth pads", weight=1.0),
        types.WeightedPrompt(text="subtle reverberant piano", weight=0.7),
        types.WeightedPrompt(text="techno groove", weight=0.2),
    ]
)

Co dalej?