久芯网

Arduino机器学习入门:基于Arduino Nano 33 BLE感知的语音识别

发布时间: 2023-03-11 13:41:59 电子资讯 发布人: 久芯网 浏览量: 13

在计算机出现之前,a的概念就已经出现在我们的脑海中。1920年,卡雷尔·查佩克(KarelČapek)的剧本《R.U.R》(R.U.R)——大致翻译为罗森(Rossum)的《通用机器人》(Univer...

Arduino Machine Learning Main Image

计算机出现之前,a的概念就已经出现在我们的脑海中。1920年,卡雷尔·查佩克(Karel?apek)的剧本《R.U.R》(R.U.R)——大致翻译为罗森(Rossum)的《通用机器人》(Universal Robots),以及我们今天所知的“机器人”(robot)一词的起源——讲述的是能够独立思考的合成生物。即使在18世纪末,沃尔夫冈·冯·凯佩伦(Wolfgang von Kempelen)创造了一种被称为“土耳其人”(the Turk)的自动机,它似乎可以自己下棋。

机器智能:想象、理论化、实现

在更真实的计算层面上,Alan Turing于1948年提出了“无组织机器”的概念,该概念将使用一系列互连节点进行决策。这类似于我们今天所知道的“神经网络”概念,1991年《终结者》宣布其“CPU是神经网络处理器;一台学习计算机”时,它被推入了更大的意识中

尽管对基于计算机的意识最终可能如何发展的评论有些“混杂”(?apek的机器人最终也会转向它们的主人),但人类仍在奋力向前发展。我们已经开发出了像Google Home和Google Home这样的设备,虽然其本身并不“智能”,但可以以智能的方式回答问题和执行控制任务。这种设备的一般范例是,一个简单的过程监听唤醒词/短语的启动,并使用异地云计算能力响应进一步的查询。

但是,其他简单的语音识别任务、处理运动模式,甚至处理视频又如何呢?有没有可能使用小型嵌入式芯片,比如在本地(在“边缘”)用于此任务的芯片,而不是依赖于云?简短的回答是“是的”,但真正的答案是“很复杂”下面给出的简单示例在上运行,没有额外的硬件。

Arduino机器学习实践:简单语音识别

如果的“hello world”正在闪烁LED,那么机器学习的等效方法可能是使用语音命令控制它。N33BS不仅有一个令人印象深刻的处理单元——nRF52840微控制器,运行频率64MHz,具有1MB或闪存,以及256KB的SRAM——而且还拥有一系列车载环境传感器

Speech Recognition on Arduino Nano 33 BLE Sense Image 2

Arduino Nano 33 BLE具有多种适合机器学习的传感器

在这些车载传感器中,有一个麦克风输入,我们将在这里使用它来识别单词“是”和“否”,并闪烁车载LED绿色或红色作为响应。当它听到任何一个选项都无法解决的噪音时,它也会亮起蓝色。

为此,首先通过boards manager安装并配置IDE以与Arduino Nano 33 BLE配合使用:

工具>电路板>电路板管理器,搜索纳米33 ble,并安装支持Arduino mbed的板出现的包。

处理好这一点后,转到

草图>包含库>管理库并搜索/安装Arduino_TensorFlowLite岩库(不是ESP32版本)。

在安装时,您可能还需要安装Arduino_LSM9DS1解释NEEBS的加速计数据,尽管本实验不需要。

Speech Recognition on Arduino Nano 33 BLE Sense Image 3

Speech Recognition on Arduino Nano 33 BLE Sense Image 4

Speech Recognition on Arduino Nano 33 BLE Sense Image 5

绿色,是的;红色,否;蓝色,未知

打开micro_语音在TensorFlowLite库中的示例中,按箭头键编译并上载。完成后,你可以在黑板上说是/否命令。我发现识别“否”比识别“是”要好得多你的结果可能会有所不同,因为这不是针对我个人的。

使用Edge Impulse训练Arduino

虽然这可能表明an能够进行简单的语音识别,但使用两个精度可疑的预编程单词限制了您的选择。理想情况下,您希望定义自己的参数,可以通过边缘脉冲来实现。

该平台允许通过手机捕获数据,并包括在构建模型时清理数据集的工具。使用Arduino麦克风本身捕捉数据也是可能的,而且会更接近它实际听到的声音。然而,它也不太方便。这一点很重要,因为你需要10分钟的样本,最理想的情况是有各种各样的人在说你的触发词。还需要背景噪声样本,以便处理器知道什么不重要。

如果你想自己试试,搜索Edge Impulse并在那里创建一个帐户。它们提供了教授您自己模型的说明。收集和处理方法看起来相当不错,但要准备相当长的记录时间,再加上一点“数据卫生”,以生成一个健壮的模型供N33B使用。

超越演讲:Arduino图像传感器和更多项目

虽然语音是明显的ML目标,但您也可以训练模型来识别来自其车载惯性测量单元(IMU)或其他车载传感器的输入。通过正确的训练和设置,您甚至可以分析来自外部摄像机传感器的数据。Arduino本身就有一篇关于在Arduino上开始机器学习的文章。它使用Google Colab进行模型训练,而不是Edge Impulse。

结论

那么结果如何?现在,这意味着你可以用你的声音触发。通过适当的训练,您可以使用Arduino板来识别和响应自定义命令或各种传感器输入。神经网络训练人工智能和ML的地方,从那里开始,只有时间会告诉我们。也许我们将拥有机器的所有好处,这些机器可以智能地执行我们的命令,甚至娱乐我们,而没有一些人认为可能的邪恶“副作用”。

 

版权声明:部分文章信息来源于网络或网友投稿,本网站只负责对文章进行整理、排版、编辑、是出于分享传递更多信息为目的,并不意味着本站赞成其观点以及确保内容的真实性,如本站文章和内容涉及版权等问题,请及时联系本站站长或客服,我们会及时处理。

标题:Arduino机器学习入门:基于Arduino Nano 33 BLE感知的语音识别_久芯网

网址:https://www.9icnet.com/article/4615.html

会员中心 微信客服
客服
回到顶部