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 (të kontrollueshme nëpërmjet një njoftimi) | MP3 |
Të dy modelet mund të përdoren duke përdorur metodën standarde generateContent dhe API-në e re 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 generateContent me një mesazh teksti. Përgjigja gjithmonë përfshin tekstin e gjeneruar dhe strukturën e këngës së bashku me audion.
Python
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="lyria-3-clip-preview",
contents="Create a 30-second cheerful acoustic folk song with "
"guitar and harmonica.",
)
# Parse the response
for part in response.parts:
if part.text is not None:
print(part.text)
elif part.inline_data is not None:
with open("clip.mp3", "wb") as f:
f.write(part.inline_data.data)
print("Audio saved to clip.mp3")
JavaScript
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({});
async function main() {
const response = await ai.models.generateContent({
model: "lyria-3-clip-preview",
contents: "Create a 30-second cheerful acoustic folk song with " +
"guitar and harmonica.",
});
for (const part of response.candidates[0].content.parts) {
if (part.text) {
console.log(part.text);
} else if (part.inlineData) {
const buffer = Buffer.from(part.inlineData.data, "base64");
fs.writeFileSync("clip.mp3", buffer);
console.log("Audio saved to clip.mp3");
}
}
}
main();
Shko
package main
import (
"context"
"fmt"
"log"
"os"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
result, err := client.Models.GenerateContent(
ctx,
"lyria-3-clip-preview",
genai.Text("Create a 30-second cheerful acoustic folk song " +
"with guitar and harmonica."),
nil,
)
if err != nil {
log.Fatal(err)
}
for _, part := range result.Candidates[0].Content.Parts {
if part.Text != "" {
fmt.Println(part.Text)
} else if part.InlineData != nil {
err := os.WriteFile("clip.mp3", part.InlineData.Data, 0644)
if err != nil {
log.Fatal(err)
}
fmt.Println("Audio saved to clip.mp3")
}
}
}
Java
import com.google.genai.Client;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.Part;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class GenerateMusicClip {
public static void main(String[] args) throws IOException {
try (Client client = new Client()) {
GenerateContentResponse response = client.models.generateContent(
"lyria-3-clip-preview",
"Create a 30-second cheerful acoustic folk song with "
+ "guitar and harmonica.");
for (Part part : response.parts()) {
if (part.text().isPresent()) {
System.out.println(part.text().get());
} else if (part.inlineData().isPresent()) {
var blob = part.inlineData().get();
if (blob.data().isPresent()) {
Files.write(Paths.get("clip.mp3"), blob.data().get());
System.out.println("Audio saved to clip.mp3");
}
}
}
}
}
}
PUSHTIM
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3-clip-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "Create a 30-second cheerful acoustic folk song with guitar and harmonica."}
]
}]
}'
C#
using System.Threading.Tasks;
using Google.GenAI;
using Google.GenAI.Types;
using System.IO;
public class GenerateMusicClip {
public static async Task main() {
var client = new Client();
var response = await client.Models.GenerateContentAsync(
model: "lyria-3-clip-preview",
contents: "Create a 30-second cheerful acoustic folk song with guitar and harmonica."
);
foreach (var part in response.Candidates[0].Content.Parts) {
if (part.Text != null) {
Console.WriteLine(part.Text);
} else if (part.InlineData != null) {
await File.WriteAllBytesAsync("clip.mp3", part.InlineData.Data);
Console.WriteLine("Audio saved to clip.mp3");
}
}
}
}
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
response = client.models.generate_content(
model="lyria-3-pro-preview",
contents="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 response = await ai.models.generateContent({
model: "lyria-3-pro-preview",
contents: "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.",
});
Shko
result, err := client.Models.GenerateContent(
ctx,
"lyria-3-pro-preview",
genai.Text("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."),
nil,
)
Java
GenerateContentResponse response = client.models.generateContent(
"lyria-3-pro-preview",
"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 -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "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."}
]
}]
}'
C#
var response = await client.Models.GenerateContentAsync(
model: "lyria-3-pro-preview",
contents: "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_format në generationConfig .
Python
response = client.models.generate_content(
model="lyria-3-pro-preview",
contents="An atmospheric ambient track.",
config=types.GenerateContentConfig(
response_modalities=["AUDIO", "TEXT"],
response_format={"audio": {"mime_type": "audio/wav"}},
),
)
JavaScript
const response = await ai.models.generateContent({
model: "lyria-3-pro-preview",
contents: "An atmospheric ambient track.",
config: {
responseModalities: ["AUDIO", "TEXT"],
responseFormat: { audio: { mimeType: "audio/wav" } },
},
});
Shko
config := &genai.GenerateContentConfig{
ResponseModalities: []string{"AUDIO", "TEXT"},
ResponseMIMEType: "audio/wav",
}
result, err := client.Models.GenerateContent(
ctx,
"lyria-3-pro-preview",
genai.Text("An atmospheric ambient track."),
config,
)
Java
GenerateContentConfig config = GenerateContentConfig.builder()
.responseModalities("AUDIO", "TEXT")
.responseFormat(ResponseFormat.builder().audio(AudioFormat.builder().mimeType("audio/wav").build()).build())
.build();
GenerateContentResponse response = client.models.generateContent(
"lyria-3-pro-preview",
"An atmospheric ambient track.",
config);
C#
var config = new GenerateContentConfig {
ResponseModalities = { "AUDIO", "TEXT" },
ResponseMimeType = "audio/wav"
};
var response = await client.Models.GenerateContentAsync(
model: "lyria-3-pro-preview",
contents: "An atmospheric ambient track.",
config: config
);
PUSHTIM
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "An atmospheric ambient track."}
]
}],
"generationConfig": {
"responseModalities": ["AUDIO", "TEXT"],
"responseFormat": { "audio": { "mimeType": "audio/wav" } }
}
}'
Analizoni përgjigjen
Përgjigja nga Lyria 3 përmban pjesë të shumëfishta. Pjesët e tekstit përmbajnë tekstin e gjeneruar ose një përshkrim JSON të strukturës së këngës. Pjesët me inline_data përmbajnë bajtet audio.
Python
lyrics = []
audio_data = None
for part in response.parts:
if part.text is not None:
lyrics.append(part.text)
elif part.inline_data is not None:
audio_data = part.inline_data.data
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 part of response.candidates[0].content.parts) {
if (part.text) {
lyrics.push(part.text);
} else if (part.inlineData) {
audioData = Buffer.from(part.inlineData.data, "base64");
}
}
if (lyrics.length) {
console.log("Lyrics:\n" + lyrics.join("\n"));
}
if (audioData) {
fs.writeFileSync("output.mp3", audioData);
}
Shko
var lyrics []string
var audioData []byte
for _, part := range result.Candidates[0].Content.Parts {
if part.Text != "" {
lyrics = append(lyrics, part.Text)
} else if part.InlineData != nil {
audioData = part.InlineData.Data
}
}
if len(lyrics) > 0 {
fmt.Println("Lyrics:\n" + strings.Join(lyrics, "\n"))
}
if audioData != nil {
err := os.WriteFile("output.mp3", audioData, 0644)
if err != nil {
log.Fatal(err)
}
}
Java
List<String> lyrics = new ArrayList<>();
byte[] audioData = null;
for (Part part : response.parts()) {
if (part.text().isPresent()) {
lyrics.add(part.text().get());
} else if (part.inlineData().isPresent()) {
audioData = part.inlineData().get().data().get();
}
}
if (!lyrics.isEmpty()) {
System.out.println("Lyrics:\n" + String.join("\n", lyrics));
}
if (audioData != null) {
Files.write(Paths.get("output.mp3"), audioData);
}
C#
var lyrics = new List<string>();
byte[] audioData = null;
foreach (var part in response.Candidates[0].Content.Parts) {
if (part.Text != null) {
lyrics.Add(part.Text);
} else if (part.InlineData != null) {
audioData = part.InlineData.Data;
}
}
if (lyrics.Count > 0) {
Console.WriteLine("Lyrics:\n" + string.Join("\n", lyrics));
}
if (audioData != null) {
await File.WriteAllBytesAsync("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 '.candidates[0].content.parts[] | select(.inlineData) | .inlineData.data' | base64 -d > output.mp3
Gjeneroni muzikë nga imazhet
Lyria 3 mbështet hyrje multimodale — mund të ofroni deri në 10 imazhe së bashku me kërkesën tuaj me tekst dhe modeli do të kompozojë muzikë të frymëzuar nga përmbajtja vizuale.
Python
from PIL import Image
image = Image.open("desert_sunset.jpg")
response = client.models.generate_content(
model="lyria-3-pro-preview",
contents=[
"An atmospheric ambient track inspired by the mood and "
"colors in this image.",
image,
],
)
JavaScript
const imageData = fs.readFileSync("desert_sunset.jpg");
const base64Image = imageData.toString("base64");
const response = await ai.models.generateContent({
model: "lyria-3-pro-preview",
contents: [
{ text: "An atmospheric ambient track inspired by the mood " +
"and colors in this image." },
{
inlineData: {
mimeType: "image/jpeg",
data: base64Image,
},
},
],
});
Shko
imgData, err := os.ReadFile("desert_sunset.jpg")
if err != nil {
log.Fatal(err)
}
parts := []*genai.Part{
genai.NewPartFromText("An atmospheric ambient track inspired " +
"by the mood and colors in this image."),
&genai.Part{
InlineData: &genai.Blob{
MIMEType: "image/jpeg",
Data: imgData,
},
},
}
contents := []*genai.Content{
genai.NewContentFromParts(parts, genai.RoleUser),
}
result, err := client.Models.GenerateContent(
ctx,
"lyria-3-pro-preview",
contents,
nil,
)
Java
GenerateContentResponse response = client.models.generateContent(
"lyria-3-pro-preview",
Content.fromParts(
Part.fromText("An atmospheric ambient track inspired by "
+ "the mood and colors in this image."),
Part.fromBytes(
Files.readAllBytes(Path.of("desert_sunset.jpg")),
"image/jpeg")));
PUSHTIM
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d "{
\"contents\": [{
\"parts\":[
{\"text\": \"An atmospheric ambient track inspired by the mood and colors in this image.\"},
{
\"inline_data\": {
\"mime_type\":\"image/jpeg\",
\"data\": \"<BASE64_IMAGE_DATA>\"
}
}
]
}]
}"
C#
var response = await client.Models.GenerateContentAsync(
model: "lyria-3-pro-preview",
contents: new List<Part> {
Part.FromText("An atmospheric ambient track inspired by the mood and colors in this image."),
Part.FromBytes(await File.ReadAllBytesAsync("desert_sunset.jpg"), "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.
"""
response = client.models.generate_content(
model="lyria-3-pro-preview",
contents=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 response = await ai.models.generateContent({
model: "lyria-3-pro-preview",
contents: prompt,
});
Shko
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.
`
result, err := client.Models.GenerateContent(
ctx,
"lyria-3-pro-preview",
genai.Text(prompt),
nil,
)
Java
String 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.
""";
GenerateContentResponse response = client.models.generateContent(
"lyria-3-pro-preview",
prompt);
C#
var 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.
";
var response = await client.Models.GenerateContentAsync(
model: "lyria-3-pro-preview",
contents: prompt
);
PUSHTIM
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "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.
"""
response = client.models.generate_content(
model="lyria-3-pro-preview",
contents=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 response = await ai.models.generateContent({
model: "lyria-3-pro-preview",
contents: prompt,
});
Shko
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.
`
result, err := client.Models.GenerateContent(
ctx,
"lyria-3-pro-preview",
genai.Text(prompt),
nil,
)
Java
String 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.
""";
GenerateContentResponse response = client.models.generateContent(
"lyria-3-pro-preview",
prompt);
C#
var 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.
";
var response = await client.Models.GenerateContentAsync(
model: "lyria-3-pro-preview",
contents: prompt
);
PUSHTIM
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "[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
response = client.models.generate_content(
model="lyria-3-clip-preview",
contents="A bright chiptune melody in C Major, retro 8-bit "
"video game style. Instrumental only, no vocals.",
)
JavaScript
const response = await ai.models.generateContent({
model: "lyria-3-clip-preview",
contents: "A bright chiptune melody in C Major, retro 8-bit " +
"video game style. Instrumental only, no vocals.",
});
Shko
result, err := client.Models.GenerateContent(
ctx,
"lyria-3-clip-preview",
genai.Text("A bright chiptune melody in C Major, retro 8-bit " +
"video game style. Instrumental only, no vocals."),
nil,
)
Java
GenerateContentResponse response = client.models.generateContent(
"lyria-3-clip-preview",
"A bright chiptune melody in C Major, retro 8-bit "
+ "video game style. Instrumental only, no vocals.");
C#
var response = await client.Models.GenerateContentAsync(
model: "lyria-3-clip-preview",
contents: "A bright chiptune melody in C Major, retro 8-bit " +
"video game style. Instrumental only, no vocals."
);
PUSHTIM
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3-clip-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "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
response = client.models.generate_content(
model="lyria-3-pro-preview",
contents="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 response = await ai.models.generateContent({
model: "lyria-3-pro-preview",
contents: "Crée une chanson pop romantique en français sur un " +
"coucher de soleil à Paris. Utilise du piano et de " +
"la guitare acoustique.",
});
Shko
result, err := client.Models.GenerateContent(
ctx,
"lyria-3-pro-preview",
genai.Text("Crée une chanson pop romantique en français sur un " +
"coucher de soleil à Paris. Utilise du piano et de " +
"la guitare acoustique."),
nil,
)
Java
GenerateContentResponse response = client.models.generateContent(
"lyria-3-pro-preview",
"Crée une chanson pop romantique en français sur un "
+ "coucher de soleil à Paris. Utilise du piano et de "
+ "la guitare acoustique.");
C#
var response = await client.Models.GenerateContentAsync(
model: "lyria-3-pro-preview",
contents: "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 -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3-pro-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "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.
API-ja e Ndërveprimeve
Mund të përdorni modelet Lyria 3 me Interactions API ; një ndërfaqe e unifikuar për bashkëveprimin me modelet dhe agjentët Gemini. Thjeshton menaxhimin e gjendjes dhe detyrat afatgjata për raste komplekse përdorimi multimodal.
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input="A melancholic jazz fusion track in D minor, " +
"featuring a smooth saxophone melody, walking bass line, " +
"and complex drum rhythms.",
)
for output in interaction.outputs:
if output.text:
print(output.text)
elif output.inline_data:
with open("interaction_output.mp3", "wb") as f:
f.write(output.inline_data.data)
print("Audio saved to interaction_output.mp3")
JavaScript
import { GoogleGenAI } from '@google/genai';
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: 'A melancholic jazz fusion track in D minor, ' +
'featuring a smooth saxophone melody, walking bass line, ' +
'and complex drum rhythms.',
});
for (const output of interaction.outputs) {
if (output.text) {
console.log(output.text);
} else if (output.inlineData) {
const buffer = Buffer.from(output.inlineData.data, 'base64');
fs.writeFileSync('interaction_output.mp3', buffer);
console.log('Audio saved to interaction_output.mp3');
}
}
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": "A melancholic jazz fusion track in D minor, featuring a smooth saxophone melody, walking bass line, and complex drum rhythms."
}'
Udhëzues nxitës
Kërkesa juaj mund të jetë aq e thjeshtë sa "një këngë popullore për macet e lezetshme që shmangin pellgjet, vokalet femërore dhe zhurmën e shiut", ose diçka e detajuar dhe e strukturuar si:
Një këngë synth-pop në stilin e viteve 1980 me një ritëm nxitës, sintisajzerë vezullues dhe një refren tërheqës, himnik. Kënga duhet të ketë një ndjesi retro-futuriste, që të kujton hitet klasike pop të viteve 80, me një lustër prodhimi moderne. Tempoja duhet të jetë optimiste dhe e këndshme për kërcim, rreth 120 BPM, me një strukturë të qartë varg-refren dhe një kthesë instrumentale të paharrueshme. Teksti flet për ndjesinë e përgatitjes për një festë.
Si sugjerimet e thjeshta ashtu edhe ato komplekse mund t'ju japin rezultate të mira. Ne ju rekomandojmë të eksperimentoni me këto këshilla për të gjetur se çfarë funksionon më mirë për ju.
Zhanri
Udhëhiqeni kërkesën tuaj me zhanrin e muzikës që dëshironi, si hip hop, rock dhe rap. Mund të specifikoni një përzierje zhanresh:
- Një bashkim i metalit dhe repit
- Një kombinim i death metal-it dhe operës
- Një pjesë klasike me elementë elektronikë droni
- Muzikë moderne elektronike dance (EDM) e përzier me Europop
Ju gjithashtu mund të përfshini një epokë:
- Hip-hop i fillimit të viteve '90
- Muzika franceze ye-ye pop e viteve '60
- Eksperimentimi elektronik i viteve '80
- Popi kryesor i viteve 2000
Nëse kërkoni zhanre të personalizuara ose variante rajonale, si "Berlin techno" ose "Bay area hyphy", modeli do të përpiqet të kapë atë thelb, por mund të mos e bëjë gjithmonë siç duhet.
Instrumente
Si parazgjedhje, Lyria 3 do të krijojë këngë me instrumentet dhe mjetet që prisni për zhanrin. Nuk keni nevojë të jeni preskriptivë.
Megjithatë, një këngë vallëzimi nuk do të përfshijë një saksofon nëse nuk e kërkoni vetë. Pra, nëse dëshironi një solo saksofoni, duhet ta nxitni:
Një këngë vallëzimi me një ritëm emocionues, sintisajzerë vezullues dhe një refren tërheqës e himnik. Një solo saksofoni duhet të vijë gjatë urës.
Kërkesa juaj mund të përfshijë instrumente specifike, si tingëllojnë ato dhe si bashkëveprojnë me njëra-tjetrën. Mund ta përdorni këtë kombinim për të krijuar humor ose tekstura të caktuara:
- Një linjë basesh e ndyrë dhe e shtrembëruar që lufton kundër hi-hat-eve të pastra dhe të kthjellëta.
- Jastëkë sintisajzeri analogë të ngrohtë që fryhen poshtë një kitare akustike të thatë dhe intime
- Një mur tingulli i krijuar nga shtresa të shumëfishta kitarash të paqarta, me vokale të fshehura dhe të largëta
Struktura e këngës
Mund të përshkruajësh progresionin e një kënge në kërkesën tënde. Përdor shigjeta ose një listë për të përcaktuar rrjedhën:
-
[Intro]->[Verse 1]->[Chorus]->[Verse 2]->[Chorus]->[Bridge]->[Outro] - Filloni me një intro të qetë në piano, shndërrojeni në një varg të lartë, bini në heshtje dhe pastaj shpërtheni në refren.
Gjithashtu mund të specifikoni se si ndryshojnë nivelet e energjisë midis këtyre seksioneve:
- Ndërtoni tension në para-refren, pastaj bini në heshtje para një refreni masiv dhe shpërthyes.
- Një rritje graduale gjatë gjithë këngës, duke shtuar një instrument në të njëjtën kohë derisa të krijohet një mur kaotik tingulli.
- Ndalesë e papritur pas urës, e ndjekur nga një kor akapella
Gjithashtu mund të tregoni kohën e saktë kur dëshironi që diçka të ndodhë:
- Ndërto deri në një rënie në 12s
- Dikush thotë "çfarë" çdo 2 sekonda
- Refreni fillon në sekondat 22
Teksti i këngëve
Vokalet dhe tekstet gjenerohen si parazgjedhje. Mund të jepni tekstet tuaja, të mos kërkoni tekst (ose një instrumental) ose ta drejtoni gjenerimin e teksteve në drejtimin që dëshironi.
Teksti i këngës do të jetë në gjuhën në të cilën e shkruani kërkesën. Gjithashtu mund të kërkoni që teksti të jetë në një gjuhë tjetër, si p.sh. "Shkruajeni tekstin në frëngjisht".
Duke përdorur tekstet tuaja të këngëve
Për t'i dhënë modelit tekstin tënd të këngës, përfshiji ato në kërkesë me një parashtesë "Teksti i këngës:":
Lyrics:
[Intro]
Oooh, oooh
[Verse 1]
Let's go
Let's go
Go with the flow
[Chorus]
...
Mund t’u vini përpara disa pjesëve të këngës tituj seksionesh si [Intro] , [Verse 1] , [Pre-chorus] , [Chorus] dhe [Outro] .
Nëse dëshironi që një fjalë ose varg të përsëritet, si një jehonë ose nga këngëtarët mbështetës, mund ta përfshini atë në kllapa: "Le të shkojmë (shkojmë)".
Duke e nxitur modelen të shkruajë tekste
Nëse dëshironi që Lyria 3 të krijojë tekste për ju, është mirë që në kërkesën tuaj të përfshihen detaje se për çfarë do të bëhet fjalë në tekst. Përndryshe, modeli duhet të nxjerrë një temë nga kërkesa juaj muzikore dhe kjo mund të mos jetë ajo që dëshironi.
Teksti i këngës flet për dashurinë e humbur dhe dhimbjen e një zhgënjimi në zemër. Këngëtarja kujton një marrëdhënie të kaluar dhe kujtimet që i vijnë sërish në mendje.
Nëse dëshironi një refren që përsëritet, ndihmon ta kërkoni një të tillë në kërkesën tuaj:
Teksti i këngës flet për dashurinë e humbur dhe dhimbjen e zemërthyerjes. Këngëtarja kujton një marrëdhënie të kaluar dhe kujtimet që i rikthehen përsëri. Një refren i fuqishëm përqendrohet në kapërcimin e dhimbjes dhe në ecjen përpara.
Lyria 3 do ta drejtojë automatikisht strukturën e tekstit drejt llojit të muzikës që po kërkoni, por mund ta ritheksoni këtë edhe në kërkesën tuaj. Për shembull:
Një këngë EDM që përsërit të njëjtën frazë energjike vazhdimisht.
Gjithashtu mund të kërkoni efekte vokale që nuk janë vetëm tekste kënge, për shembull:
- Një pjesë përsëritëse nga një film thotë "Nuk mund ta besoj këtë!" gjatë gjithë këngës
- Një këngë tekno me energji të lartë, pak para se të bjerë tingulli ndalet dhe një zë i vogël thotë "Nuk e di çfarë po bëj këtu", pastaj muzika ndalet.
- Kënga hapet me një bisedë rreth filmave në vitet '90 që ishin më të mirë se sot. Më pas kënga kalon në një këngë pop.
Vokalet
Mund të kërkoni se si dëshironi të përkthehen tekstet. Për rezultatet më të mira, specifikoni një profil të detajuar të këngëtarit që mbulon gjininë, timbrin dhe gamën vokale.
- Soprano Femër : Timbër i qartë dhe kristalin me një cilësi të shkathët dhe fluturuese. E aftë të godasë nota të larta si fishkëllima me një teksturë të ajrosur dhe të frymëmarrshme.
- Alto femërore : Diapazoni i ulët i pasur, i ngrohtë dhe i ngjirur. Timbër i tymosur me një prekje të skuqjes vokale, shpirtërore dhe rezonante.
- Tenori Mashkullor : I ndritshëm, depërtues dhe energjik. Timbër rinor me një teh të lehtë hundor, që depërton nëpër përzierje me fuqi të lartë tingulli.
- Baritoni Mashkullor : I thellë, me shije çokollate dhe i butë si kadife. Zë rezonant në gjoks me një interpretim qetësues dhe këndues.
- Rocker i Weathered (Mashkull) : I ashpër dhe me teksturë me një timbër të çrregullt, që të kujton grunge-in e viteve '90. Diapazoni i sipërm i tendosur për intensitet emocional.
Parametra të tjerë të shpejtë
Gjithashtu mund të përfshini këto parametra për të përsosur më tej kërkesën tuaj:
- 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").
- Kohëzgjatja : Modeli i klipit prodhon gjithmonë klipe 30-sekondëshe. Për modelin Pro, specifikoni gjatësinë e dëshiruar në njoftimin 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ë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 .