Я использую речевую диаризацию облачных сервисов Google и сталкиваюсь с некоторыми проблемами, связанными с минимальным количеством ораторов.
У меня было аудио, в котором говорило 15 человек. Я попытался использовать службу речевой диаризации без параметра минимального количества динамиков (параметр является необязательным), но в ответе были определены только 3 динамика.
Затем я попытался использовать сервис с параметром минимального количества динамиков, равным 15, но служба диаризации, похоже, даетплохая идентификация ораторов (почти как если бы они распределялись динамиками случайным образом).
Я пробовал одну и ту же речь с несколькими настройками, но не могу получить ответ даже с точностью 50%.
Может кто-нибудь сказать мне, что я делаю не так?
Мой пример кода Java:
try (SpeechClient speechClient = SpeechClient.create()) {
SpeakerDiarizationConfig speakerDiarizationConfig = SpeakerDiarizationConfig.newBuilder()
.setEnableSpeakerDiarization(true)
.setMinSpeakerCount(15)
.setMaxSpeakerCount(20)
.build();
// Configure request to enable Speaker diarization
RecognitionConfig config =
RecognitionConfig.newBuilder()
.setEncoding(RecognitionConfig.AudioEncoding.MP3)
.setLanguageCode("en-IN")
.setSampleRateHertz(44100)
.setDiarizationConfig(speakerDiarizationConfig)
.build();
} catch(Exception e) {
e.printStackTrace();
}