Как добавить учетные данные в Google text в речь API? - PullRequest
0 голосов
/ 21 мая 2018

Я новичок в Python. Я хочу использовать Google для преобразования текста в речь, для этого я использовал приведенный ниже код, но я не могу получить доступ к API из-за ошибки.Это код,

def synthesize_text(text):
    """Synthesizes speech from the input string of text."""
    from google.cloud import texttospeech
    client = texttospeech.TextToSpeechClient()

    input_text = texttospeech.types.SynthesisInput(text=text)

    # Note: the voice can also be specified by name.
    # Names of voices can be retrieved with client.list_voices().
    voice = texttospeech.types.VoiceSelectionParams(
        language_code='en-US',
        ssml_gender=texttospeech.enums.SsmlVoiceGender.FEMALE)

    audio_config = texttospeech.types.AudioConfig(
        audio_encoding=texttospeech.enums.AudioEncoding.MP3)

    response = client.synthesize_speech(input_text, voice, audio_config)

    # The response's audio_content is binary.
    with open('output.mp3', 'wb') as out:
        out.write(response.audio_content)
        print('Audio content written to file "output.mp3"')

Это ошибка,

google.auth.exceptions.DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or
explicitly create credential and re-run the application. For more
information, please see
https://developers.google.com/accounts/docs/application-default-credentials.

У меня уже есть файл JSON учетных данных, но я не могу настроить код для проверки подлинности моего запроса.Пожалуйста помоги!

Ответы [ 3 ]

0 голосов
/ 26 августа 2018

Вы можете попробовать этот код:

from google.oauth2 import service_account

credentials = service_account.Credentials.from_service_account_file('yourkey.json')

texttospeech.TextToSpeechClient(credentials=credentials)
0 голосов
/ 13 июня 2019

Есть 2 способа:

1 Способ: если вы используете файл Json, тогда лучше установить путь json в переменную среды; если вы это сделаете, вам не нужно настраивать кодирование, оно автоматически получит вашу лицензию.оттуда

GOOGLE_APPLICATION_CREDENTIALS=[path]

2 WAY:

У меня есть Java-код, я не знаю о Python, поэтому вы можете получить представление здесь:

String jsonPath = "file.json"; 
 CredentialsProvider credentialsProvider = FixedCredentialsProvider.create(ServiceAccountCredentials.fromStream(new FileInputStream(jsonPath)));
TextToSpeechSettings settings = TextToSpeechSettings.newBuilder().setCredentialsProvider(credentialsProvider).build();
    Instantiates a client
TextToSpeechClient textToSpeechClient = TextToSpeechClient.create(settings)
0 голосов
/ 21 мая 2018

Вы можете аутентифицировать свои учетные данные Google различными способами.Один из них заключается в настройке среды ОС, а другой - аутентификации, когда вы инициируете запрос.

Я бы предложил oauth2client библиотеку для аутентификации Python.В дополнение к этому обратитесь к моему примеру на Github ( Link ).

...