إنشاء موسيقى باستخدام Lyria 3

‫Lyria 3 هي مجموعة نماذج من Google لإنشاء الموسيقى، وهي متاحة من خلال Gemini API. باستخدام Lyria 3، يمكنكم إنشاء ملفات صوتية استريو عالية الجودة بتردد 44.1 كيلوهرتز من الطلبات النصية أو من الصور. تقدّم هذه النماذج تناسقًا في البنية، بما في ذلك الغناء وكلمات الأغاني المحدّدة بوقت وترتيبات الآلات الموسيقية الكاملة.

تتضمّن مجموعة Lyria 3 نموذجين:

الطراز رقم تعريف الطراز الأفضل لـ المدة الناتج
Lyria 3 Clip lyria-3-clip-preview مقاطع قصيرة، حلقات، معاينات ‫30 ثانية MP3
Lyria 3 Pro lyria-3-pro-preview أغانٍ كاملة تتضمّن أبياتًا وجوقات وجسورًا بضع دقائق (يمكن التحكّم فيها باستخدام الطلب) MP3

يمكن استخدام كلا النموذجين باستخدام Interactions API الجديد، الذي يتيح إدخال بيانات متعددة الوسائط (نصوص وصور)، وينتج ملفات صوتية استريو عالية الجودة بتردد 44.1 كيلوهرتز.

إنشاء مقطع موسيقي

ينشئ نموذج Lyria 3 Clip دائمًا مقطعًا مدته 30 ثانية. لإنشاء مقطع، استدعوا طريقة interactions.create باستخدام طلب نصي. يتضمّن الرد دائمًا كلمات الأغنية التي تم إنشاؤها وبنية الأغنية بجانب الصوت في مخطط steps.

Python

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}")

JavaScript

import { GoogleGenAI } from '@google/genai';
import * as fs from 'fs';

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: 'lyria-3-clip-preview',
    input: '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}`);
}

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-clip-preview",
    "input": "A short instrumental acoustic guitar piece."
}'

يمكنكم استرداد بيانات الموسيقى التي تم إنشاؤها باستخدام السمة interaction.output_audio، التي تعرض آخر كتلة صوتية تم إنشاؤها. يمكنكم أيضًا استرداد كلمات الأغنية وبنيتها باستخدام السمة interaction.output_text. لمعرفة التفاصيل حول السمات المريحة، يُرجى الاطّلاع على نظرة عامة على التفاعلات.

إنشاء أغنية كاملة

استخدِموا نموذج lyria-3-pro-preview لإنشاء أغانٍ كاملة تستغرق بضع دقائق. يفهم نموذج Pro البنية الموسيقية ويمكنه إنشاء مؤلفات تتضمّن أبياتًا وجوقات وجسورًا مميزة. يمكنكم التأثير في المدة من خلال تحديدها في طلبكم (مثل "إنشاء أغنية مدتها دقيقتان") أو باستخدام الطوابع الزمنية لتحديد البنية.

Python

interaction = client.interactions.create(
    model="lyria-3-pro-preview",
    input="An epic cinematic orchestral piece about a journey home. Starts with a solo piano intro, builds through sweeping strings, and climaxes with a massive wall of sound.",
)

JavaScript

const interaction = await client.interactions.create({
    model: 'lyria-3-pro-preview',
    input: 'A beautiful piano melody.',
});

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-pro-preview",
    "input": "A beautiful piano melody."
}'

اختيار تنسيق الرد

تنشئ نماذج Lyria 3 تلقائيًا ملفات صوتية بتنسيق MP3. بالنسبة إلى Lyria 3 Pro، يمكنكم أيضًا طلب الناتج بتنسيق WAV من خلال ضبط response_format.

Python

interaction = client.interactions.create(
    model="lyria-3-pro-preview",
    input="A beautiful piano melody.",
    response_format={"type": "audio"},
)

JavaScript

const interaction = await client.interactions.create({
    model: 'lyria-3-pro-preview',
    input: 'A beautiful piano melody.',
    response_format: {
        type: 'audio',
    },
});

REST

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": "A beautiful piano melody.",
    "response_format": {
        "type": "audio"
    }
  }'

تحليل الرد

يحتوي الرد من Lyria 3 على عدة كتل محتوى ضمن مخطط steps. تعرض التفاعلات سلسلة من الخطوات، حيث تحتوي خطوات model_output على المحتوى الذي تم إنشاؤه. تحتوي كتل المحتوى النصي على كلمات الأغنية التي تم إنشاؤها أو وصف JSON لبنية الأغنية. تحتوي كتل المحتوى من النوع audio على البيانات الصوتية المشفرة بترميز base64.

Python

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(