Google Cloud Text-to-Speech verfügt nicht über ein SDK für Unity. Führen Sie also Quickstart für .NET (https://cloud.google.com/text-to-speech/docs/quickstart-client-libraries?hl=ja) in Unity aus. Der Quellcode wird unten hochgeladen. https://github.com/AzetaTakuya/GoogleCloudText-to-SpeechForUnity
Es ist schwer zu verstehen, aber ich konnte sample.mp3 speichern. Wenn Sie sample.mp3 spielen, wird Hello, World!
Offizielles Dokument: Schnellstart Wenn Sie die Schritte ① bis ④ ausführen, wird eine JSON-Datei generiert. Ich werde. Dieses Mal werden die Umgebungsvariablen aus dem Skript festgelegt, sodass Sie sie weglassen können.
NuGetForUnity ist eine bekannte Methode, um NugetPackage auf Unity zu installieren, aber ich verwende es aus religiösen Gründen nicht. Installation über die Visual Studio Package Manager-Konsole.
Öffnen Sie Visual Studio und erstellen Sie eine Konsolen-App (.NET Framework) unter [Datei-> Neu-> Projekt]. Diesmal lautete der Projektname [TextToSpeechV1] und es wurde .NET Framework 4.7.1 verwendet.
Öffnen Sie nach dem Erstellen des Projekts die Package Manager-Konsole unter [Tools-> Nuget Package Manager-> Package Manager-Konsole].
Gehen Sie beim Öffnen der Package Manager-Konsole wie folgt vor:
PM> Install-Package Google.Cloud.TextToSpeech.V1 -Version 1.0.0
Aktivieren Sie nach Abschluss der Ausführung [TextToSpeechV1 (* erstelltes Projekt) / Pakete].
Der Ordner enthält eine DLL. Ändern Sie sie daher so, dass sie in Unity importiert werden kann. Was den Arbeitsinhalt betrifft, (1) Verschieben Sie alle Dateien in [lib / net45 /] in anderen Ordnern als Grpc.Core.1.22.0 direkt unter pacakes und löschen Sie alle anderen Ordner als Grpc.Core.1.22.0. (2) Löschen Sie [Grpc.Core.1.22.0 / lib / netstandard2.0] und [Grpc.Core.1.22.0 / lib / netstandard1.5]. ③ Benennen Sie entweder grpc_csharp_ext.x64.dll oder grpc_csharp_ext.x84.dll in [Grpc.Core.1.22.0 / runtimes / win / native] in grpc_csharp_ext.dll um
Erstellen Sie anschließend ein Unity-Projekt. Benennen Sie nach dem Erstellen des Unity-Projekts den zuvor geänderten Tempoordner in Plugins um und importieren Sie ihn in Unity. Damit ist der Import der Bibliothek in Unity abgeschlossen.
Ändern Sie das Skript in Schnellstart für .NET für Unity-Add-Umgebungsvariablen Folgendes wurde getan.
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
}
}
Geben Sie den Pfad der Authentifizierungsdatei in credentialsPath und den Pfad der Sicherungsdatei (.mp3) in saveFile ein. Die Audiodatei wird gespeichert.
Ich hatte das Gefühl, dass es viele Leute gab, die sagten, dass es nicht gut gemacht werden könne, also schrieb ich es. Die Verwendung von GoogleCloutPlatform selbst scheint ziemlich kompliziert zu sein, daher werde ich es schreiben, wenn es eine Anfrage gibt. ~~ Warum funktioniert Google.Cloud.TextToSpeech.V1 -Version 2.0.0 nicht stabil ...? ~~ Wenn Sie Lust dazu haben, ist es mit anderen als Windows kompatibel.
Keiner
2020/09/09
Recommended Posts