Проблема с интеграцией речи в текст в службах связи Azure.C#

Место общения программистов C#
Ответить
Anonymous
 Проблема с интеграцией речи в текст в службах связи Azure.

Сообщение Anonymous »

Контекст: мы создаем бота, использующего Azure Communication Services (ACS) и Azure Speech Services для обработки телефонных звонков. Бот задает вопросы (через TTS) и записывает ответы пользователей с помощью преобразования речи в текст (STT).
Проблемы:< /p>
  • Ответы пользователей не фиксируются. Несмотря на то, что для InitialSilenceTimeout установлено значение 10 секунд, бот переходит к следующему вопросу через 1–2 секунды, не распознавая речь.
  • бот не выдает повторный запрос пользователю, даже если ответ не получен.
Требуется помощь:
  • Как Можем ли мы обеспечить точный захват речи в текст в режиме реального времени во время телефонных звонков ACS?
  • Существуют ли лучшие конфигурации или альтернативные подходы для распознавания речи в ACS?
Дополнительный контекст:
  • По официальному образцу ACS C#.
  • Использование служб речи Azure и пакетов SDK ACS.
Фрагмент кода:

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

// Recognize user speech
async Task RecognizeSpeechAsync(CallMedia callConnectionMedia, string callerId, ILogger logger)
{
// Configure recognition options
var recognizeOptions = new CallMediaRecognizeSpeechOptions(
targetParticipant: CommunicationIdentifier.FromRawId(callerId))
{
InitialSilenceTimeout = TimeSpan.FromSeconds(10), // Wait up to 10 seconds for the user to start speaking
EndSilenceTimeout = TimeSpan.FromSeconds(5),     // Wait up to 5 seconds of silence before considering the response complete
OperationContext = "SpeechRecognition"
};

try
{
// Start speech recognition
var result = await callConnectionMedia.StartRecognizingAsync(recognizeOptions);

// Handle recognition success
if (result is Response)
{
logger.LogInformation($"Result: {result}");
logger.LogInformation("Recognition started successfully.");
// Simulate capturing response (replace with actual recognition logic)
return "User response captured"; // Replace with actual response text from recognition
}

logger.LogWarning("Recognition failed or timed out.");
return string.Empty; // Return empty if recognition fails
}
catch (Exception ex)
{
logger.LogError($"Error during speech recognition: {ex.Message}");
return string.Empty;
}
}
Что мы сделали:
  • Создали экземпляр ACS и приобрел активный номер телефона.
  • Настройте подписку на события для обработки обратных вызовов для входящих вызовов.

    Интегрированные службы речи Azure для STT на C#.
Достижения:

[*]
Успешно подключены вызовы с помощью ACS.

[*]Воспроизведены подсказки TTS, созданные из файла Excel.



Подробнее здесь: https://stackoverflow.com/questions/792 ... n-services
Ответить

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

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

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

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

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