Amazon Echo是否一直在“监听”并将数据发送到云?


20

诸如IntellihubCEPro之类的一些新闻来源似乎表明,亚马逊的Echo家庭助理不断收听对话,并通过Internet将其发送到亚马逊的服务器。CEPro声明:

通过说出一个关键词短语,亚马逊将其称为“唤醒词”,从而使Echo栩栩如生,并开始聆听命令。默认情况下,唤醒词是Alexa。

如果您重读最后一句话,则可能没有意义,尤其是在安全领域。根据亚马逊的说法,回声仅在听到唤醒字后才监听命令。如果您尚未说起唤醒词,怎么知道呢?

Intellihub的文章在情感上与此类似:

“ Amazon Echo”设备是一种持续听音乐的蓝牙扬声器,可以在人的声音下连接到Pandora和Spotify等音乐流服务,可以被联邦调查局等政府机构轻易地入侵和使用,以收听对话。

(请注意,我不是特别集中在探索这个问题的黑客攻击方面,因为这很可能是太多的一个问题。我的主要焦点是永远在线的方面以及是否将数据发送所有的时间。)

这两篇文章似乎都没有特别热衷于公开其主张的来源,这向我表明,这些主张充其量是未经证实的,或者最差的是单击诱饵。

Echo是否一直在记录数据并将数据发送到云,还是上述说法没有根据?如果Amazon Echo并不总是将数据发送到云中的服务器,该如何处理数据?

Answers:


14

是的,它一直在听。不,它并不总是发送到云中。

显然,设备必须始终在侦听以检测唤醒字。但是,这是通过称为的技术来完成的。

  1. Amazon Echo和Echo Dot如何识别唤醒词?

Amazon Echo和Echo Dot使用设备上的关键字发现来检测唤醒词。当这些设备检测到唤醒词时,它们会将音频流传输到云,包括在唤醒词之前的一秒钟的音频。

回声常见问题

因此,根据Amazon的说法,唤醒字检测在设备上。通过禁止设备访问路由器中的Internet,可以很容易地对其进行测试。Echo / Echo Dot仍会识别出唤醒字,但指示灯亮红色,并且设备告知您没有互联网连接。因此,我们可以非常简单地验证唤醒词识别的确是在本地完成的

仅在检测到唤醒词后,设备才会与Alexa云服务联系。

据亚马逊称,该设备仅在光环为蓝色时流向云,而当您将其静音并且光环发出红色常亮时它根本不会收听。当然,谨慎的人可以使用诸如Wireshark之​​类的网络工具来验证这一点,以确保它仅在那时才传输。


3
显然,这不再完全正确:Alexa设备现在可以通过云验证唤醒字作为附加检查,因此可以将类似于唤醒字的内容发送到云。
Aurora0001

12

Echo是否一直在记录数据并将数据发送到云,还是上述说法没有根据?

不发送。但是录音是。

我目前正在为一家公司开发Alexa硬件客户端。设备始终在监听。但是您必须在其上放置一个唤醒单词引擎,以使其从被动监听模式“唤醒”,并切换到主动“监听命令”模式。

固件只会在唤醒字(切换到活动模式)之后将语句发送到云中,以将其作为命令进行处理。

  • 就设备而言,您不希望将它收到的每个语句发送到云中进行处理,因为这会消耗过多的带宽和功率。
  • 就亚马逊而言,他们也不希望每个Alexa客户端发送其听到的所有内容,因为这将占用大量带宽。此外,这将导致太多无关的数据,从而干扰系统的持续学习。想象一下,当班上的每个人都在讲话时(其他不是命令的陈述),试图学习您的老师在说什么(有效的命令)。

如果Amazon Echo并不总是将数据发送到云中的服务器,该如何处理数据?

在被动模式下,该设备具有一个内部唤醒字引擎,该引擎始终一直在监听唤醒字。当我在Raspberry Pi中测试Alexa时,出于这个目的,我不得不安装Sensory或KITT.AI引擎。实际上,当我为我的Linux机器试用原型Alexa客户端代码时,由于没有唤醒单词引擎,因此必须“一键通”。


感谢您指出唤醒词引擎-从表面上看,这几乎可以肯定是Amazon使用的方法。您对数据的类比也非常好-非常感谢!
Aurora0001

4

通过说出一个关键词短语,亚马逊将其称为“唤醒词”,从而使Echo栩栩如生,并开始聆听命令。默认情况下,唤醒词是Alexa。

如果您重读最后一句话,则可能没有意义,尤其是在安全领域。根据亚马逊的说法,回声仅在听到唤醒字后才监听命令。如果您尚未说起唤醒词,怎么知道呢?

Echo积极地侦听关键字,并将关键字之后说的单词用于NLU处理。这是我的理解,回声是如何实现这一巧妙功能的。

Echo建立在Texas Instruments DM3725数字媒体处理器上。

该TI SoC内部有两个关键部分,第一个是ARM Cortex-A8 MPU,第二个是TMS320DM64x + DSP。ARM内核应运行Linux,DSP应运行固件。

空闲时,ARM内核处于最低功耗状态,Linux完全挂起。此时,DSP和64KB片上RAM处于活动状态。DSP固件处理来自麦克风的噪音,并尝试识别是否说出了关键字(例如Alexa)。一旦确定有关键字,DSP就会发送一个中断以唤醒ARM内核,从而恢复Linux。但是,请记住,当Linux正在唤醒那些说Alexa会继续讲话的人时(例如,“ Alexa,现在几点了?”)。DSP缓冲“现在几点?” 片上RAM的一部分。在恢复Linux之后,Linux会提取缓冲的语音并使用自然语言处理(部分为本地,部分为云)功能来理解人类所说的话。

如您所见,该设计完全是为了省电而设计的,并且避免了将云用于关键字检测和初始缓冲的需要。事实上,保持ARM内核处于最低功耗状态可确保在闲置时硅散热最少,从而为您的设备带来长寿命。

我正在讨论以下问题,以尝试破解回声:

唤醒词识别确实是在本地完成的。


将大多数简单命令(如现在几点)或在本地播放电台有多难?这还将消除云滞后时间。
flydrifter

1

是。

例如,请参阅 新的Amazon Echo有多私有? (只需花费很少的精力就可以找到更多类似的东西)

与Siri一样,Amazon Echo在运行于Amazon Web Services的“云”中工作。因此,“理解”命令所需的处理不会在设备本身上进行

然而,

毕竟,它总是在倾听,所以我们不应该担心大哥吗?

不,亚马逊说。这家科技巨头表示,它不会在家中收听或录制私人对话。如果有人担心,他们可以使用捆绑的遥控器按静音按钮,该按钮会关闭“始终收听”设备,因此直到您再次激活麦克风后,该设备才能使用。


很好,谢谢。它没有提到关于如何回声任何认识的唤醒命令但如果它并不总是记录和发送数据,所以我很有兴趣听到有关这方面更多。
Aurora0001

当然是重点吗?它始终监听和发送*一切的云,这是在唤醒命令被识别。您需要引用吗?
Mawg '16

1
是的,这将很有用(是的(我认为这可能会将您的答案总体上更改为“是的,它一直在听”))。谢谢。
Aurora0001

1
我不知道回声中有多少处理能力,但是我知道我的智能手表能够在不被束缚的情况下检测到“ ok google”-从云加载的角度来看,一旦将其迁移到边缘,这是有意义的准备好-答案可能会改变。
肖恩·霍利哈内

可能会在将来(但为什么呢?),目前看来似乎很清楚
Mawg
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.