Lyria 3 দিয়ে সঙ্গীত তৈরি করুন
লাইরিয়া ৩ হলো গুগলের মিউজিক জেনারেশন মডেলের একটি সিরিজ, যা জেমিনি এপিআই (Gemini API)-এর মাধ্যমে পাওয়া যায়। লাইরিয়া ৩ ব্যবহার করে আপনি টেক্সট প্রম্পট বা ছবি থেকে উচ্চ-মানের, ৪৪.১ কিলোহার্টজ স্টেরিও অডিও তৈরি করতে পারেন। এই মডেলগুলো কাঠামোগত সামঞ্জস্য প্রদান করে, যার মধ্যে রয়েছে কণ্ঠস্বর, সময়ানুবর্তী গানের কথা এবং সম্পূর্ণ যন্ত্রসংগীতের আয়োজন।
লাইরিয়া ৩ পরিবারে দুটি মডেল অন্তর্ভুক্ত রয়েছে:
| মডেল | মডেল আইডি | সেরা | সময়কাল | আউটপুট |
|---|---|---|---|---|
| লিরিয়া ৩ ক্লিপ | lyria-3-clip-preview | ছোট ক্লিপ, লুপ, প্রিভিউ | ৩০ সেকেন্ড | এমপি৩ |
| লাইরিয়া ৩ প্রো | lyria-3-pro-preview | পদ, অন্তরা ও অন্তর্বর্তী অংশসহ পূর্ণাঙ্গ গান | কয়েক মিনিট (প্রম্পট ব্যবহার করে নিয়ন্ত্রণযোগ্য) | এমপি৩ |
উভয় মডেলই নতুন ইন্টারঅ্যাকশনস এপিআই (Interactions API) ব্যবহার করে চালানো যায়, যা মাল্টিমোডাল ইনপুট (টেক্সট এবং ছবি) সমর্থন করে এবং ৪৪.১ কিলোহার্টজ হাই-ফিডেলিটি স্টেরিও অডিও তৈরি করে।
একটি মিউজিক ক্লিপ তৈরি করুন
Lyria 3 Clip মডেলটি সর্বদা একটি ৩০-সেকেন্ডের ক্লিপ তৈরি করে। একটি ক্লিপ তৈরি করতে, একটি টেক্সট প্রম্পট সহ interactions.create মেথডটি কল করুন। রেসপন্সটিতে steps স্কিমাতে অডিওর পাশাপাশি তৈরি হওয়া লিরিক এবং গানের কাঠামোও সর্বদা অন্তর্ভুক্ত থাকে।
পাইথন
import base64
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="lyria-3-clip-preview",
input="Create a 30-second cheerful acoustic folk song with guitar and harmonica.",
)
for step in interaction.steps:
if step.type == "model_output":
for content_block in step.content:
if content_block.type == "audio":
print(f"Generated audio with mime_type: {content_block.mime_type}")
with open("music.mp3", "wb") as f:
f.write(base64.b64decode(content_block.data))
elif content_block.type == "text":
print(f"Lyrics: {content_block.text}")
জাভাস্ক্রিপ্ট
import { GoogleGenAI } from '@google/genai';
import * as fs from 'fs';
const client = new GoogleGenAI({});
const interaction = await client.interactions.create({
model: 'lyria-3-clip-preview',
input: 'Create a 30-second cheerful acoustic folk song with ' +
'guitar and harmonica.',
});
for (const step of interaction.steps) {
if (step.type === 'model_output') {
for (const contentBlock of step.content) {
if (contentBlock.type === 'audio') {
console.log(`Generated audio with mime_type: ${contentBlock.mimeType}`);
fs.writeFileSync('music.mp3', Buffer.from(contentBlock.data, 'base64'));
} else if (contentBlock.type === 'text') {
console.log(`Lyrics: ${contentBlock.text}`);
}
}
}
}
বিশ্রাম
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"model": "lyria-3-clip-preview",
"input": "Create a 30-second cheerful acoustic folk song with guitar and harmonica."
}'
একটি পূর্ণ দৈর্ঘ্যের গান তৈরি করুন
কয়েক মিনিটের পূর্ণ দৈর্ঘ্যের গান তৈরি করতে lyria-3-pro-preview মডেলটি ব্যবহার করুন। প্রো মডেলটি সঙ্গীতের কাঠামো বোঝে এবং স্বতন্ত্র ভার্স, কোরাস ও ব্রিজ সহ কম্পোজিশন তৈরি করতে পারে। আপনি আপনার প্রম্পটে সময়কাল নির্দিষ্ট করে (যেমন, "একটি ২-মিনিটের গান তৈরি করুন") অথবা টাইমস্ট্যাম্প ব্যবহার করে এর কাঠামো নির্ধারণ করে সময়কালকে প্রভাবিত করতে পারেন।
পাইথন
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input="An epic cinematic orchestral piece about a journey home. Starts with a solo piano intro, builds through sweeping strings, and climaxes with a massive wall of sound.",
)
জাভাস্ক্রিপ্ট
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: 'An epic cinematic orchestral piece about a journey home. ' +
'Starts with a solo piano intro, builds through sweeping ' +
'strings, and climaxes with a massive wall of sound.',
});
বিশ্রাম
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"model": "lyria-3-pro-preview",
"input": "An epic cinematic orchestral piece about a journey home. Starts with a solo piano intro, builds through sweeping strings, and climaxes with a massive wall of sound."
}'
আউটপুট ফরম্যাট নির্বাচন করুন
ডিফল্টরূপে, Lyria 3 মডেলগুলো MP3 ফরম্যাটে অডিও তৈরি করে। Lyria 3 Pro-এর ক্ষেত্রে, আপনি response_mime_type সেট করে WAV ফরম্যাটেও আউটপুটের জন্য অনুরোধ করতে পারেন।
পাইথন
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input="An atmospheric ambient track.",
response_modalities=["audio", "text"],
response_mime_type="audio/wav",
)
জাভাস্ক্রিপ্ট
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: 'An atmospheric ambient track.',
responseModalities: ["audio", "text"],
responseMimeType: "audio/wav",
});
বিশ্রাম
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-pro-preview",
"input": "An atmospheric ambient track.",
"responseModalities": ["audio", "text"],
"responseMimeType": "audio/wav"
}'
প্রতিক্রিয়াটি বিশ্লেষণ করুন
Lyria 3 থেকে প্রাপ্ত রেসপন্সে steps স্কিমার মধ্যে একাধিক কন্টেন্ট ব্লক থাকে। ইন্টারঅ্যাকশনগুলো ধাপগুলোর একটি ক্রম ফেরত দেয়, যেখানে model_output steps-গুলোতে তৈরি করা কন্টেন্ট থাকে। Text কন্টেন্ট ব্লকগুলোতে তৈরি করা গানের কথা অথবা গানের কাঠামোর একটি JSON বিবরণ থাকে। audio টাইপের কন্টেন্ট ব্লকগুলোতে base64 এনকোড করা অডিও ডেটা থাকে।
পাইথন
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);
}
বিশ্রাম
# 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
ছবি থেকে সঙ্গীত তৈরি করুন
লাইরিয়া ৩ মাল্টিমোডাল ইনপুট সমর্থন করে — আপনি input তালিকায় আপনার টেক্সট প্রম্পটের পাশাপাশি ১০টি পর্যন্ত ছবি দিতে পারেন এবং মডেলটি সেই ভিজ্যুয়াল কন্টেন্ট থেকে অনুপ্রাণিত হয়ে সঙ্গীত রচনা করবে।
পাইথন
uploaded_image = client.files.upload(file="desert_sunset.jpg")
response = client.interactions.create(
model="lyria-3-pro-preview",
input=[
{"type": "text", "text": "An atmospheric ambient track inspired by the mood and colors in this image."},
{
"type": "image",
"uri": uploaded_image.uri,
"mime_type": uploaded_image.mime_type
}
],
)
জাভাস্ক্রিপ্ট
const uploadedImage = await client.files.upload({
file: "desert_sunset.jpg",
config: { mimeType: "image/jpeg" }
});
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: [
{ type: 'text', text: 'An atmospheric ambient track inspired by the mood and colors in this image.' },
{
type: 'image',
uri: uploadedImage.uri,
mimeType: uploadedImage.mimeType
}
],
});
বিশ্রাম
# First upload the image using the Files API, then use the URI:
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "lyria-3-pro-preview",
"input": [
{"type": "text", "text": "An atmospheric ambient track inspired by the mood and colors in this image."},
{"type": "image", "uri": "YOUR_FILE_URI", "mime_type": "image/jpeg"}
]
}'
নিজস্ব গানের কথা দিন
আপনি নিজের লিরিক লিখে প্রম্পটে অন্তর্ভুক্ত করতে পারেন। মডেলকে গানের কাঠামো বুঝতে সাহায্য করার জন্য [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-pro-preview",
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-pro-preview',
input: prompt,
});
বিশ্রাম
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-pro-preview",
"input": "Create a dreamy indie pop song with the following lyrics: ..."
}'
সময় এবং কাঠামো নিয়ন্ত্রণ করুন
টাইমস্ট্যাম্প ব্যবহার করে আপনি গানের নির্দিষ্ট মুহূর্তে ঠিক কী ঘটবে তা সুনির্দিষ্টভাবে নির্ধারণ করতে পারেন। বাদ্যযন্ত্র কখন প্রবেশ করবে, গানের কথা কখন পরিবেশিত হবে এবং গানটি কীভাবে এগোবে, তা নিয়ন্ত্রণ করার জন্য এটি কার্যকর।
পাইথন
prompt = """
[0:00 - 0:10] Intro: Begin with a soft lo-fi beat and muffled
vinyl crackle.
[0:10 - 0:30] Verse 1: Add a warm Fender Rhodes piano melody
and gentle vocals singing about a rainy morning.
[0:30 - 0:50] Chorus: Full band with upbeat drums and soaring
synth leads. The lyrics are hopeful and uplifting.
[0:50 - 1:00] Outro: Fade out with the piano melody alone.
"""
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input=prompt,
)
জাভাস্ক্রিপ্ট
const prompt = `
[0:00 - 0:10] Intro: Begin with a soft lo-fi beat and muffled
vinyl crackle.
[0:10 - 0:30] Verse 1: Add a warm Fender Rhodes piano melody
and gentle vocals singing about a rainy morning.
[0:30 - 0:50] Chorus: Full band with upbeat drums and soaring
synth leads. The lyrics are hopeful and uplifting.
[0:50 - 1:00] Outro: Fade out with the piano melody alone.
`;
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: prompt,
});
বিশ্রাম
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-pro-preview",
"input": "[0:00 - 0:10] Intro: ..."
}'
যন্ত্রসংগীতের ট্র্যাক তৈরি করুন
ব্যাকগ্রাউন্ড মিউজিক, গেম সাউন্ডট্র্যাক, বা এমন যেকোনো ক্ষেত্রে যেখানে ভোকালের প্রয়োজন নেই, আপনি মডেলটিকে শুধুমাত্র যন্ত্রসংগীতের ট্র্যাক তৈরি করতে নির্দেশ দিতে পারেন:
পাইথন
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.',
});
বিশ্রাম
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."
}'
বিভিন্ন ভাষায় সঙ্গীত তৈরি করুন
লিরিয়া ৩ আপনার দেওয়া নির্দেশনার ভাষাতেই গানের কথা তৈরি করে। ফরাসি ভাষায় গান তৈরি করতে, আপনার নির্দেশনাটি ফরাসি ভাষায় লিখুন। মডেলটি ভাষার সাথে মিলিয়ে এর কণ্ঠশৈলী এবং উচ্চারণকে মানিয়ে নেয়।
পাইথন
interaction = client.interactions.create(
model="lyria-3-pro-preview",
input="Crée une chanson pop romantique en français sur un coucher de soleil à Paris. Utilise du piano et de la guitare acoustique.",
)
জাভাস্ক্রিপ্ট
const interaction = await client.interactions.create({
model: 'lyria-3-pro-preview',
input: 'Crée une chanson pop romantique en français sur un coucher de soleil à Paris. Utilise du piano et de la guitare acoustique.',
});
বিশ্রাম
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "lyria-3-pro-preview",
"input": "Crée une chanson pop romantique en français sur un coucher de soleil à Paris. Utilise du piano et de la guitare acoustique."
}'
মডেল ইন্টেলিজেন্স
লাইরিয়া ৩ আপনার প্রম্পট প্রক্রিয়া বিশ্লেষণ করে, যেখানে মডেলটি আপনার প্রম্পটের উপর ভিত্তি করে সঙ্গীতের কাঠামো (ইন্ট্রো, ভার্স, কোরাস, ব্রিজ, ইত্যাদি) নিয়ে যুক্তি দিয়ে কাজ করে। এটি অডিও তৈরি হওয়ার আগেই ঘটে এবং কাঠামোগত সামঞ্জস্য ও সঙ্গীতময়তা নিশ্চিত করে।
প্রম্পটিং গাইড
আপনার নির্দেশ যত সুনির্দিষ্ট হবে, ফলাফল তত ভালো হবে। জেনারেশনকে নির্দেশিত করতে আপনি যা যা অন্তর্ভুক্ত করতে পারেন তা নিচে দেওয়া হলো:
- ধরণ : একটি ধরণ বা একাধিক ধরণের মিশ্রণ উল্লেখ করুন (যেমন, "লো-ফাই হিপ হপ", "জ্যাজ ফিউশন", "সিনেমাটিক অর্কেস্ট্রাল")।
- বাদ্যযন্ত্র : নির্দিষ্ট বাদ্যযন্ত্রগুলোর নাম উল্লেখ করুন (যেমন, "ফেন্ডার রোডস পিয়ানো", "স্লাইড গিটার", "টিআর-৮০৮ ড্রাম মেশিন")।
- BPM : টেম্পো সেট করুন (যেমন, "১২০ BPM", "প্রায় ৭০ BPM-এর ধীর টেম্পো")।
- কী/স্কেল : একটি সাংগীতিক কী উল্লেখ করুন (যেমন, "জি মেজর", "ডি মাইনর")।
- মেজাজ ও পরিবেশ : বর্ণনামূলক বিশেষণ ব্যবহার করুন (যেমন, 'স্মৃতিময়', 'আক্রমণাত্মক', 'স্বর্গীয়', 'স্বপ্নময়')।
- কাঠামো : গানের অগ্রগতি নিয়ন্ত্রণ করতে
[Verse],[Chorus],[Bridge],[Intro],[Outro]এর মতো ট্যাগ অথবা টাইমস্ট্যাম্প ব্যবহার করুন। - সময়কাল : ক্লিপ মডেলটি সর্বদা ৩০-সেকেন্ডের ক্লিপ তৈরি করে। প্রো মডেলের জন্য, আপনার প্রম্পটে কাঙ্ক্ষিত দৈর্ঘ্য উল্লেখ করুন (যেমন, "একটি ২-মিনিটের গান তৈরি করুন") অথবা সময়কাল নিয়ন্ত্রণ করতে টাইমস্ট্যাম্প ব্যবহার করুন।
উদাহরণ প্রম্পট
কার্যকরী নির্দেশনার কিছু উদাহরণ নিচে দেওয়া হলো:
-
"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-pro-previewদিয়ে পূর্ণাঙ্গ জেনারেশনে যাওয়ার আগে, প্রম্পট নিয়ে পরীক্ষা-নিরীক্ষা করার জন্য দ্রুততরlyria-3-clip-previewমডেলটি ব্যবহার করুন। - সুনির্দিষ্ট হোন। অস্পষ্ট নির্দেশনা সাধারণ ফলাফল দেয়। সর্বোত্তম ফলাফলের জন্য বাদ্যযন্ত্র, বিপিএম, কী, মেজাজ এবং কাঠামো উল্লেখ করুন।
- আপনার ভাষা মেলান। আপনি যে ভাষায় গানের কথা চান, সেই ভাষায় নির্দেশ দিন।
- সেকশন ট্যাগ ব্যবহার করুন।
[Verse],[Chorus],[Bridge]ট্যাগগুলো মডেলটিকে অনুসরণ করার জন্য একটি সুস্পষ্ট কাঠামো প্রদান করে। - নির্দেশনা থেকে গানের কথা আলাদা করুন। নিজের মতো করে গানের কথা লেখার সময়, সেগুলোকে আপনার সঙ্গীত পরিচালনার নির্দেশনা থেকে স্পষ্টভাবে আলাদা করুন।
সীমাবদ্ধতা
- নিরাপত্তা : সমস্ত প্রম্পট নিরাপত্তা ফিল্টার দ্বারা যাচাই করা হয়। যে প্রম্পটগুলো ফিল্টার সক্রিয় করে, সেগুলো ব্লক করা হবে। এর মধ্যে নির্দিষ্ট শিল্পীর কণ্ঠস্বর বা কপিরাইটযুক্ত গানের কথা তৈরির অনুরোধকারী প্রম্পটগুলো অন্তর্ভুক্ত।
- ওয়াটারমার্কিং : শনাক্তকরণের জন্য তৈরি করা সমস্ত অডিওতে একটি SynthID অডিও ওয়াটারমার্ক অন্তর্ভুক্ত থাকে। এই ওয়াটারমার্কটি মানুষের কানে শোনা যায় না এবং এটি শোনার অভিজ্ঞতায় কোনো প্রভাব ফেলে না।
- মাল্টি-টার্ন এডিটিং : মিউজিক তৈরি করা একটি সিঙ্গেল-টার্ন প্রক্রিয়া। Lyria 3-এর বর্তমান সংস্করণে, একাধিক প্রম্পটের মাধ্যমে তৈরি করা ক্লিপের পুনরাবৃত্তিমূলক সম্পাদনা বা পরিমার্জন সমর্থিত নয়।
- দৈর্ঘ্য : ক্লিপ মডেলটি সর্বদা ৩০-সেকেন্ডের ক্লিপ তৈরি করে। প্রো মডেলটি কয়েক মিনিটের গান তৈরি করে; আপনার নির্দেশনার মাধ্যমে এর সঠিক সময়কাল নির্ধারণ করা যায়।
- নিয়তিবাদ : একই নির্দেশ দেওয়া হলেও, একেকবার একেকজনের ফলাফল একেক রকম হতে পারে।
এরপর কী?
- Lyria 3 মডেলগুলোর দাম যাচাই করুন।
- Lyria RealTime-এর সাথে রিয়েল-টাইম স্ট্রিমিং মিউজিক তৈরি করে দেখুন।
- টিটিএস মডেলগুলির সাহায্যে একাধিক বক্তার কথোপকথন তৈরি করুন।
- কীভাবে ছবি বা ভিডিও তৈরি করতে হয় তা জানুন।
- জেনে নিন জেমিনি কীভাবে অডিও ফাইল বুঝতে পারে।
- লাইভ এপিআই ব্যবহার করে জেমিনির সাথে রিয়েল-টাইমে কথা বলুন।