
Générer et envoyer de la musique avec Vertex AI et RCS
Introduction
Dans ce billet de blog, nous allons prendre une description des goûts musicaux d'un utilisateur envoyée via un message RCS, la passer dans le modèle Vertex AI Lyria de Google pour générer un morceau, et envoyer le résultat directement sur son téléphone sous la forme d'une RCS Rich Card jouable en utilisant l Vonage Messages API.
Le code complet de ce projet est disponible sur GitHub. code complet de ce projet est disponible sur GitHub.
RCS Example
Conditions préalables
Un téléphone avec des capacités RCS pour les tests
Node.js 14+
Vonage API Account To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Contexte
Lyria est un modèle audio génératif hébergé sur Vertex AI. Pour cet article de blog, à partir d'une invite textuelle telle que "warm lofi piano, vinyl crackle, 85 BPMLyria crée une vidéo MP4 avec une image de couverture statique qui est lue en ligne sur le téléphone. Une fois le MP4 prêt, nous le renvoyons à l'intérieur d'une carte riche en utilisant le type de message personnalisé de l'API Messages de Vonage. Vous pouvez consulter tous les types de messages pris en charge par Types de messages pris en charge par RCS.
Configurer l'application
Commencez par créer une nouvelle application Vonage dans le tableau de bord du développeur.
Pour créer une application, allez à la page Créer une application sur le tableau de bord de Vonage, et définissez un nom pour votre application.
Si vous avez l'intention d'utiliser une API qui utilise des Webhooks, vous aurez besoin d'une clé privée. Cliquez sur "Générer une clé publique et privée", votre téléchargement devrait démarrer automatiquement. Conservez-la en lieu sûr ; cette clé ne peut pas être retéléchargée si elle est perdue. Elle suivra la convention de nommage suivante private_<votre identifiant d'application>.key. Cette clé peut maintenant être utilisée pour authentifier les appels à l'API. Remarque : votre clé ne fonctionnera pas tant que votre application n'aura pas été sauvegardée.
Choisissez les fonctionnalités dont vous avez besoin (par exemple, Voice, Messages, RTC, etc.) et fournissez les webhooks requis (par exemple, URL d'événement, URL de réponse ou URL de message entrant). Ces éléments seront décrits dans le tutoriel.
Pour sauvegarder et déployer, cliquez sur "Générer une nouvelle application" pour finaliser la configuration. Votre application est maintenant prête à être utilisée avec les API de Vonage.
Lors de la configuration de l'application, veillez à activer la fonctionnalité Applications et à sélectionner RCS comme canal. Vous configurerez par la suite les URL des webhooks qui gèrent les événements entrants et les événements d'état.
Pour permettre à RCS de récupérer des médias sur votre machine locale, installez et exécutez ngrok pour exposer publiquement votre serveur.
Dans un autre terminal, exécutez ngrok http 3000 et copiez l'URL de transfert HTTPS qui apparaît.
De retour dans le tableau de bord de Vonage, réglez votre webhook entrant sur https://<ngrok>/webhooks/inbound et votre webhook d'état à https://<ngrok>/webhooks/status.
Installer les dépendances
Nous devons exécuter npm install à partir de votre terminal ou d'une commande d'invite pour installer les dépendances suivantes :
dotenv, @vonage/server-sdk, @vonage/messages, google-auth-library, node-fetchet ffmpeg-static qui sont listés dans votre fichier fichier package.json.
Note : Vous pouvez en savoir plus sur chaque dépendance en cliquant dessus et en lisant sa description sur NPM.
Créer un fichier .env
Vous aurez besoin de quelques variables d'environnement pour ce projet. Ajoutez les variables suivantes à un fichier .env que vous devez créer et remplir.
GOOGLE_CLOUD_PROJECT_ID=yourProjectId
GOOGLE_CLOUD_LOCATION=us-central1
GOOGLE_APPLICATION_CREDENTIALS=./service-account.json
VONAGE_APPLICATION_ID=your-vonage-app-id
VONAGE_PRIVATE_KEY=./private.key
RCS_SENDER_ID=your-rbm-agent-id
PHONE_NUMBER=447XXXXXXXXX
PORT=3000
PUBLIC_BASE_URL=https://your-ngrok-url Comment ça marche
Vous initiez la conversation car les utilisateurs ne peuvent pas démarrer un nouveau chat RCS de leur propre chef. En visitant une URL telle que https://<ngrok>/test?q=dark%20synthwavevotre serveur génère de la musique avec Lyria, la convertit au format MP4, l'héberge sur le point de terminaison /output puis envoie une première Rich Card à votre appareil téléphonique compatible RCS.
Ensuite, l'utilisateur peut répondre avec de nouvelles invites. Le webhook entrant capture chaque réponse, la transmet à Lyria, la convertit en fichier MP4 et la renvoie sous la forme d'une nouvelle Rich Card avec le titre et la description de la piste.
L'implémentation complète en JavaScript est disponible dans index.js. est disponible dans index.js.
Exécuter le serveur
Assurez-vous que ngrok est en cours d'exécution, que vos webhooks sont configurés et que vos variables d'environnement sont définies. Démarrez le serveur avec node index.js.
Ouvrez l'URL de test dans votre navigateur, par exemple, dans lequel vous passez la requête "dark synthwave with pulsing bass"https://<ngrok>/test?q=dark%20synthwave%20with%20pulsing%20bass.
Le serveur enverra la première Rich Card à votre appareil compatible RCS. Vous pouvez alors répondre directement dans le chat avec quelque chose comme "piano lofi avec pluie", et vous recevrez une autre Rich Card avec une nouvelle piste générée.
Envoyer un fichier audio
Nous avons utilisé RCS Rich Cards dans ce billet de blog ; cela a beaucoup de sens, car vous pouvez lire le fichier sur votre téléphone. Si vous préférez ne pas utiliser les Rich Cards et envoyer le fichier audio généré en pièce jointe, c'est possible. J'ai abordé ce sujet dans un article de blog séparé sur l'envoi de fichiers avec RCS.
Conclusion
Vous avez réussi ! Dans cet article de blog, vous avez vu comment demander la génération de musique via des conversations RCS à l'aide de Lyria et de l'API Messages de Vonage.
Vous avez une question ou souhaitez partager ce que vous construisez ?
Rejoignez la conversation sur le Communauté Vonage Slack
S'abonner à la Bulletin d'information du développeur
Suivez-nous sur X (anciennement Twitter) pour les mises à jour
Regardez les tutoriels sur notre chaîne YouTube
Connectez-vous avec nous sur la page Vonage Developer sur LinkedIn
Restez connecté et tenez-vous au courant des dernières nouvelles, astuces et événements concernant les développeurs.
