Я использую Azure speech SDK для преобразования голоса в текст. Вот фрагмент кода
AutoDetectSourceLanguageConfig autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig.fromLanguages(Arrays.asList("en-US", "es-MX"));
SpeechConfig config = SpeechConfig.fromSubscription("key", "SERVICEREGION");
SpeechRecognizer reco = new SpeechRecognizer(config,autoDetectSourceLanguageConfig);
Future<SpeechRecognitionResult> task = reco.recognizeOnceAsync();
SpeechRecognitionResult result = task.get();
if (result.getReason() == ResultReason.RecognizedSpeech) {
strSpeechText = result.getText();
log.info("*******CUSTOMER SAID " + strSpeechText+" *******");
AutoDetectSourceLanguageResult autoDetectSourceLanguageResult = AutoDetectSourceLanguageResult.fromResult(result);
detectedLanguage = autoDetectSourceLanguageResult.getLanguage();
log.info("*******LANGUAGE IDENTIFIED AS " + detectedLanguage+" *******");
}
else if (result.getReason() == ResultReason.NoMatch) {
log.info("NOMATCH: Speech could not be recognized.");
}
else if (result.getReason() == ResultReason.Canceled) {
CancellationDetails cancellation = CancellationDetails.fromResult(result);
log.info("CANCELED: Reason=" + cancellation.getReason());
if (cancellation.getReason() == CancellationReason.Error) {
log.info("CANCELED: ErrorCode=" + cancellation.getErrorCode());
log.info("CANCELED: ErrorDetails=" + cancellation.getErrorDetails());
log.info("CANCELED: Did you update the subscription info?");
}
}
reco.close();
Так как мой акцент сильный / сильный, он неправильно интерпретирует язык как es-MX (испанский sh), и вывод текста полностью отличается от того, что я говорил
Если я игнорирую autoDetectSourceLanguageConfig и использую SpeechRecognizer reco = new SpeechRecognizer(config);
Это истолковывает мой голос, и вывод текста - именно то, что говорится. Но AutoDetectSourceLanguageResult autoDetectSourceLanguageResult = AutoDetectSourceLanguageResult.fromResult(result);
detectedLanguage = autoDetectSourceLanguageResult.getLanguage();
дает пустые результаты. поэтому я не смогу определить разговорный язык, если бы он был англичанином sh или испанским sh
Намерение - это и английские sh & испанские sh голоса, которые необходимо идентифицировать и интерпретировать, чтобы дать правильный вывод текста и классификация языков
Любые указатели, пожалуйста?
Спасибо, Виджай