Результаты выполнения для первого пользователя (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