Обновление:
Вот рабочий образец:
https://gist.github.com/DazWilkin/34d628b998b4266be818ffb3efd688aa
Вам нужно только подключить значения служебной учетной записи key.json и получить:
{
alternatives: [{
confidence: 0.9835046,
transcript: how old is the Brooklyn Bridge
}]
}
Это плохо документировано: - (
Я знаком с разработкой API Google, но незнаком с Dart и с Google Speech-to-Text API, поэтому заранее приносим свои извинения.
См:
https://github.com/dart-lang/googleapis/tree/master/generated/googleapis
Существует 2 варианта библиотеки Google SDK |, более распространенная (клиентские библиотеки API) и новая (клиентские библиотеки облака [!]). IIUC, для Dart for Speech вы собираетесь использовать клиентскую библиотеку API, а эта не использует gRPC.
Я собираюсь настроить образец по кишечнику, так что потерпите меня:
import 'package:googleapis/speech/v1.dart';
import 'package:googleapis_auth/auth_io.dart';
final _credentials = new ServiceAccountCredentials.fromJson(r'''
{
"private_key_id": ...,
"private_key": ...,
"client_email": ...,
"client_id": ...,
"type": "service_account"
}
''');
const _SCOPES = const [SpeechApi.CloudPlatformScope];
void main() {
clientViaServiceAccount(_credentials, _SCOPES).then((http_client) {
var speech = new SpeechApi(http_client);
speech...
});
}
Для этого необходимо создать учетную запись службы с соответствующими разрешениями и сгенерированный для нее ключ (JSON). Обычно файл ключа загружается кодом, но в этом примере он представлен в виде строкового литерала. Ключ предоставит содержимое для fromJson
. Вы должны (!) Иметь возможность использовать учетные данные приложения по умолчанию для тестирования (проще), см. Ссылку ниже.
Каким-то образом (!) API-интерфейс Dart будет включать в себя функцию | метода, которая выполняет базовый вызов REST. При вызове ожидаются некоторые настройки и аудио:
https://cloud.google.com/speech-to-text/docs/reference/rest/v1/speech/recognize
Я подозреваю, что это распознает и ожидает RecognizeRequest
Извините, я не могу вам помочь.
Если у вас все получится, рассмотрите возможность публикации того же документа, чтобы другие могли получить пользу.
NB