Обнаружение языка с флаттером с помощью бета-API Google для преобразования речи в текст - PullRequest
1 голос
/ 12 июля 2020

Я пытаюсь обработать звук через API Google и получить язык, на котором говорят. Мне не нужна стенограмма. Я использую флаттер, и я просмотрел различные документы и вопросы на сайте.

По-видимому, исходный API v1 , похоже, не поддерживает функцию определения языка . Итак, я посмотрел на v2beta API , который, похоже, поддерживает функцию определения языка с опцией поддержки альтернативного языкового кода в соответствии с здесь .

Однако, единственными примерами, которые я могу достать, были оригинальные API v1 и, по-видимому, некоторые функции немного отличаются от бета-API.

Ниже приведен код, который я собрал с использованием исходной документации API и ответов на StackOverflow. Это не работает с бета-API.

import 'package:flutter/material.dart';
import 'package:googleapis/speech/v1.dart';
import 'package:googleapis_auth/auth_io.dart';

final _credentials = new ServiceAccountCredentials.fromJson(r'''
...
''');

const _SCOPES = const [SpeechApi.CloudPlatformScope];

void speechToText() {
  clientViaServiceAccount(_credentials, _SCOPES).then((http_client) {
    var speech = new SpeechApi(http_client);

final _json = {
  "audio": {
    "content":
        SAMPLECONTENT
  },
  "config": {
    "encoding": "LINEAR16",
    "sampleRateHertz": 16000,
    "languageCode": "fr-FR",
    "alternativeLanguageCodes": ["en-US", "ko-KR"],
  }
};
final _recognizeRequest = RecognizeRequest.fromJson(_json);
speech.speech.recognize(_recognizeRequest).then((response) {
    print(response.toJson());
    });
  });
}

Проблемы следующие:

  1. Исходный API не поддерживает параметр конфигурации для "alternatingLanguageCodes", и поэтому, похоже, не поддерживает язык обнаружения.

  2. Бета-версия API, похоже, работает иначе, чем исходный API, и я смог найти только примеры для исходного API.

  3. Я посмотрел на сам бета-API и провел последний час, изучая то же самое, но все еще не мог понять, как заставить их работать. *

Не могли бы вы мне помочь? Спасибо!

...