Как избежать отображения фантомных текстовых результатов из преобразования речи в текст Azure через звук микрофона?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как избежать отображения фантомных текстовых результатов из преобразования речи в текст Azure через звук микрофона?

Сообщение Anonymous »

У меня есть код C#, который выполняет преобразование речи в текст и машинный перевод с использованием звука, поступающего с микрофона, через Azure Cognitive Services. У нас запущено несколько экземпляров этого приложения (по одному экземпляру для каждого пользователя), пока пользователи присоединяются к веб-собранию. Результаты идентификации языка, преобразования речи в текст и машинного перевода подходят для тех высказываний, которые фактически произносят пользователи. Однако мы часто получаем фантомные текстовые результаты для результатов преобразования речи в текст, даже если мы не произносили эти высказывания (см. 3 случая ошибочных в двух разделах «Результаты выполнения» ниже). Есть идеи, как мне избежать этого фантомного текста? (Я бы предпочел не использовать собственные речевые модели, если это вообще возможно.)
Результаты выполнения для первого пользователя (Tetu): пример вывода в графическом интерфейсе первого экземпляра приложения. :
Тету: Это предложение №1. [Примечание Тету: результат преобразования речи в текст правильный.]
これは文#1です。[Примечание Тету: результат машинного перевода на японский язык правильный.]
Тету: Это все. [Примечание Тету: этот результат преобразования речи в текст является ошибочным (это фантомный текст, который НЕ произносил пользователь).]
以上です。
Тету: Это предложение №2. [Примечание Тету: результат преобразования речи в текст правильный.]
これは文#2です。
Тету: Это другое предложение. [Примечание Тету: результат преобразования речи в текст правильный.]
これは別の文です。
Тету: Встреча назначена. [Примечание Тету: результат преобразования речи в текст ошибочный (это фантомный текст, который НЕ произносил пользователь).]
この会議は呼び出されます。
Результаты выполнения для второго пользователя (Диана): Пример вывода в графическом интерфейсе второго пользователя пример приложения:
Диана: Это высказывание №1. [Примечание Тету: результат преобразования речи в текст правильный.]
これは発話#1です。
Диана: Это высказывание №2. [Примечание Тету: результат преобразования речи в текст правильный.]
これは発話#2です。
Диана: Сингапурское предложение. [Примечание Тету: этот результат преобразования речи в текст является ошибочным (это фантомный текст, который НЕ произносил пользователь).]
シンガポールの文。
Диана: Эта встреча предназначена для урегулирования WS. [Примечание Тету: результат преобразования речи в текст правильный.]
この会議はWS調整のためのものです。
Проведенные тесты и результаты
  • Получены эти фантомные текстовые результаты, когда каждый из двух пользователей (в отдельных здания) запустил экземпляр этого приложения во время участия в собрании Microsoft Teams. Также подтверждено, что мы получили фантомные текстовые результаты для собрания Zoom. Ожидается: фантомный текст отсутствует.
  • Проверено с использованием папиросной бумаги, завернутой в тонкую бумагу и прикрепленной к микрофону на штанге гарнитуры, используемой обоими пользователями. Количество результатов фантомного текста имело тенденцию к уменьшению. Фантомный текст также уменьшался, когда оба пользователя держали гарнитуру на расстоянии примерно 2 футов (60 см) ото рта. (Оба пользователя использовали гарнитуры серии Plantronics Blackwire 3220.) Ожидаемое: отсутствие фантомного текста.
  • Проверено с использованием внутреннего микрофона компьютеров обоих пользователей; количество результатов фантомного текста имело тенденцию к уменьшению. Ожидается: нет фантомного текста.
  • Программно уменьшена громкость записи звука с микрофона (с +5,0 дБ до +1,0 дБ), но фантомный текст по-прежнему сохраняется. Кроме того, MS Teams, похоже, автоматически увеличивала громкость записи (когда мы проверяли уровень записи в Windows). Ожидается: нет фантомного текста.
  • Не получено фантомного текста при запуске только одного экземпляра этого приложения. Это то, что мы ожидали.
Фрагмент используемого кода:

Код: Выделить всё

public static async Task TranslationWithMicrophoneAsync_withLanguageDetectionEnabled()
{
InitializeInPrepForEventHandlerSetup_MicAudio();

using (var recognizerFromMicrophone = new TranslationRecognizer(TetusGlobals.config, TetusGlobals.autoDetectSourceLanguageConfig))
{
recognizerFromMicrophone.Recognizing += (s, e) =>
{
var lidResult = e.Result.Properties.GetProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguageResult);

var sttResults = e.Result.Text;
if (!string.IsNullOrEmpty(sttResults))
{
if (lidResult == "ja-JP")
{
var resultOfMT_E = e.Result.Translations["en-US"];
if (!string.IsNullOrEmpty(resultOfMT_E))
{
curMTresult = resultOfMT_E;
}
}

else if (lidResult == "en-US")
{
var resultOfMT_J = e.Result.Translations["ja-JP"];
if (!string.IsNullOrEmpty(resultOfMT_J))
{
curMTresult = resultOfMT_J;
}
}

curSTTandMTresults =
curPersonsNameAsPrefix + ": " + sttResults + carriageReturnString + curMTresult;

bool foundFinalSttAndMtResults = false;
Tetu_WriteSttAndMtResults(curSTTandMTresults, foundFinalSttAndMtResults);
}
};

recognizerFromMicrophone.Recognized += (s, e) =>
{
if (e.Result.Reason == ResultReason.TranslatedSpeech)
{
var lidResult = e.Result.Properties.GetProperty(PropertyId.SpeechServiceConnection_AutoDetectSourceLanguageResult);

var sttResults = e.Result.Text;
if (!string.IsNullOrEmpty(sttResults))
{
if (lidResult == "ja-JP")
{
var resultOfMT_E = e.Result.Translations["en-US"];
if (!string.IsNullOrEmpty(resultOfMT_E))
{
curMTresult = resultOfMT_E;
}
}

else if (lidResult == "en-US")
{
var resultOfMT_J = e.Result.Translations["ja-JP"];
if (!string.IsNullOrEmpty(resultOfMT_J))
{
curMTresult = resultOfMT_J;
}
}

curSTTandMTresults =
curPersonsNameAsPrefix + ": " + sttResults + carriageReturnString + curMTresult;

bool foundFinalSttAndMtResults = true;
Tetu_WriteSttAndMtResults(curSTTandMTresults, foundFinalSttAndMtResults);
}
}
};

await recognizerFromMicrophone.StartContinuousRecognitionAsync().ConfigureAwait(false);

do
{
} while (true);
}
}
Среда или зависимости, которые я использую:
• Windows 10 (версия 22H2 (сборка ОС 19045.5131))
• Microsoft .NET Framework (версия 4.8.04084)

• Microsoft Visual Studio Professional 2019 (версия 16.11.35)
• Microsoft Cognitive Services Speech SDK (версия 1.41.1)
• NAudio (версия 2.2.1)

Подробнее здесь: https://stackoverflow.com/questions/792 ... via-mic-au
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»