Comment exécuter un démarrage rapide pour Google Cloud Text-to-Speech .NET dans Unity

Chose que tu veux faire

Google Cloud Text-to-Speech ne dispose pas de SDK pour Unity. Par conséquent, exécutez Quick Start for .NET dans Unity. Le code source est téléchargé ci-dessous. https://github.com/AzetaTakuya/GoogleCloudText-to-SpeechForUnity

résultat

C'est difficile à comprendre, mais j'ai pu enregistrer sample.mp3. Lorsque vous jouez à sample.mp3, il jouera Hello, World!. 結果.png

la mise en oeuvre

environnement

procédure

  1. Création d'un fichier d'authentification
  2. Installez la bibliothèque .NET (package Nuget)
  3. Importez la bibliothèque dans Unity
  4. Modifier QuickStart pour Unity
  5. Exécuter

    * La procédure suit essentiellement Document officiel: Démarrage rapide ..

① Créer un fichier d'authentification

Document officiel: Quick Start Lorsque vous aurez terminé les étapes ① à ④, un fichier JSON sera généré. Je vais. Cette fois, les variables d'environnement sont définies à partir du script, vous pouvez donc les omettre.

(2) Installez la bibliothèque .NET (package Nuget)

NuGetForUnity est un moyen bien connu d'installer NugetPackage sur Unity, mais je ne l'utilise pas pour des raisons religieuses. Installez à partir de la console du gestionnaire de package Visual Studio.

Création de projet VisualStudio

Ouvrez Visual Studio et créez une application console (.NET Framework) à partir de [Fichier-> Nouveau-> Projet]. Cette fois, le nom du projet était [TextToSpeechV1] et .NET Framework 4.7.1 a été utilisé. コンソールアプリ作成.png

Après avoir créé le projet, ouvrez la console du gestionnaire de packages à partir de [Outils-> Gestionnaire de packages Nuget-> Console du gestionnaire de packages]. パッケージマネージャ.png

Lorsque la console du gestionnaire de packages s'ouvre, procédez comme suit:

PM> Install-Package Google.Cloud.TextToSpeech.V1 -Version 1.0.0

Une fois l'exécution terminée, cochez [TextToSpeechV1 (* projet créé) / Packages]. パッケージフォルダ.png

③ Importez la bibliothèque dans Unity

Il y a une DLL dans le dossier, alors modifiez-la afin qu'elle puisse être importée dans Unity. Quant au contenu du travail, (1) Déplacez tous les fichiers dans [lib / net45 /] dans le dossier autre que Grpc.Core.1.22.0 directement sous pacakes, et supprimez tous les dossiers autres que Grpc.Core.1.22.0. (2) Supprimer [Grpc.Core.1.22.0 / lib / netstandard2.0] et [Grpc.Core.1.22.0 / lib / netstandard1.5] ③ Renommez grpc_csharp_ext.x64.dll ou grpc_csharp_ext.x84.dll dans [Grpc.Core.1.22.0 / runstimes / win / native] en grpc_csharp_ext.dll

packges編集後.png lib.png runtime.png

Une fois que vous avez fait cela, créez un projet Unity. Après avoir créé le projet Unity, renommez le dossier paceges que vous avez modifié précédemment en Plugins et importez-le dans Unity. Ceci termine l'importation de la bibliothèque dans Unity.

④ Modifier le démarrage rapide pour Unity

Modifiez le script dans Quick Start for .NET pour les variables d'environnement Unity-Add Voici ce qui a été fait.

using System.IO;
using UnityEngine;
using System;
using Google.Cloud.TextToSpeech.V1;

public class QuickStart : MonoBehaviour
{
    public string credentialsPath;
    public string saveFile;

    void Start()
    {
        #region Environment Variable
        if (!File.Exists(credentialsPath))
        {
            Debug.LogError("failure" + credentialsPath);
            return;
        }
        else
        {
            Debug.Log("success: " + credentialsPath);
        }
        Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", credentialsPath);
        #endregion

        #region QuickStart
        // Instantiate a client
        TextToSpeechClient client = TextToSpeechClient.Create();

        // Set the text input to be synthesized.
        SynthesisInput input = new SynthesisInput
        {
            Text = "Hello, World!"
        };

        // Build the voice request, select the language code ("en-US"),
        // and the SSML voice gender ("neutral").
        VoiceSelectionParams voice = new VoiceSelectionParams
        {
            LanguageCode = "en-US",
            SsmlGender = SsmlVoiceGender.Neutral
        };

        // Select the type of audio file you want returned.
        AudioConfig config = new AudioConfig
        {
            AudioEncoding = AudioEncoding.Mp3
        };

        // Perform the Text-to-Speech request, passing the text input
        // with the selected voice parameters and audio file type
        var response = client.SynthesizeSpeech(new SynthesizeSpeechRequest
        {
            Input = input,
            Voice = voice,
            AudioConfig = config
        });

        // Write the binary AudioContent of the response to an MP3 file.
        using (Stream output = File.Create(saveFile))
        {
            response.AudioContent.WriteTo(output);
            Debug.Log($"Audio content written to file " + saveFile);
        }
        #endregion

    }

}

⑤ Exécution

Entrez le chemin du fichier d'authentification dans credentialsPath et le chemin du fichier de sauvegarde (.mp3) dans saveFile, et le fichier audio sera enregistré.

Résumé

J'ai senti que beaucoup de gens disaient que cela ne pouvait pas être bien fait, alors je l'ai écrit. L'utilisation de GoogleCloutPlatform elle-même semble assez compliquée, je vais donc l'écrire s'il y a une demande. ~~ Pourquoi Google.Cloud.TextToSpeech.V1 -Version 2.0.0 ne fonctionne-t-il pas de manière stable ...? ~~ Si vous en avez envie, nous prendrons en charge d'autres que Windows.

référence

Aucun

Postscript

2020/09/09

Recommended Posts

Comment exécuter un démarrage rapide pour Google Cloud Text-to-Speech .NET dans Unity
Comment exécuter un démarrage rapide pour Google Cloud Text-to-Speech .NET dans Unity
Comment exécuter python dans l'espace virtuel (pour MacOS)
Comment définir plusieurs variables dans une instruction Python for
Comment exécuter du code TensorFlow 1.0 en 2.0
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
[Unity] Comment exécuter ML-Agents Release 8 même pour les débutants transcendantaux [Windows]
Comment utiliser Google Test en langage C
Comment obtenir stacktrace en python
Comment changer de version de Python dans cloud9
Comment exécuter des scripts Maya Python
Comment faire un modèle pour la détection d'objets avec YOLO en 3 heures
Comment effacer un taple dans une liste (Python)
Comment incorporer des variables dans des chaînes python
Comment créer un fichier JSON en Python
Comment déposer Google Docs dans un dossier dans un fichier .txt avec python
Comment exécuter CNN en notation système 1 avec Tensorflow 2
Comment utiliser l'API Google Cloud Translation
Comment notifier les canaux Discord en Python
Comment exécuter LeapMotion avec Python non-Apple
[Python] Comment dessiner un histogramme avec Matplotlib
Comment créer une API Rest dans Django
Comment écrire un document tuple nommé en 2020
Comment compter les nombres dans une plage spécifique
Comment lire des fichiers dans différents répertoires
Instructions pour connecter Google Colab. À l'environnement d'exécution local dans un environnement Windows
Comment se moquer d'une fonction publique dans Pytest
Comment utiliser Docker pour conteneuriser votre application et comment utiliser Docker Compose pour exécuter votre application dans un environnement de développement
Comment spécifier un schéma dans les paramètres de la base de données Django
[Pour les débutants] Comment utiliser la commande say avec python!
Comment convertir / restaurer une chaîne avec [] en python
Comment exécuter le module Ansible ajouté dans Ansible Tower
Comment déployer une application Django dans le cloud Alibaba
Comment exécuter des tests avec Python unittest
[Python] Comment développer des variables dans une chaîne de caractères
Créer un plugin pour exécuter Python Doctest sur Vim (2)
[Go] Comment créer une erreur personnalisée pour Sentry
Un mémorandum sur l'utilisation de keras.preprocessing.image de Keras
Comment charger des fichiers dans Google Drive avec Google Colaboratory
Créez un plug-in pour exécuter Python Doctest avec Vim (1)
Comment installer Google Test / Google Mock dans Visual Studio 2019
Un mémorandum pour exécuter un script python dans un fichier bat
Comment afficher DataFrame sous forme de tableau dans Markdown
Comment exécuter setUp une seule fois dans Python Unittest
Pratique pour utiliser les sous-graphiques matplotlib dans l'instruction for
Comment créer un environnement de développement pour TensorFlow (1.0.0) (Mac)
Lorsque vous voulez plt.save dans l'instruction for
Comment exécuter une commande à l'aide d'un sous-processus en Python
Comment exécuter Django sur IIS sur un serveur Windows
Comment référencer des fichiers statiques dans un projet Django
Comment utiliser le modèle japonais Spacy avec Google Colaboratory
[Linux] Comment mettre votre IP dans une variable
Exécutez le programme sans créer d'environnement Python! !! (Comment démarrer avec Google Colaboratory)
Comment se connecter à Cloud SQL PostgreSQL sur Google Cloud Platform à partir d'un environnement local avec Java
Envoyer un message du serveur à l'extension Chrome à l'aide de Google Cloud Messaging pour Chrome
Comment prendre en charge x-nullable pour swagger dans la bibliothèque jsonschema de python
Comment exécuter un modèle de transformateur entraîné localement sur CloudTPU
[TensorFlow 2 / Keras] Comment exécuter l'apprentissage avec CTC Loss dans Keras