收到“UnmixedMeetingAudio”缓冲区后立即创建转录 - 带有应用程序托管媒体的机器人

问题描述

我使用提供的示例 here 创建了一个使用机器人框架 (.net) 和应用程序托管媒体的机器人。 Bot 参与 Microsoft Teams 中的任何传入对等或组呼叫。在会议中,当参与者在示例中提供的 AudioMediaReceived 类中的 CallHandler.cs 事件处理程序中发言时,我能够接收音频缓冲区。现在我想从中生成成绩单。我需要一些指导:

这可以在会议结束时完成吗,我很困惑,因为很多地方 (1)(2) 都提到了

“您不得使用此 SDK 来记录或以其他方式保存媒体内容 来自您的机器人访问的通话或会议”

.

这适合什么场景?是否可以从接收到的字节数组(UnmixedAudioBuffer 数据)中生成 wave(.wav) 文件并在会议结束时将其用于转录?

由于我们以非常快的速度(每秒 50 帧)接收音频帧,如果我要异步实时生成转录本,我该怎么做。是关于将缓冲区数据转换为 .wav 还是在内存流中并使用一些云语音服务/API? 有微软提供的语音服务以及谷歌云提供的语音转文本资源。 非常感谢您的指导。

解决方法

出于您已经看到的原因,尝试让机器人为您转录会议是一个坏主意。不过,您很幸运,因为 Microsoft 已经自动转录会议。

您可以按照此处的说明在 Teams 中录制会议:https://support.microsoft.com/en-us/office/record-a-meeting-in-teams-34dfbe7f-b07d-4a27-b4c6-de62f1348c24

如果您将录制的会议保存到 Microsoft Stream,那么您甚至可以编辑转录内容。如果您将会议保存到 OneDrive 和 SharePoint,则此页面表示该功能将来应该可用:https://support.microsoft.com/en-us/office/edit-the-transcript-of-a-meeting-recording-in-teams-2f461386-e39a-4444-b9e2-5787da1da11b