Lyria 3.5 خانوادهای از مدلهای تولید موسیقی گوگل است که از طریق Gemini API در دسترس است. با Lyria 3.5، میتوانید صدای استریو با کیفیت بالا و فرکانس ۴۴.۱ کیلوهرتز را از متن یا تصاویر تولید کنید. این مدلها انسجام ساختاری، از جمله آواز، اشعار زمانبندیشده و تنظیم کامل سازها را ارائه میدهند.
خانواده لیریا شامل مدلهای زیر است:
| مدل | شناسه مدل | بهترین برای | مدت زمان | خروجی |
|---|---|---|---|---|
| کلیپ لیریا ۳ | lyria-3-clip-preview | کلیپهای کوتاه، حلقهها، پیشنمایشها | ۳۰ ثانیه | ام پی۳ |
| لیریا ۳.۵ | lyria-3.5 | آهنگهای کامل با اشعار، همخوانیها، پلها | چند دقیقه (با استفاده از اعلان قابل کنترل است) | ام پی۳ |
هر دو مدل میتوانند با استفاده از API جدید Interactions ، که از ورودیهای چندوجهی (متن و تصویر) پشتیبانی میکند، مورد استفاده قرار گیرند و صدای استریو با کیفیت بالا و وضوح ۴۴.۱ کیلوهرتز تولید کنند.
یک کلیپ موسیقی تولید کنید
مدل Lyria 3 Clip همیشه یک کلیپ 30 ثانیهای تولید میکند. برای تولید یک کلیپ، متد interactions.create را با یک اعلان متنی فراخوانی کنید. پاسخ همیشه شامل اشعار تولید شده و ساختار آهنگ در کنار صدا در طرحواره steps است.
پایتون
import base64
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="lyria-3-clip-preview",
input="A short instrumental acoustic guitar piece.",
)
generated_audio = interaction.output_audio
if generated_audio:
with open("music.mp3", "wb") as f:
f.write(base64.b64decode(generated_audio.data))
lyrics = interaction.output_text
if lyrics:
print(f"Lyrics:\n{lyrics}")
جاوا اسکریپت
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: 'A short instrumental acoustic guitar piece.',
});
const generatedAudio = interaction.output_audio;
if (generatedAudio) {
fs.writeFileSync('music.mp3', Buffer.from(generatedAudio.data, 'base64'));
}
const lyrics = interaction.output_text;
if (lyrics) {
console.log(`Lyrics:\n${lyrics}`);
}
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
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": "A short instrumental acoustic guitar piece."
}'
شما میتوانید دادههای موسیقی تولید شده را با استفاده از ویژگی interaction.output_audio بازیابی کنید، که آخرین بلوک صوتی تولید شده را برمیگرداند. همچنین میتوانید با استفاده از ویژگی interaction.output_text ، اشعار و ساختار آهنگ را بازیابی کنید. برای جزئیات بیشتر در مورد ویژگیهای راحتی، به نمای کلی Interactions مراجعه کنید.
یک آهنگ کامل بسازید
از مدل lyria-3.5 برای تولید آهنگهای کامل که چند دقیقه طول میکشند استفاده کنید. مدل Pro ساختار موسیقی را درک میکند و میتواند آهنگهایی با بندها، ترجیعبندها و پلهای متمایز ایجاد کند. میتوانید با مشخص کردن مدت زمان در اعلان خود (مثلاً "ایجاد یک آهنگ ۲ دقیقهای") یا با استفاده از مهرهای زمانی برای تعریف ساختار، بر مدت زمان تأثیر بگذارید.
پایتون
interaction = client.interactions.create(
model="lyria-3.5",
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.",
)
جاوا اسکریپت
const interaction = await client.interactions.create({
model: 'lyria-3.5',
input: 'A beautiful piano melody.',
});
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
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 beautiful piano melody."
}'
انتخاب فرمت خروجی
به طور پیشفرض، مدلهای Lyria 3.5 صدا را با فرمت MP3 تولید میکنند. برای Lyria 3.5، میتوانید با تنظیم response_format ، خروجی را با فرمت WAV نیز درخواست کنید.
پایتون
interaction = client.interactions.create(
model="lyria-3.5",
input="A beautiful piano melody.",
response_format={"type": "audio"},
)
جاوا اسکریپت
const interaction = await client.interactions.create({
model: 'lyria-3.5',
input: 'A beautiful piano melody.',
response_format: {
type: 'audio',
},
});
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
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.5",
"input": "A beautiful piano melody.",
"response_format": {
"type": "audio"
}
}'
پاسخ را تجزیه کنید
پاسخ Lyria 3.5 شامل چندین بلوک محتوا در طرحواره steps است. Interactions توالی مراحل را برمیگرداند، که در آن مراحل model_output حاوی محتوای تولید شده هستند. بلوکهای محتوای متنی حاوی اشعار تولید شده یا توضیحات JSON از ساختار آهنگ هستند. بلوکهای محتوا با نوع audio حاوی دادههای صوتی کدگذاری شده base64 هستند.
پایتون
lyrics = []
audio_data = None
generated_audio = interaction.output_audio
if generated_audio:
with open("output.mp3", "wb") as f:
f.write(base64.b64decode(generated_audio.data))
lyrics = interaction.output_text
if lyrics:
print(f"Lyrics:\n{lyrics}")
جاوا اسکریپت
const lyrics = [];
let audioData = null;
const generatedAudio = interaction.output_audio;
if (generatedAudio) {
fs.writeFileSync("output.mp3", Buffer.from(generatedAudio.data, 'base64'));
}
const lyrics = interaction.output_text;
if (lyrics) {
console.log("Lyrics:\n" + lyrics);
}
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
# 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
اشعار و موسیقی درهم تنیده
از آنجا که خروجی Lyria 3.5 پیچیده است - شامل مراحل و بلوکهای جداگانه برای اشعار تولید شده (متن) و خود آهنگ (صوت) - ویژگیهای راحتی یک میانبر سریع و توصیهشده ارائه میدهند.
با این حال، اگر میخواهید کنترل کامل و برنامهریزیشدهای بر جدول زمانی خام مراحل برگردانده شده توسط سرور داشته باشید (مانند ثبت بلوکهای محتوای تک تک هنگام دریافت آنها)، میتوانید به جای آن، steps به صورت دستی تکرار کنید:
پایتون
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)
جاوا اسکریپت
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);
}
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
تولید موسیقی از تصاویر
Lyria 3.5 از ورودیهای چندوجهی پشتیبانی میکند - شما میتوانید تا 10 تصویر را در کنار متن خود در لیست input ارائه دهید و مدل با الهام از محتوای بصری، موسیقی میسازد.
پایتون
import base64
with open("desert_sunset.jpg", "rb") as f:
image_bytes = f.read()
image_b64 = base64.b64encode(image_bytes).decode("utf-8")
response = client.interactions.create(
model="lyria-3.5",
input=[
{
"type": "text",
"text": "An atmospheric ambient track inspired by the mood and colors in this image.",
},
{
"type": "image",
"mime_type": "image/jpeg",
"data": image_b64,
},
],
)
جاوا اسکریپت
import * as fs from "fs";
const imageBytes = fs.readFileSync("desert_sunset.jpg").toString("base64");
const interaction = await client.interactions.create({
model: "lyria-3.5",
input: [
{
type: "text",
text: "An atmospheric ambient track inspired by the mood and colors in this image.",
},
{
type: "image",
mime_type: "image/jpeg",
data: imageBytes,
},
],
});
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
# Pass base64 encoded image data directly:
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.5",
"input": [
{"type": "text", "text": "An atmospheric ambient track inspired by the mood and colors in this image."},
{"type": "image", "mime_type": "image/jpeg", "data": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////wgALCAABAAEBAREA/8QAFBABAAAAAAAAAAAAAAAAAAAAAP/aAAgBAQABPxA="}
]
}'
ارائه اشعار سفارشی
شما میتوانید اشعار خودتان را بنویسید و آنها را در اعلان قرار دهید. از برچسبهای بخش مانند [Verse] ، [Chorus] و [Bridge] برای کمک به مدل در درک ساختار آهنگ استفاده کنید:
پایتون
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.5",
input=prompt,
)
جاوا اسکریپت
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.5',
input: prompt,
});
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
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.5",
"input": "Create a dreamy indie pop song with the following lyrics: ..."
}'
کنترل زمان و ساختار
شما میتوانید با استفاده از مهرهای زمانی دقیقاً مشخص کنید که در لحظات خاص آهنگ چه اتفاقی میافتد. این برای کنترل زمان ورود سازها، زمان اجرای اشعار و نحوه پیشرفت آهنگ مفید است:
پایتون
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.5",
input=prompt,
)
جاوا اسکریپت
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.5',
input: prompt,
});
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
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.5",
"input": "[0:00 - 0:10] Intro: ..."
}'
آهنگهای بیکلام تولید کنید
برای موسیقی پسزمینه، موسیقی متن بازی یا هر مورد استفادهای که در آن نیازی به آواز نیست، میتوانید مدل را طوری تنظیم کنید که فقط آهنگهای بیکلام تولید کند:
پایتون
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.",
)
جاوا اسکریپت
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.',
});
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
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."
}'
تولید موسیقی به زبانهای مختلف
Lyria 3.5 اشعار را به زبان سوال شما تولید میکند. برای تولید آهنگی با اشعار فرانسوی، سوال خود را به زبان فرانسوی بنویسید. این مدل سبک صوتی و تلفظ خود را برای مطابقت با زبان تطبیق میدهد.
پایتون
interaction = client.interactions.create(
model="lyria-3.5",
input="Crée une chanson pop romantique en français sur un coucher de soleil à Paris. Utilise du piano et de la guitare acoustique.",
)
جاوا اسکریپت
const interaction = await client.interactions.create({
model: 'lyria-3.5',
input: 'Crée une chanson pop romantique en français sur un coucher de soleil à Paris. Utilise du piano et de la guitare acoustique.',
});
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ResponseModality;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
Client client = new Client();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("lyria-3-generate-001"))
.responseModalities(Arrays.asList(ResponseModality.AUDIO))
.input(InteractionsInput.of("Upbeat electronic synthwave track"))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Audio generated: " + interaction.outputAudio().isPresent());
استراحت
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.5",
"input": "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 فرآیند اجرای شما را تجزیه و تحلیل میکند، به این صورت که مدل بر اساس ساختار موسیقی (مقدمه، مصراع، همخوانی، پل و غیره) بر اساس اجرای شما استدلال میکند. این کار قبل از تولید صدا انجام میشود و انسجام ساختاری و موسیقیایی بودن را تضمین میکند.
راهنمای راهنمایی
سوال شما میتواند به سادگی «یک آهنگ محلی درباره گربههای بامزه که از گودالهای آب، صدای زنان و صدای باران دوری میکنند» باشد، یا چیزی مفصل و ساختارمند مانند:
یک قطعهی سینثپاپ به سبک دههی ۱۹۸۰ با ضربآهنگی محرک، سینتیسایزرهای درخشان و یک بخش همخوانی جذاب و سرودگونه. این آهنگ باید حال و هوایی رترو-فوتوریستی داشته باشد، یادآور آهنگهای پاپ کلاسیک دههی ۸۰، با پرداختی مدرن. تمپو باید شاد و رقصآور باشد، حدود ۱۲۰ ضربه در دقیقه، با ساختار واضح و بخش همخوانی و یک ملودی بیکلام خاطرهانگیز. شعر آهنگ دربارهی حس آماده شدن برای یک مهمانی است.
هم دستورالعملهای ساده و هم دستورالعملهای پیچیده میتوانند خروجیهای خوبی به شما بدهند. این نکات را امتحان کنید تا بفهمید چه چیزی برای شما بهتر جواب میدهد.
ژانر
سوال خود را با ژانر موسیقی مورد نظر خود، مانند هیپ هاپ، راک و رپ، شروع کنید. میتوانید ترکیبی از ژانرها را مشخص کنید:
- تلفیقی از متال و رپ
- ترکیبی از دث متال و اپرا
- یک قطعه کلاسیک با عناصر الکترونیکی پهپاد
- موسیقی رقص الکترونیک مدرن (EDM) آمیخته با یوروپاپ
شما همچنین میتوانید یک دوره را در نظر بگیرید:
- هیپ هاپ اوایل دهه ۹۰ میلادی
- یه یه پاپ فرانسوی دهه ۶۰ میلادی
- آزمایشهای الکترونیکی دهه ۸۰ میلادی
- موسیقی پاپ جریان اصلی دهه ۲۰۰۰
اگر ژانرهای سفارشی یا انواع منطقهای، مانند «برلین تکنو» یا «سانفرانسیسکوی منطقه خلیج» را درخواست کنید، مدل تلاش میکند تا آن جوهره را به تصویر بکشد، اما ممکن است همیشه این کار را درست انجام ندهد.
سازها
به طور پیشفرض، Lyria 3.5 با سازها و ابزارهایی که برای این ژانر موسیقی انتظار دارید، آهنگ میسازد. لازم نیست برای هر کدام از آنها دستورالعملی داشته باشید.
با این حال، یک آهنگ رقص شامل ساکسیفون نخواهد بود مگر اینکه خودتان درخواست کنید. بنابراین اگر میخواهید تکنوازی ساکسیفون داشته باشید، باید آن را درخواست کنید:
یک قطعه رقص با ضرب آهنگی محرک، سینتیسایزرهای درخشان و یک گروه کر جذاب و سرودگونه. در طول اجرای بریج، باید تکنوازی ساکسیفون هم وجود داشته باشد.
متن شما میتواند شامل سازهای خاص، نحوهی صدای آنها و نحوهی تعامل آنها با یکدیگر باشد. میتوانید از این ترکیب برای ایجاد حال و هوا یا بافتهای خاص استفاده کنید:
- یک بیسلاین کثیف و تحریفشده که در مقابل هایهتهای تمیز و واضح قرار میگیرد
- پدهای سینتیسایزر آنالوگ گرم، زیر گیتار آکوستیک خشک و دلنشین متورم شدهاند
- دیواری از صدا که توسط لایههای متعدد گیتارهای فازی ایجاد شده است، به همراه آوازهای پنهان و دوردست
ساختار آهنگ
شما میتوانید روند یک آهنگ را در دستور خود مشخص کنید. از فلش یا لیست برای تعریف جریان استفاده کنید:
-
[Intro]->[Verse 1]->[Chorus]->[Verse 2]->[Chorus]->[Bridge]->[Outro] - با یک مقدمهی آرام پیانو شروع کنید، به یک بیت بلند برسید، به سکوت فرو بروید، سپس با بخش همخوانی منفجر شوید.
همچنین میتوانید مشخص کنید که چگونه سطح انرژی بین این بخشها تغییر میکند:
- در پیشهمخوانی تنش ایجاد کنید، سپس قبل از یک همخوان عظیم و انفجاری، سکوت برقرار کنید
- اوج تدریجی در طول آهنگ، اضافه شدن یک ساز به نوبت تا زمانی که دیوار صوتی آشفتهای ایجاد شود
- توقف ناگهانی پس از خرک، و به دنبال آن همخوانی آکاپلا
همچنین میتوانید زمان دقیقی را که میخواهید اتفاق بیفتد، مشخص کنید:
- در ۱۲ ثانیه تا یک افت پیش بروید
- هر دو ثانیه یکی میگه "چی"
- همخوانی از ثانیه ۲۲ شروع میشود
متن آهنگ
صدا و متن آهنگ به صورت پیشفرض تولید میشوند. میتوانید متن آهنگ خودتان را ارائه دهید، درخواست متن آهنگ نکنید (یا آهنگ بیکلام ندهید) یا متن آهنگ را به سمتی که میخواهید هدایت کنید.
متن آهنگ شما به زبانی خواهد بود که سوال خود را با آن مینویسید. همچنین میتوانید درخواست کنید که متن آهنگ به زبان دیگری باشد، مثلاً «متن آهنگ را به فرانسوی بنویسید».
استفاده از اشعار خودتان
برای اینکه متن آهنگ خودتان را به مدل بدهید، آن را با پیشوند "Lyrics:" در اعلان قرار دهید:
Lyrics:
[Intro]
Oooh, oooh
[Verse 1]
Let's go
Let's go
Go with the flow
[Chorus]
...
شما میتوانید بخشهایی از آهنگ را با عناوینی مانند [Intro] ، [Verse 1] ، [Pre-chorus] ، [Chorus] و [Outro] شروع کنید.
اگر میخواهید یک کلمه یا سطر تکرار شود، مانند اکو یا با صدای خوانندگان پشتیبان، میتوانید آن را داخل پرانتز قرار دهید: «بزن بریم (برو)».
ترغیب مدل به نوشتن اشعار
اگر میخواهید Lyria 3.5 برای شما ترانه بسازد، بهتر است جزئیات مربوط به ترانه را در سوال خود ذکر کنید. در غیر این صورت، مدل باید موضوعی را از سوال موسیقی شما استنباط کند و ممکن است آن چیزی نباشد که شما میخواهید.
اشعار این آهنگ درباره عشق از دست رفته و درد دلشکستگی است. خواننده در حال یادآوری یک رابطه گذشته و خاطراتی است که دوباره به سراغش میآیند.
اگر میخواهید یک همخوانی تکرارشونده داشته باشید، درخواست آن در سوالتان مفید خواهد بود:
اشعار این آهنگ درباره عشق از دست رفته و درد دلشکستگی است. خواننده در حال یادآوری یک رابطه گذشته و خاطراتی است که دوباره به سراغش میآیند. یک همخوانی قدرتمند بر غلبه بر درد و ادامه دادن تمرکز دارد.
Lyria 3.5 به طور خودکار ساختار اشعار را به سمت نوع موسیقی مورد نظر شما هدایت میکند، اما میتوانید این موضوع را در درخواست خود نیز مجدداً تأکید کنید. برای مثال:
یک آهنگ EDM که یک عبارت پرانرژی را بارها و بارها تکرار میکند.
همچنین میتوانید جلوههای صوتی را که دقیقاً مربوط به اشعار نیستند، درخواست کنید، برای مثال:
- یک نمونه تکراری از یک فیلم در طول آهنگ میگوید: «باورم نمیشه!»
- یک آهنگ تکنوی پرانرژی، درست قبل از شروع آهنگ، صدا کاملاً متوقف میشود و صدای آرامی میگوید: «نمیدانم اینجا چه کار میکنم»، سپس موسیقی قطع میشود.
- این آهنگ با گفتگویی در مورد بهتر بودن فیلمهای دهه نود میلادی نسبت به امروز آغاز میشود. سپس آهنگ به یک آهنگ پاپ تبدیل میشود.
آواز
میتوانید نحوهی ارائهی متن آهنگ را از قبل تعیین کنید. برای بهترین نتیجه، یک پروفایل دقیق از خواننده که شامل جنسیت، طنین و محدودهی صوتی باشد، مشخص کنید.
- سوپرانوی زن : طنین شفاف و کریستالی با کیفیتی چابک و اوجگیرنده. قادر به نواختن نتهای سوت مانند بالا با بافتی سبک و نفسگیر.
- آلتو زنانه : غنی، گرم و بمتر. رنگ دودی با کمی سرخی صدا، پراحساس و طنینانداز.
- تنور مردانه : روشن، نافذ و پرانرژی. رنگ صدای جوانی با کمی تُنِ خیشومی، که با قدرت بالای طنیناندازی، از میان طیفهای صوتی عبور میکند.
- صدای باریتون مردانه : عمیق، شکلاتی و مخملی-صاف. صدای طنینانداز در سینه با صدایی آرامشبخش و زمزمهوار.
- راکر کهنهکار (مرد) : صدایی گوشخراش و با بافتی زبر، یادآور گرانج دهه نود. محدوده بالای صدا برای شدت احساسی بیشتر، فشردهتر شده است.
سایر پارامترهای اعلان
همچنین میتوانید این پارامترها را برای اصلاح بیشتر اعلان خود وارد کنید:
- BPM : سرعت را تنظیم کنید (مثلاً "120 BPM"، "سرعت آهسته حدود 70 BPM").
- کلید/گام : یک گام موسیقی مشخص کنید (مثلاً «در سل ماژور»، «رِ مینور»).
- حال و هوا و فضا : از صفات توصیفی استفاده کنید (مثلاً «نوستالژیک»، «پرخاشگرانه»، «اثیری»، «رویایی»).
- مدت زمان : مدل کلیپ همیشه کلیپهای ۳۰ ثانیهای تولید میکند. برای مدل پرو، مدت زمان مورد نظر را در اعلان خود مشخص کنید (مثلاً «یک آهنگ ۲ دقیقهای ایجاد کنید») یا از مهرهای زمانی برای کنترل مدت زمان استفاده کنید.
مثالهای پیشنهادی
در اینجا چند نمونه از پیامهای انگیزشی مؤثر آورده شده است:
-
"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."
بهترین شیوهها
- ابتدا با Clip تکرار کنید. قبل از اینکه با
lyria-3.5به تولید کامل بپردازید، از مدل سریعترlyria-3-clip-previewبرای آزمایش دستورات استفاده کنید. - دقیق باشید. دستورالعملهای مبهم نتایج کلی ایجاد میکنند. برای بهترین خروجی، سازها، ریتم، گام، حال و هوا و ساختار را ذکر کنید.
- زبان خود را مطابقت دهید. به زبانی که میخواهید متن آهنگ به آن باشد، درخواست دهید.
- از تگهای بخش استفاده کنید. تگهای
[Verse]،[Chorus]،[Bridge]به مدل ساختار واضحی برای دنبال کردن میدهند. - اشعار را از دستورالعملها جدا کنید. هنگام ارائه اشعار سفارشی، آنها را به وضوح از دستورالعملهای جهتگیری موسیقی خود جدا کنید.
محدودیتها
- ایمنی : همه درخواستها توسط فیلترهای ایمنی بررسی میشوند. درخواستهایی که فیلترها را فعال میکنند مسدود خواهند شد. این شامل درخواستهایی میشود که صدای هنرمند خاصی را درخواست میکنند یا اشعار دارای حق چاپ را تولید میکنند.
- واترمارک : تمام صداهای تولید شده شامل یک واترمارک صوتی SynthID برای شناسایی هستند. این واترمارک برای گوش انسان غیرقابل مشاهده است و بر تجربه شنیداری تأثیری نمیگذارد.
- ویرایش چند مرحلهای : تولید موسیقی یک فرآیند تک مرحلهای است. ویرایش یا اصلاح مکرر یک کلیپ تولید شده از طریق چندین دستور در نسخه فعلی Lyria 3.5 پشتیبانی نمیشود.
- مدت زمان : مدل کلیپ همیشه کلیپهای ۳۰ ثانیهای تولید میکند. مدل پرو آهنگهایی تولید میکند که چند دقیقه طول میکشند؛ مدت زمان دقیق را میتوان از طریق اعلان شما تغییر داد.
- جبرگرایی : نتایج ممکن است بین فراخوانیها، حتی با یک درخواست یکسان، متفاوت باشد.
قدم بعدی چیست؟
- قیمت مدلهای Lyria 3.5 را بررسی کنید.
- با Lyria RealTime ، تولید موسیقی به صورت آنلاین و استریم را امتحان کنید.
- مکالمات چند گوینده را با مدلهای TTS ایجاد کنید.
- نحوه تولید تصاویر یا ویدیوها را کشف کنید.
- دریابید که Gemini چگونه میتواند فایلهای صوتی را درک کند .
- با استفاده از Live API با Gemini مکالمهای بلادرنگ داشته باشید.