Lyria 3.5 خانواده مدلهای تولید موسیقی Google است که ازطریق Gemini API دردسترس است. با Lyria 3.5، میتوانید از پیاموارههای نوشتاری یا از تصاویر، صدای استریو با کیفیت بالا و ۴۴.۱ کیلوهرتز تولید کنید. این مدلها انسجام ساختاری، ازجمله آواز، اشعار زمانبندیشده، و تنظیمهای کامل بیکلام را ارائه میدهند.
خانواده Lyria شامل مدلهای زیر است:
| مدل | شناسه مدل | بهترین برای | مدت | خروجی |
|---|---|---|---|---|
| Lyria 3 Clip | lyria-3-clip-preview |
کلیپهای کوتاه، حلقهها، پیشنمایشها | ۳۰ ثانیه | MP3 |
| Lyria 3.5 | lyria-3.5 |
آهنگهای کامل با بیتها، همسراییها، و بخشهای واسط | چند دقیقه (قابلکنترل ازطریق پیامواره) | MP3 |
هر دو مدل را میتوان بااستفاده از روش استاندارد generateContent و میانای برنامهسازی کاربردی تعاملات جدید استفاده کرد که از ورودیهای چندحالته (نوشتار و تصویر) پشتیبانی میکند و صدای استریو با وفاداری بالا ۴۴٫۱ کیلوهرتز تولید میکند.
تولید کلیپ موسیقی
مدل «کلیپ Lyria 3» همیشه کلیپ ۳۰ ثانیهای تولید میکند. برای تولید کلیپ، متد generateContent را با پیامواره نوشتاری فراخوانی کنید. پاسخ همیشه شامل ترانهسرایی تولیدشده و ساختار آهنگ در کنار صدا است.
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();
رفتن
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")
}
}
}
جاوا
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");
}
}
}
}
}
}
REST
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");
}
}
}
}
تولید آهنگ کامل
از مدل lyria-3.5 برای تولید آهنگهای کامل که چند دقیقه طول میکشند استفاده کنید. مدل «حرفهای» ساختار موسیقی را درک میکند و میتواند قطعات موسیقی با بیتها، همسراییها، و میانههای متمایز ایجاد کند. میتوانید با مشخص کردن مدت در پیامواره خود (برای مثال، «آهنگی ۲ دقیقهای بساز») یا با استفاده از مهر زمان برای تعریف ساختار، بر مدت زمان تأثیر بگذارید.
Python
response = client.models.generate_content(
model="lyria-3.5",
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.5",
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.",
});
رفتن
result, err := client.Models.GenerateContent(
ctx,
"lyria-3.5",
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,
)
جاوا
GenerateContentResponse response = client.models.generateContent(
"lyria-3.5",
"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.");
REST
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3.5: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.5",
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."
);
انتخاب قالب برونداد
بهطور پیشفرض، مدلهای Lyria 3.5 صدا را در قالب MP3 تولید میکنند. برای Lyria 3.5، همچنین میتوانید با تنظیم response_format در generationConfig، خروجی را در قالب WAV درخواست کنید.
Python
from google.genai import types
response = client.models.generate_content(
model="lyria-3.5",
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.5",
contents: "An atmospheric ambient track.",
config: {
responseModalities: ["AUDIO", "TEXT"],
responseFormat: { audio: { mimeType: "audio/wav" } },
},
});
رفتن
config := &genai.GenerateContentConfig{
ResponseModalities: []string{"AUDIO", "TEXT"},
ResponseMIMEType: "audio/wav",
}
result, err := client.Models.GenerateContent(
ctx,
"lyria-3.5",
genai.Text("An atmospheric ambient track."),
config,
)
جاوا
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.5",
"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.5",
contents: "An atmospheric ambient track.",
config: config
);
REST
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3.5: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" } }
}
}'
تجزیه کردن پاسخ
پاسخ Lyria 3.5 شامل چندین بخش است. بخشهای نوشتاری شامل
متن ترانه تولیدشده یا شرح JSON ساختار آهنگ است. بخشهای دارای
inline_data حاوی بایتهای صوتی است.
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);
}
رفتن
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)
}
}
جاوا
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);
}
REST
# 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
تولید موسیقی از تصاویر
Lyria 3.5 از ورودیهای چندحالته پشتیبانی میکند — میتوانید حداکثر ۱۰ تصویر همراه با پیامواره نوشتاریتان ارائه دهید و مدل موسیقی الهامگرفته از محتوای تصویری را آهنگسازی خواهد کرد.
Python
from PIL import Image
image = Image.open("desert_sunset.jpg")
response = client.models.generate_content(
model="lyria-3.5",
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.5",
contents: [
{ text: "An atmospheric ambient track inspired by the mood " +
"and colors in this image." },
{
inlineData: {
mimeType: "image/jpeg",
data: base64Image,
},
},
],
});
رفتن
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.5",
contents,
nil,
)
جاوا
GenerateContentResponse response = client.models.generateContent(
"lyria-3.5",
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")));
REST
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3.5: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.5",
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")
}
);

ارائه متن ترانه سفارشی
میتوانید متن ترانه خودتان را بنویسید و آن را در پیامواره بگنجانید. از برچسبهای بخش مانند [Verse]، [Chorus]، و [Bridge] استفاده کنید تا به مدل کمک کنید ساختار آهنگ را درک کند:
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.5",
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.5",
contents: prompt,
});
رفتن
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.5",
genai.Text(prompt),
nil,
)
جاوا
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.5",
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.5",
contents: prompt
);
REST
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3.5: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: ..."}
]
}]
}'
کنترل زمانبندی و ساختار
بااستفاده از مُهر زمان میتوانید دقیقاً مشخص کنید که در لحظات خاص آهنگ چه اتفاقی بیفتد. این برای کنترل زمان ورود سازها، زمان ارائه متن ترانه، و نحوه پیشرفت آهنگ مفید است:
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.5",
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.5",
contents: prompt,
});
رفتن
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.5",
genai.Text(prompt),
nil,
)
جاوا
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.5",
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.5",
contents: prompt
);
REST
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3.5:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "[0:00 - 0:10] Intro: ..."}
]
}]
}'
تولید قطعههای بیکلام
برای موسیقی پسزمینه، موسیقی متن بازیها، یا هر مورد استفادهای که در آن به آواز نیاز نیست، میتوانید از مدل بخواهید قطعات موسیقی بدون آواز تولید کند:
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.",
});
رفتن
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,
)
جاوا
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."
);
REST
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."}
]
}]
}'
تولید موسیقی به زبانهای مختلف
Lyria 3.5 اشعار را به زبان پیامواره شما تولید میکند. برای تولید آهنگ با متن ترانه فرانسوی، پیاموارهتان را به زبان فرانسوی بنویسید. این مدل سبک آوازی و تلفظ خود را با زبان تطبیق میدهد.
Python
response = client.models.generate_content(
model="lyria-3.5",
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.5",
contents: "Crée une chanson pop romantique en français sur un " +
"coucher de soleil à Paris. Utilise du piano et de " +
"la guitare acoustique.",
});
رفتن
result, err := client.Models.GenerateContent(
ctx,
"lyria-3.5",
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,
)
جاوا
GenerateContentResponse response = client.models.generateContent(
"lyria-3.5",
"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.5",
contents: "Crée une chanson pop romantique en français sur un " +
"coucher de soleil à Paris. Utilise du piano et de " +
"la guitare acoustique."
);
REST
curl -s -X POST \
"https://generativelanguage.googleapis.com/v1beta/models/lyria-3.5: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."}
]
}]
}'
هوش مدل
Lyria 3.5 فرایند پیامواره شما را تجزیهوتحلیل میکند و در آن مدل براساس پیامواره شما ساختار موسیقی (مقدمه، بیت، همخوان، پل، و غیره) را استدلال میکند. این کار قبلاز تولید صدا انجام میشود و انسجام ساختاری و موسیقیایی را تضمین میکند.
Interactions API (میانای برنامهسازی کاربردی تعاملات)
میتوانید از مدلهای Lyria 3.5 با Interactions API استفاده کنید؛ میانایی یکپارچه برای تعامل با مدلها و کارگزاران Gemini. این ویژگی مدیریت وضعیت و تکالیف طولانیمدت را برای موارد استفاده چندوجهی پیچیده ساده میکند.
Python
import base64
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="lyria-3.5",
input="A melancholic jazz fusion track in D minor, " +
"featuring a smooth saxophone melody, walking bass line, " +
"and complex drum rhythms.",
)
generated_audio = interaction.output_audio
if generated_audio:
with open("interaction_output.mp3", "wb") as f:
f.write(base64.b64decode(generated_audio.data))
print("Audio saved to interaction_output.mp3")
lyrics = interaction.output_text
if lyrics:
print(f"Lyrics:\n{lyrics}")
JavaScript
import { GoogleGenAI } from '@google/genai';
import * as fs from 'fs';
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: 'lyria-3.5',
input: 'A melancholic jazz fusion track in D minor, ' +
'featuring a smooth saxophone melody, walking bass line, ' +
'and complex drum rhythms.',
});
const generatedAudio = interaction.output_audio;
if (generatedAudio) {
fs.writeFileSync('interaction_output.mp3', Buffer.from(generatedAudio.data, 'base64'));
console.log('Audio saved to interaction_output.mp3');
}
const lyrics = interaction.output_text;
if (lyrics) {
console.log(`Lyrics:\n${lyrics}`);
}
REST
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.5",
"input": "A melancholic jazz fusion track in D minor, featuring a smooth saxophone melody, walking bass line, and complex drum rhythms."
}'
راهنمای پیامواره
برای آشنایی با نحوه ساختن پیاموارههای مؤثر برای ژانرهای موسیقی، سازها، ساختار آهنگ، نوشتار ترانه سفارشی، و سبکهای ارائه آوازی، به راهنمای پیامواره Lyria مراجعه کنید.
روالهای مطلوب
- ابتدا با «کلیپ» تکرار کنید. از مدل سریعتر
lyria-3-clip-previewاستفاده کنید تا قبلاز تعهد به تولید کامل باlyria-3.5، پیاموارهها را آزمایش کنید. - مشخص صحبت کنید. پیاموارههای مبهم نتایج کلی تولید میکنند. برای بهترین برونداد، سازها، ضرب در دقیقه، کلید، حالوهوا، و ساختار را ذکر کنید.
- زبان خود را مطابقت دهید. پیامواره به زبانی که میخواهید متن ترانه به آن زبان باشد.
- از برچسبهای بخش استفاده کنید. برچسبهای
[Verse]،[Chorus]،[Bridge]به مدل ساختار واضحی برای دنبال کردن میدهند. - متن ترانه را از دستورالعملها جدا کنید. هنگام ارائه متن ترانه سفارشی، آن را بهوضوح از دستورالعملهای جهتدهی موسیقی خود جدا کنید.
محدودیتها
- ایمنی: همه پیاموارهها توسط فیلترهای ایمنی بررسی میشوند. پیاموارههایی که فیلترها را راهاندازی کنند مسدود خواهند شد. این شامل پیاموارههایی میشود که صدای هنرمندان خاص یا تولید متن ترانه دارای حق نشر را درخواست میکنند.
- تهنقشگذاری: همه صداهای تولیدشده شامل تهنقش صوتی SynthID برای شناسایی هستند. این تهنقش برای گوش انسان نامحسوس است و بر تجربه شنیداری تأثیر نمیگذارد.
- ویرایش چندنوبتی: تولید موسیقی یک فرایند تکنوبتی است. ویرایش تکراری یا پالایش کلیپ تولیدشده ازطریق چندین پیامواره در نسخه فعلی Lyria 3.5 پشتیبانی نمیشود.
- طول: مدل «کلیپ» همیشه کلیپهای ۳۰ ثانیهای تولید میکند. مدل Pro آهنگهایی تولید میکند که چند دقیقه طول میکشند؛ مدت دقیق را میتوان ازطریق پیامواره شما تعیین کرد.
- قطعیت: نتایج ممکن است بین تماسها متفاوت باشد، حتی با پیامواره یکسان.
قدم بعدی چیست
- قیمت مدلهای Lyria 3.5 را بررسی کنید.
- با Lyria RealTime، تولید موسیقی جاریسازی همزمان را امتحان کنید.
- با مدلهای TTS مکالمههای چندنفره تولید کنید.
- با نحوه تولید تصاویر یا ویدیوها آشنا شوید.
- ببینید Gemini چگونه میتواند فایلهای صوتی را درک کند.
- بااستفاده از Live API، با Gemini مکالمه همزمان داشته باشید.