Générer de la musique avec Lyria

Vous pouvez utiliser Lyria pour générer des morceaux de musique originaux à partir de requêtes. Les interfaces compatibles incluent la console Google Cloud et l'API Gemini dans Vertex AI.

Essayer Lyria sur Vertex AI (Vertex AI Studio)

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. Configurez l'authentification pour votre environnement.

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services Google Cloud et aux API, vous n'avez pas besoin de configurer l'authentification.

    REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI.

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

Console

  1. Dans la console Google Cloud , accédez à la page Vertex AI Studio>Générer du contenu multimédia > Générer du contenu multimédia.

    Generate Studio

  2. Cliquez sur Musique.

  3. Dans le menu Tâche, sélectionnez Texte vers musique.

  4. Dans le menu Modèle, sélectionnez un modèle parmi les options listées.

  5. Facultatif : Dans la section Éléments d'entrée, cliquez sur Ajouter pour ajouter un élément à cette demande.

  6. Dans la zone Prompt, saisissez votre prompt textuel en anglais (États-Unis) décrivant la musique à générer.

  7. Cliquez sur Exécuter.

    Vous pouvez prévisualiser les extraits audio générés et les télécharger au format WAV.

Lyria 3 REST

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : chaîne représentant l'ID de votre projet Google Cloud .
  • MODEL_ID : chaîne représentant l'ID du modèle à utiliser. Les valeurs suivantes sont acceptées :

    • lyria-3-clip-preview
    • lyria-3-pro-preview
  • TEXT_PROMPT : prompt textuel utilisé pour guider la génération de musique.
  • IMAGE_URI : facultatif : URI Cloud Storage où se trouve votre image d'entrée.
  • IMAGE_DATABYTES : facultatif : image d'entrée encodée en base64.

Méthode HTTP et URL :

POST https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions

Corps JSON de la requête :

{
  "model": "MODEL_ID",
  "input": [
    {
      "type": "text",
      "text": "TEXT_PROMPT"
    },
    {
      "type": "image",
      "mime_type": "image/jpeg",
      "uri": "IMAGE_URI"
    },
    {
      "type": "image",
      "mime_type": "image/png",
      "data": "IMAGE_DATABYTES"
    },
  ]
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/global/interactions" | Select-Object -Expand Content
La requête renvoie le nom, l'état et le résultat de l'opération.
{
  "status": "completed",
  "outputs": [
    {
      "text": "LYRICS",
      "type": "text"
    },
    {
      "text": "DESCRIPTION",
      "type": "text"
    },
    {
      "mime_type": "audio/mpeg",
      "data": "GENERATED_SONG_DATABYTES",
      "type": "audio"
    },
    {}
  ],
  "role": "model",
  "created": "CREATED_TIME",
  "updated": "UPDATE_TIME",
  "object": "interaction",
  "model": "lyria-3-pro-preview"
}

Lyria 2 REST

Utilisez la méthode predict pour envoyer une requête de génération de musique. La réponse contiendra directement les données audio, généralement encodées en base64 si la réponse est au format JSON.

Pour en savoir plus sur les requêtes envoyées au modèle lyria-002, consultez la documentation de référence de l'API du modèle lyria-002.

Pour générer de la musique, envoyez une requête POST au point de terminaison predict du modèle.

Requête :

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/lyria-002:predict \
  -d '{
    "instances": [
      {
        "prompt": "An uplifting and hopeful orchestral piece with a soaring string melody and triumphant brass.",
        "negative_prompt": " dissonant, minor key",
        "seed": 12345
      }
    ],
    "parameters": {
      // "sample_count": 1 // Use either seed or sample_count
    }
  }'

Réponse :

Une requête réussie renvoie un objet JSON contenant les données audio générées. Voici un exemple :

{
  "predictions": [
    {
      "audioContent": "BASE64_ENCODED_WAV_STRING_SAMPLE_1",
      "mimeType": "audio/wav"
    },
    {
      "audioContent": "BASE64_ENCODED_WAV_STRING_SAMPLE_2",
      "mimeType": "audio/wav"
    }
  ],
  "deployedModelId": "xxxxxxxxxxxxxxx",
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/lyria-002",
  "modelDisplayName": "Lyria 2"
}

Vous décoderez ensuite audioContent (base64) pour obtenir le fichier audio WAV. Chaque extrait dure 32,8 secondes.

Étapes suivantes