从语音中获取原始声音-BotBuilder v4

时间:2019-02-15 07:05:15

标签: .net botframework cortana-intelligence

在Bot Builder上工作时,我正在寻找一种解决方案,可以获取与机器人说话的扬声器的实时语音/音频作为附件。可能吗?以下是我的代码。

     public async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken))
     {
            if (turnContext.Activity.Type == ActivityTypes.Message)
            {
                // Get the conversation state from the turn context.
                var state = await _accessors.CounterState.GetAsync(turnContext, () => new CounterState());

                // Bump the turn count for this conversation.
                state.TurnCount++;

                // Set the property using the accessor.
                await _accessors.CounterState.SetAsync(turnContext, state);

                // Save the new turn count into the conversation state.
                await _accessors.ConversationState.SaveChangesAsync(turnContext);

                Activity activity = new Activity();
                activity.Text = turnContext.Activity.Text;
                activity.Speak = turnContext.Activity.Speak;
                await turnContext.SendActivityAsync(activity.Text,activity.Speak,"acceptingInput",cancellationToken);
            }
            else
            {
                await turnContext.SendActivityAsync($"{turnContext.Activity.Type} event detected");
            }
    }

请注意,我正在开发一个机器人(该机器人将接收来自cortana通道的声音)并将其转换为.wav。

1 个答案:

答案 0 :(得分:1)

updated 2019-02-18

您可以使用botservice / cortana之类的平台为您执行文本到语音和语音到文本的操作。 (Cortana的一项技能是启用语音的聊天机器人。)

尝试这些

但是,由于隐私问题,不支持您通过这些工具“获取原始声音”的提议。在内部,这些数据是受保护的,短暂的和短暂的。实际上,您正在构建自己的 agent 来打开麦克风,录制一些音频,然后将其发送给语音服务进行处理。 (您的应用程序将负责管理和保护此数据。)