Кто-нибудь может ПОМОЧЬ? Этот действительно сводит меня с ума ... Спасибо!
Я пробовал использовать API-интерфейс облачной платформы Google для преобразования речи в текст.
Инструменты: WINDOWS 10 && GCP && Python (Pycharm IDE)
Я создал учетную запись службы в качестве владельца для своего проекта тестирования речи и сгенерировал ключ из консоли GCP в json, а затем установил переменные среды. Код, который я запускал на WIN10 Powershell && CMD:
$env:GOOGLE_APPLICATION_CREDENTIALS="D:\GCloud speech-to-text\Speech To Text Series-93e03f36bc9d.json" set GOOGLE_APPLICATION_CREDENTIALS=D:\GCloud speech-to-text\Speech To Text Series-93e03f36bc9d.json
PS: добавленные переменные среды исчезают в CMD и Powershell после перезагрузки моего ноутбука, но отображаются в списке env при повторном добавлении.
Я включил API хранилища Google и API преобразования речи в текст Google в консоли GCP.
Я пробовал явно показывать метод учетных данных через python, та же проблема.
Я установил оболочку Google Cloud SDK и инициализировал ее с помощью команды для входа в свою учетную запись.
КОД РЕЧИ В ТЕКСТ PYTHON (из демонстрации GCP)
import io
import os
# Imports the Google Cloud client library
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types
# Instantiates a client
client = speech.SpeechClient()
# The name of the audio file to transcribe
file_name = os.path.join(
os.path.dirname(__file__),
'test_cre.m4a')
# Loads the audio into memory
with io.open(file_name, 'rb') as audio_file:
content = audio_file.read()
audio = types.RecognitionAudio(content=content)
config = types.RecognitionConfig(
encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16,
sample_rate_hertz=16000,
language_code='en-US')
# Detects speech in the audio file
response = client.recognize(config, audio)
for result in response.results:
print('Transcript: {}'.format(result.alternatives[0].transcript))
---- Ожидается получение "200OK" и транскрибированного текста при запуске кода, приведенного выше (демонстрация API короткой речи в текст из GCP Document)
---- Но попал:
D: \ Python \ main program \ lib \ site-packages \ google \ auth_default.py: 66: UserWarning: ваше приложение аутентифицировано с использованием учетных данных конечного пользователя из Google Cloud SDK. Мы рекомендуем вместо этого использовать в большинстве серверных приложений учетные записи служб. Если ваше приложение продолжает использовать учетные данные конечного пользователя из Cloud SDK, вы можете получить ошибку «превышена квота» или «API не включен». Для получения дополнительной информации об учетных записях служб см. https://cloud.google.com/docs/authentication/ warnings.warn (_CLOUD_SDK_CREDENTIALS_WARNING)
google.api_core.exceptions.ResourceExhausted: 429 Превышена квота для метрики квоты «speech.googleapis.com/default_requests» и ограничена «DefaultRequestsPerMinutePerProject» службы «speech.googleapis.com» для потребителя «project_number: 764086051850».
ДРУГАЯ СТАНДАРТНАЯ ВЕЩЬ: информация об ошибке показывает, что «номер_проекта: 764086051850», который отличается от моего номера проекта для преобразования речи в текст на GCP (я различаю номер проекта и проект ID), project_number, показанный в информации об ошибке, также меняется каждый раз при запуске кода. Кажется, я отправлял облачное требование не того проекта?
Мои системные переменные среды GOOGLE_APPLICATION_CREDENTIALS исчезают после того, как я перезапущу свой ноутбук в следующий раз. После повторного добавления он появится в списке env, но не сможет быть сохранен после перезагрузки снова.
Цените, если кто-то может помочь, спасибо!