在 Raspberry Pi 上构建一个简单的语音触发系统 |维亚姆

使用 Viam 构建 Raspberry Pi 语音触发音频系统。使用 USB 麦克风和扬声器捕获唤醒词并通过简单的 Python 脚本播放音频响应。

来源:Viam 博客

你需要什么

硬件

  • Raspberry Pi 4 或 5(闪存并在您的网络上)
  • USB 麦克风
  • USB 扬声器
  • 电源
  • microSD 卡
  • 软件/帐户

    开始之前:设置您的 Pi

    Flash Raspberry Pi OS,让您的 Pi 上线,并在其上安装 viam-server,以便它显示在您的 Viam 应用程序中。在继续之前,请从头到尾遵循 Viam 设置指南。

    第 1 步:插入 USB 麦克风和扬声器

    将 USB 麦克风和 USB 扬声器连接到 Pi 的任意 USB 端口。

    第 2 步:添加发现服务以查找扬声器和麦克风

    在计算机的配置选项卡中,单击+→配置块并搜索音频发现。添加系统音频/发现模块并将其命名为音频发现。 Viam 将自动安装支持模块。

    打开服务的测试面板。您将看到连接到 Pi 的音频输入列表(扬声器和麦克风)。单击与您的特定扬声器和麦克风组合相对应的添加组件,将它们作为麦克风和扬声器添加到您的计算机中。

    唤醒词检测当前仅适用于 num_channels=1 且sample_rate=16000 的麦克风。在“属性”部分中进行这些更改。

    步骤 3:添加并配置唤醒词过滤服务

    再次点击+→配置块并搜索唤醒词。选择“filtered-audio/wake-word-filter”——它是一个 AUDIO_IN 模块,它封装了您的麦克风,并且仅在检测到唤醒词时才发出音频。

    将服务命名为唤醒词并将其粘贴到其属性面板中:

    {"source_microphone":"mic","wake_words": ["hello","hola"]}

    source_microphone 指向步骤 2 中的麦克风组件,wake_words 是将触发捕获的短语列表。添加或交换短语以适应口味。我们的 Alexa 很友好,因此它可以回答英语和西班牙语问候语。

    步骤 4:编写控制逻辑以作用于唤醒词

    在 CONNECT→ API 密钥中获取 API 密钥和密钥 ID,并在 CONNECT → 连接详细信息中获取机器地址。将它们放到 main() 顶部各自的位置。

    第 5 步:运行脚本并与 Pi 对话

    你会看到: