【问题标题】:How can I record audio from the client with python / Flask如何使用 python / Flask 从客户端录制音频
【发布时间】:2020-05-10 21:57:41
【问题描述】:

项目: 我正在使用 Flask 和语音识别创建一个语音识别应用程序,它将触发器发送到 arduino(如 alexa)。

问题: 我使用了语音识别中的 Microphone() 类,直到现在我认为它运行良好。 但是昨天我意识到它实际上是从主机的麦克风录制的(我觉得自己像个白痴)。我从来没有意识到这一点,因为我在用手机录制时离主持人太近了。

规则:

该应用程序是一个portefolio 项目,规则是只使用Python 和Flask 来制作它。 (我尝试了一个非常简单的 javascript 代码,很可能是最简单的方法,但我不太了解 Javascript,也不想误导可能的雇主,如果他问我是如何编写这些代码的。)

所以这是我的问题,我不明白我可以使用什么工具让麦克风在客户端录制。

这是应用程序(法语)

你点击红色按钮,开始录制,然后处理单词,检查 db,如果单词对应于数据库中的触发器,则将其发送到串行端口,arduino 负责其余的工作。 (下面的表格部分是为了测试目的直接输入单词)

这是我在这里的第一个问题,所以我希望我很清楚,不要犹豫,要求代码示例或澄清。

【问题讨论】:

  • 如果没有 JavaScript,您无法 做到这一点,除非您的目标是从 服务器 而不是客户端录制音频。您的 Flask 代码在服务器上运行,句号。它无法访问客户端机器上的任何资源。
  • 嗨,克里斯,感谢您的快速回答。这说明了一切。但是你确定绝对没有什么可以做的吗?我将在这里做一个模糊的理论,但是没有任何选项可以创建应用程序的客户端吗?

标签: python flask speech-recognition pyaudio


【解决方案1】:

在网络应用程序中使用客户端 Javascript 不会误导雇主,因为除了完全静态的网站之外,一切都需要一些客户端 Javascript。在您的情况下,Flask 应用程序可能会提供一个在模板中嵌入了 Javascript 的视图。作为对您问题的评论,您的 Python 代码不会在浏览器中运行。它的工作到那时就完成了。将 Javascript 用于前端,只在服务器端使用 Python 和 Flask 来实现您的目标。

【讨论】:

  • 好吧,在我过去 2 周一直在烧瓶上工作之后,我觉得现在得到这个有点愚蠢,但也松了一口气,现在很清楚。非常感谢这些解释。
  • 别觉得自己笨!我们被技术选择所淹没,很容易忘记什么是做什么的。
【解决方案2】:

对于刚接触 Flask 或像我一样编程的每个人,这是对我的问题的粗俗解释:

Flask 是在您的服务器上运行的代码,并且仅限于您的服务器。 客户端访问生成此代码的模板,并通过 get 和 post 方法与之交互。

要允许客户端以除 POST 方法之外的任何其他方式进行交互(例如录制声乐命令),您需要在“前端”编码,Javascript 允许您向浏览器发送指令(在我的情况下) ,即客户端应用程序。

如果你想用 Flask 或 Python 做所有事情,你需要编写一个客户端。但这对我来说太过分了,我只是要使用一些 Javascript 指令。

非常感谢帮助我学习基本的客户端-服务器关系的人们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多