Я пытаюсь обработать звук через 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());
});
});
}
Проблемы следующие:
Исходный API не поддерживает параметр конфигурации для "alternatingLanguageCodes", и поэтому, похоже, не поддерживает язык обнаружения.
Бета-версия API, похоже, работает иначе, чем исходный API, и я смог найти только примеры для исходного API.
Я посмотрел на сам бета-API и провел последний час, изучая то же самое, но все еще не мог понять, как заставить их работать. *
Не могли бы вы мне помочь? Спасибо!