Gjeneroni muzikë me Lyria 3
Lyria 3 është familja e modeleve të gjenerimit të muzikës së Google, e disponueshme përmes Gemini API. Me Lyria 3, ju mund të gjeneroni audio stereo me cilësi të lartë, 44.1 kHz nga mesazhet me tekst ose nga imazhet. Këto modele ofrojnë koherencë strukturore, duke përfshirë vokalet, tekstet e këngëve me kohë të ndryshueshme dhe aranzhimet e plota instrumentale.
Familja Lyria 3 përfshin dy modele:
| Model | ID e modelit | Më e mira për | Kohëzgjatja | Prodhimi |
|---|---|---|---|---|
| Lyria 3 Clip | lyria-3-clip-preview | Klipe të shkurtra, cikle, parapamje | 30 sekonda | MP3 |
| Lyria 3 Pro | lyria-3-pro-preview | Këngë të plota me vargje, refrene, ura | Disa minuta (e kontrollueshme duke përdorur komandën) | MP3 |
Të dy modelet mund të përdoren duke përdorur API-n e ri Interactions , duke mbështetur hyrjet multimodale (tekst dhe imazhe) dhe duke prodhuar audio stereo me besnikëri të lartë 44.1 kHz .
Gjenero një klip muzikor
Modeli Lyria 3 Clip gjeneron gjithmonë një klip 30-sekondësh . Për të gjeneruar një klip, thirrni metodën interactions.create me një mesazh teksti. Përgjigja gjithmonë përfshin tekstin e gjeneruar dhe strukturën e këngës së bashku me audion në skemën e steps .
Python
import base64
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="lyria-3-clip-preview",
input="Create a 30-second cheerful acoustic folk song with guitar and harmonica.",
)
for step in interaction.steps:
if step.type == "model_output":
for content_block in step.content:
if content_block.type == "audio":
print(f"Generated audio with mime_type: {content_block.mime_type}")
with open("music.mp3", "wb") as f:
f.write(base64.b64decode(content_block.data))
elif content_block.type == "text":
print(f"Lyrics: {content_block.text}")
JavaScript
import { GoogleGenAI } from '@google/genai';
import * as fs from 'fs';
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: 'lyria-3-clip-preview',
input: 'Create a 30-second cheerful acoustic folk song with ' +
'guitar and harmonica.',
});
for (const step of interaction.steps) {
if (step.type === 'model_output') {
for (const contentBlock of step.content) {
if (contentBlock.type === 'audio') {
console.log(`Generated audio with mime_type: ${contentBlock.mimeType}`);
fs.writeFileSync('music.mp3', Buffer.from(contentBlock.data, 'base64'));
} else if (contentBlock.type === 'text') {
console.log(`Lyrics: ${contentBlock.text}`);
}
}
}
}
PUSHTIM
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"model": "lyria-3-clip-preview",
"input": "Create a 30-second cheerful acoustic folk song with guitar and harmonica."
}'
Gjeneroni një këngë me gjatësi të plotë
Përdorni modelin lyria-3-pro-preview për të gjeneruar këngë me gjatësi të plotë që zgjasin disa minuta. Modeli Pro e kupton strukturën muzikore dhe mund të krijojë kompozime me vargje, refrene dhe ura të dallueshme. Ju mund të ndikoni në kohëzgjatje duke e specifikuar atë në kërkesën tuaj (p.sh., "krijo një këngë 2-minutëshe") ose duke përdorur vula kohore për të përcaktuar strukturën.
Python
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input="An epic cinematic orchestral piece about a journey home. Starts with a solo piano intro, builds through sweeping strings, and climaxes with a massive wall of sound.",
)
JavaScript
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: 'An epic cinematic orchestral piece about a journey home. ' +
'Starts with a solo piano intro, builds through sweeping ' +
'strings, and climaxes with a massive wall of sound.',
});
PUSHTIM
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"model": "lyria-3-pro-preview",
"input": "An epic cinematic orchestral piece about a journey home. Starts with a solo piano intro, builds through sweeping strings, and climaxes with a massive wall of sound."
}'
Zgjidhni formatin e daljes
Si parazgjedhje, modelet Lyria 3 gjenerojnë audio në formatin MP3 . Për Lyria 3 Pro, mund të kërkoni edhe daljen në formatin WAV duke vendosur response_mime_type .
Python
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input="An atmospheric ambient track.",
response_modalities=["audio", "text"],
response_mime_type="audio/wav",
)
JavaScript
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: 'An atmospheric ambient track.',
responseModalities: ["audio", "text"],
responseMimeType: "audio/wav",
});
PUSHTIM
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-pro-preview",
"input": "An atmospheric ambient track.",
"responseModalities": ["audio", "text"],
"responseMimeType": "audio/wav"
}'
Analizoni përgjigjen
Përgjigja nga Lyria 3 përmban blloqe të shumta përmbajtjeje brenda skemës së steps . Ndërveprimet kthejnë një sekuencë hapash, ku hapat model_output përmbajnë përmbajtjen e gjeneruar. Blloqet e përmbajtjes së tekstit përmbajnë tekstin e gjeneruar ose një përshkrim JSON të strukturës së këngës. Blloqet e përmbajtjes me llojin audio përmbajnë të dhënat audio të koduara base64.
Python
lyrics = []
audio_data = None
for step in interaction.steps:
if step.type == "model_output":
for content_block in step.content:
if content_block.type == "audio":
audio_data = base64.b64decode(content_block.data)
elif content_block.type == "text":
lyrics.append(content_block.text)
if lyrics:
print("Lyrics:\n" + "\n".join(lyrics))
if audio_data:
with open("output.mp3", "wb") as f:
f.write(audio_data)
JavaScript
const lyrics = [];
let audioData = null;
for (const step of interaction.steps) {
if (step.type === 'model_output') {
for (const contentBlock of step.content) {
if (contentBlock.type === 'audio') {
audioData = Buffer.from(contentBlock.data, 'base64');
} else if (contentBlock.type === 'text') {
lyrics.push(contentBlock.text);
}
}
}
}
if (lyrics.length) {
console.log("Lyrics:\n" + lyrics.join("\n"));
}
if (audioData) {
fs.writeFileSync("output.mp3", audioData);
}
PUSHTIM
# The output from the REST API is a JSON object containing base64 encoded data.
# You can extract the text or the audio data using a tool like jq.
# To extract the audio and save it to a file:
curl ... | jq -r '.steps[] | select(.type=="model_output") | .content[] | select(.type=="audio") | .data' | base64 -d > output.mp3
Gjeneroni muzikë nga imazhet
Lyria 3 mbështet hyrje multimodale — mund të jepni deri në 10 imazhe së bashku me kërkesën tuaj të tekstit në listën input dhe modeli do të kompozojë muzikë të frymëzuar nga përmbajtja vizuale.
Python
uploaded_image = client.files.upload(file="desert_sunset.jpg")
response = client.interactions.create(
model="lyria-3-pro-preview",
input=[
{"type": "text", "text": "An atmospheric ambient track inspired by the mood and colors in this image."},
{
"type": "image",
"uri": uploaded_image.uri,
"mime_type": uploaded_image.mime_type
}
],
)
JavaScript
const uploadedImage = await client.files.upload({
file: "desert_sunset.jpg",
config: { mimeType: "image/jpeg" }
});
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: [
{ type: 'text', text: 'An atmospheric ambient track inspired by the mood and colors in this image.' },
{
type: 'image',
uri: uploadedImage.uri,
mimeType: uploadedImage.mimeType
}
],
});
PUSHTIM
# First upload the image using the Files API, then use the URI:
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "lyria-3-pro-preview",
"input": [
{"type": "text", "text": "An atmospheric ambient track inspired by the mood and colors in this image."},
{"type": "image", "uri": "YOUR_FILE_URI", "mime_type": "image/jpeg"}
]
}'
Jep tekste këngësh të personalizuara sipas dëshirës.
Mund të shkruash tekstin tënd të këngës dhe ta përfshish në kërkesë. Përdor etiketa seksioni si [Verse] , [Chorus] dhe [Bridge] për ta ndihmuar modelin të kuptojë strukturën e këngës:
Python
prompt = """
Create a dreamy indie pop song with the following lyrics:
[Verse 1]
Walking through the neon glow,
city lights reflect below,
every shadow tells a story,
every corner, fading glory.
[Chorus]
We are the echoes in the night,
burning brighter than the light,
hold on tight, don't let me go,
we are the echoes down below.
[Verse 2]
Footsteps lost on empty streets,
rhythms sync to heartbeats,
whispers carried by the breeze,
dancing through the autumn leaves.
"""
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input=prompt,
)
JavaScript
const prompt = `
Create a dreamy indie pop song with the following lyrics:
[Verse 1]
Walking through the neon glow,
city lights reflect below,
every shadow tells a story,
every corner, fading glory.
[Chorus]
We are the echoes in the night,
burning brighter than the light,
hold on tight, don't let me go,
we are the echoes down below.
[Verse 2]
Footsteps lost on empty streets,
rhythms sync to heartbeats,
whispers carried by the breeze,
dancing through the autumn leaves.
`;
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: prompt,
});
PUSHTIM
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-pro-preview",
"input": "Create a dreamy indie pop song with the following lyrics: ..."
}'
Kontrolloni kohën dhe strukturën
Mund të specifikoni saktësisht se çfarë ndodh në momente specifike në këngë duke përdorur vulat kohore. Kjo është e dobishme për të kontrolluar se kur futen instrumentet, kur lexohen tekstet dhe si përparon kënga:
Python
prompt = """
[0:00 - 0:10] Intro: Begin with a soft lo-fi beat and muffled
vinyl crackle.
[0:10 - 0:30] Verse 1: Add a warm Fender Rhodes piano melody
and gentle vocals singing about a rainy morning.
[0:30 - 0:50] Chorus: Full band with upbeat drums and soaring
synth leads. The lyrics are hopeful and uplifting.
[0:50 - 1:00] Outro: Fade out with the piano melody alone.
"""
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input=prompt,
)
JavaScript
const prompt = `
[0:00 - 0:10] Intro: Begin with a soft lo-fi beat and muffled
vinyl crackle.
[0:10 - 0:30] Verse 1: Add a warm Fender Rhodes piano melody
and gentle vocals singing about a rainy morning.
[0:30 - 0:50] Chorus: Full band with upbeat drums and soaring
synth leads. The lyrics are hopeful and uplifting.
[0:50 - 1:00] Outro: Fade out with the piano melody alone.
`;
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: prompt,
});
PUSHTIM
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-pro-preview",
"input": "[0:00 - 0:10] Intro: ..."
}'
Gjeneroni këngë instrumentale
Për muzikën në sfond, kolonat zanore të lojërave ose çdo rast përdorimi ku nuk kërkohen vokale, mund ta nxisni modelin të prodhojë këngë vetëm me instrumente:
Python
interaction = client.interactions.create(
model="lyria-3-clip-preview",
input="A bright chiptune melody in C Major, retro 8-bit video game style. Instrumental only, no vocals.",
)
JavaScript
const interaction = await client.interactions.create({
model: 'lyria-3-clip-preview',
input: 'A bright chiptune melody in C Major, retro 8-bit video game style. Instrumental only, no vocals.',
});
PUSHTIM
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-clip-preview",
"input": "A bright chiptune melody in C Major, retro 8-bit video game style. Instrumental only, no vocals."
}'
Gjeneroni muzikë në gjuhë të ndryshme
Lyria 3 gjeneron tekste në gjuhën e kërkesës suaj. Për të gjeneruar një këngë me tekst në frëngjisht, shkruajeni kërkesën tuaj në frëngjisht. Modeli e përshtat stilin e tij vokal dhe shqiptimin që të përputhet me gjuhën.
Python
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input="Crée une chanson pop romantique en français sur un coucher de soleil à Paris. Utilise du piano et de la guitare acoustique.",
)
JavaScript
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: 'Crée une chanson pop romantique en français sur un coucher de soleil à Paris. Utilise du piano et de la guitare acoustique.',
});
PUSHTIM
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-pro-preview",
"input": "Crée une chanson pop romantique en français sur un coucher de soleil à Paris. Utilise du piano et de la guitare acoustique."
}'
Inteligjenca e modelit
Lyria 3 analizon procesin tuaj të sugjerimit, ku modeli arsyeton përmes strukturës muzikore (intro, varg, refren, urë, etj.) bazuar në sugjerimin tuaj. Kjo ndodh përpara se të gjenerohet audioja dhe siguron koherencë strukturore dhe muzikalitet.
Udhëzues nxitës
Sa më specifike të jetë kërkesa juaj, aq më të mira do të jenë rezultatet. Ja çfarë mund të përfshini për të udhëhequr gjenerimin:
- Zhanri : Specifikoni një zhanër ose përzierje zhanresh (p.sh., "lo-fi hip hop", "jazz fusion", "kinematic orkestral").
- Instrumente : Emërtoni instrumente specifike (p.sh., "piano Fender Rhodes", "kitarë rrëshqitëse", "makinë daulle TR-808").
- BPM : Vendos tempon (p.sh., "120 BPM", "tempo e ngadaltë rreth 70 BPM").
- Tonaliteti/Shkalla : Specifikoni një tonalitet muzikor (p.sh., "në Sol maxhor", "Re minor").
- Gjendja shpirtërore dhe atmosfera : Përdorni mbiemra përshkrues (p.sh., "nostalgjik", "agresiv", "eterial", "ëndërrimtar").
- Struktura : Përdorni etiketa si
[Verse],[Chorus],[Bridge],[Intro],[Outro]ose pulla kohore për të kontrolluar progresin e këngës. - Kohëzgjatja : Modeli i klipit prodhon gjithmonë klipe 30-sekondëshe. Për modelin Pro, specifikoni gjatësinë e synuar në kërkesën tuaj (p.sh., "krijo një këngë 2-minutëshe") ose përdorni vula kohore për të kontrolluar kohëzgjatjen.
Shembuj të kërkesave
Ja disa shembuj të sugjerimeve efektive:
-
"A 30-second lofi hip hop beat with dusty vinyl crackle, mellow Rhodes piano chords, a slow boom-bap drum pattern at 85 BPM, and a jazzy upright bass line. Instrumental only." -
"An upbeat, feel-good pop song in G major at 120 BPM with bright acoustic guitar strumming, claps, and warm vocal harmonies about a summer road trip." -
"A dark, atmospheric trap beat at 140 BPM with heavy 808 bass, eerie synth pads, sharp hi-hats, and a haunting vocal sample. In D minor."
Praktikat më të mira
- Përsëriteni së pari me Clip. Përdorni modelin më të shpejtë
lyria-3-clip-previewpër të eksperimentuar me kërkesat përpara se të angazhoheni në një gjeneratë me gjatësi të plotë melyria-3-pro-preview. - Ji specifik. Kërkesat e paqarta japin rezultate të përgjithshme. Përmend instrumentet, BPM-në, tonalitetin, gjendjen shpirtërore dhe strukturën për rezultatin më të mirë.
- Përputhni gjuhën tuaj. Kërkoni në gjuhën në të cilën dëshironi që teksti të jetë i shkruar.
- Përdorni etiketat e seksionit. Etiketat
[Verse],[Chorus],[Bridge]i japin modelit një strukturë të qartë për t'u ndjekur. - Ndani tekstet nga udhëzimet. Kur ofroni tekste të personalizuara, ndajini ato qartë nga udhëzimet tuaja për drejtimin muzikor.
Kufizime
- Siguria : Të gjitha kërkesat kontrollohen nga filtrat e sigurisë. Kërkesat që aktivizojnë filtrat do të bllokohen. Kjo përfshin kërkesat që kërkojnë zëra të artistëve specifikë ose gjenerimin e teksteve të këngëve me të drejta autori.
- Filigrani : I gjithë audio i gjeneruar përfshin një filigran audio SynthID për identifikim. Ky filigran është i padukshëm për veshin e njeriut dhe nuk ndikon në përvojën e dëgjimit.
- Redaktimi me shumë kthesa : Gjenerimi i muzikës është një proces me një kthesë të vetme. Redaktimi iterativ ose rafinimi i një klipi të gjeneruar përmes kërkesave të shumta nuk mbështetet në versionin aktual të Lyria 3.
- Kohëzgjatja : Modeli i klipit gjeneron gjithmonë klipe 30-sekondëshe. Modeli Pro gjeneron këngë që zgjasin disa minuta; kohëzgjatja e saktë mund të ndikohet nga kërkesa juaj.
- Determinizmi : Rezultatet mund të ndryshojnë midis thirrjeve, madje edhe me të njëjtën kërkesë.
Çfarë vjen më pas
- Kontrolloni çmimet për modelet Lyria 3,
- Provoni gjenerimin e muzikës në kohë reale, duke transmetuar me Lyria RealTime,
- Gjeneroni biseda me shumë folës me modelet TTS ,
- Zbuloni se si të krijoni imazhe ose video ,
- Zbuloni se si Binjakët mund t'i kuptojnë skedarët audio ,
- Zhvilloni një bisedë në kohë reale me Gemini duke përdorur Live API .