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
C'est difficile à comprendre, mais j'ai pu enregistrer sample.mp3. Lorsque vous jouez à sample.mp3, il jouera Hello, World!.
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.
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.
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é.
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].
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].
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
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.
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
}
}
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é.
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.
Aucun
2020/09/09
Recommended Posts