首页 > 解决方案 > 从语音中获取原始语音 - BotBuilder v4

问题描述

在 Bot Builder 上工作,我正在寻找一种解决方案,我可以在其中获取与 bot 交谈的演讲者的实时语音/音频作为附件。可能吗?以下是我的代码。

     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 。

标签: .netbotframeworkcortana-intelligence

解决方案


updated 2019-02-18

您可以使用 botservice/cortana 等平台为您进行文本转语音和语音转文本。(Cortana 技能是支持语音的聊天机器人。)

试试这些

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


推荐阅读