Выбор голоса Google Cloud TTS

Я только начал использовать API Google TTS, когда я перечисляю доступные голоса, api перечисляет имена голосов как

  • tr-TR-Standart-A
  • tr-TR-Standart-B
  • ...

Что я должен написать в приведенном ниже коде, чтобы выбрать, например, голос Standart-B?

texttospeech.types.VoiceSelectionParams (language_code = 'tr-TR')


person Tugrul A.    schedule 06.12.2018    source источник
comment
Добро пожаловать в Stack Overflow. Не могли бы вы рассказать нам немного больше о том, какую платформу вы используете, в идеале с образцом кода того, как вы вызываете API в данный момент? Так было бы легче привести конкретный пример.   -  person Jon Skeet    schedule 06.12.2018
comment
Сказав это, я могу написать пример на C #, а затем, надеюсь, вы справитесь ...   -  person Jon Skeet    schedule 06.12.2018
comment
Извините, я использую питон.   -  person Tugrul A.    schedule 06.12.2018
comment
Правильно - я добавил отрывок в конце своего ответа.   -  person Jon Skeet    schedule 07.12.2018


Ответы (1)


Вот пример на C # - вам нужно указать код языка и имя в VoiceSelectionParams:

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

class Program
{
    static void Main(string[] args)
    {
        var client = TextToSpeechClient.Create();

        // List the voices, just for reference
        foreach (var voice in client.ListVoices("tr-TR").Voices)
        {
            Console.WriteLine(voice.Name);
        }

        // Synthesize some speech
        var input = new SynthesisInput { Text = "This is a demo of Google Cloud text to speech" };
        // The language code is always required, even when it's sort of part of the name
        var voiceSelection = new VoiceSelectionParams
        {
            LanguageCode = "tr-TR",
            Name = "tr-TR-Standard-B"
        };
        var audioConfig = new AudioConfig { AudioEncoding = AudioEncoding.Mp3 };
        var response = client.SynthesizeSpeech(input, voiceSelection, audioConfig);
        File.WriteAllBytes("test.mp3", response.AudioContent.ToByteArray());
    }
}

Судя по документации, я думаю на Python, что вам нужно:

voice = texttospeech.types.VoiceSelectionParams(
    language_code='tr-TR',
    name='tr-TR-Standard-B')
person Jon Skeet    schedule 06.12.2018
comment
@TugrulAgrikliStudent: Не могли бы вы рассказать немного подробнее? Я предполагаю, что вы получаете ошибку какого-то описания - что это за ошибка? Я не могу помочь вам без дополнительной информации. (Код C # определенно работает.) - person Jon Skeet; 08.12.2018