Skip to main content

智能零售语音 AI

利用 Seeed 的智能零售语音 AI 解决方案来捕获和分析店内客户对话。我们的边缘 AI 技术支持设备端语音转文本处理,将语音数据转化为可操作的洞察,无需依赖云服务。通过我们专为零售环境定制的离线 AI 驱动语音分析,提升客户体验、优化店铺运营并获得宝贵反馈。

智能零售语音 AI

智能零售语音 AI

使用边缘设备和 SenseCraft Voice 构建店内语音分析管道,现场捕获对话,运行设备端语音转文本,将客户语音转化为结构化数据。

  • 边缘设备端语音转文本

    SenseCraft Voice 直接在店内边缘设备上运行,本地处理语音活动检测和语音识别。所有语音都在边缘处理,大大减少了对云连接的依赖,实现实时转录生成。

  • 远场零售就绪音频捕获

    该解决方案专为嘈杂零售环境中的远场音频捕获而设计。支持麦克风阵列、波束成形和噪声抑制,即使在背景音乐和周围聊天声中也能专注于真实的客户-员工对话。

  • 隐私优先的边缘架构

    由于音频在边缘设备上本地转录,只有文本和元数据被发送到上游,零售商可以更好地控制隐私和合规风险,同时保持较低的云成本和网络需求。

  • 从对话到数据驱动决策

    SenseCraft Voice 生成的转录文本成为结构化的可分析数据。零售商可以衡量服务质量,识别常见问题和痛点,持续改进脚本、政策和整体店铺体验。

入门指南

在本节中,我们将指导您完成使用 Seeed 的 reRouter 和 reSpeaker XVF3800 麦克风阵列设置智能零售语音 AI 解决方案的步骤。

1. 硬件要求

本指南使用 Seeed 的 reRouter 和 reSpeaker XVF3800 麦克风阵列来演示如何构建智能零售语音 AI 解决方案。

reRouter(边缘计算)reSpeaker XVF3800(音频捕获)
reRouter CM4reSpeaker XVF3800

角色:处理单元

技术规格:

  • CPU:四核处理器
  • RAM:4GB(最低要求)
  • 存储:32GB eMMC
  • 操作系统:OpenWrt 24.10.3(Build r28872)
*注意:低于这些规格的性能尚未验证。

角色:语音捕获

技术规格:

  • 型号:XVF3800 4 麦克风阵列
  • 固件:v2.0.5
  • 配置:1 通道(处理后音频)
  • 功能:噪声抑制、AEC、波束成形

硬件设置

product-rerouter-respeaker

1.1 获取 reRouter 固件

reRouter 有两个版本的 OpenWrt 固件可用:
一个适用于全球用户,另一个针对中国大陆用户进行了优化。

当前固件基于OpenWrt 24.10.3(Build r28872)

您可能需要一个跳线帽来将设备置于刷机模式。

请参考reRouter 刷机指南获取详细说明。

1.2. 硬件连接

请按以下方式连接 reRouter:

  • 互联网接入:将网线从您的路由器/调制解调器连接到WAN端口。
  • 主机连接:无线连接到名为OpenWrt-XXXX的 Wi-Fi 热点,或通过网线将您的计算机连接到LAN端口。
reRouter hardware connections: LAN port connects to your host computer for configuration; WAN port connects to the internet.
  • WAN 端口:连接到互联网。
  • LAN 端口:连接到您的主机计算机进行配置。

1.3. reSpeaker XVF3800 设置

通过 USB 将 reSpeaker XVF3800 麦克风阵列连接到您的主机设备进行配置。

  1. 克隆仓库并导航到控制文件夹:

根据您的设备,将<YOUR_HOST_DIR>替换为与您系统匹配的文件夹(例如,linux_x86_64rpi_64bitmac_arm64jetson)。

git clone https://github.com/respeaker/reSpeaker_XVF3800_USB_4MIC_ARRAY.git
cd reSpeaker_XVF3800_USB_4MIC_ARRAY/host_control/<YOUR_HOST_DIR>
  1. 执行配置序列:

授予执行权限并运行以下三个命令来初始化设备(在 Linux 上如需要请使用 sudo):

chmod +x ./xvf_host

# 1. Clear existing configuration
sudo ./xvf_host clear_configuration 1

# 2. Enable specific audio manager setting
sudo ./xvf_host audio_mgr_op_r 8 0

# 3. Save configuration
sudo ./xvf_host save_configuration 1

2. 软件安装

2.1. 前提条件

开始之前,请确保满足以下条件:

  • 访问权限: 通过 SSH 对您的 OpenWrt 设备具有 root 访问权限(例如,ssh [email protected])。
  • 网络: OpenWrt 设备具有稳定的互联网连接。
  • 音频: reSpeaker XVF3800 已连接到 reRouter。

2.2 访问设备

一旦您的计算机连接到 reRouter(通过 LAN 或 Wi-Fi),您可以使用以下默认设置访问系统:

  • SSH 访问

默认情况下,root 用户未设置密码。

注意

您也可以使用 OpenWrt Web 界面来配置网络设置,包括将 reRouter 连接到您的 Wi-Fi 或以太网网络以获得互联网访问。

重要

在继续执行下面的安装步骤之前,请验证 reRouter 可以访问互联网 (例如,在 SSH 终端中运行 ping google.com 或 ping openwrt.org)。

2.3 分步安装

在建立与您的 OpenWrt 设备的 SSH 连接后,按顺序执行以下命令。

步骤 1:安装 Docker 和依赖项

此步骤安装容器运行时环境和必要的工具,包括用于文件验证的 SHA-256 校验和实用程序。

# 1. Update the local package list
opkg update

# 2. Install Docker core components
# Note: On some systems, you might need to install these separately: dockerd, docker, containerd, runc
opkg install dockerd docker containerd runc

# 3. Install utility packages
opkg install wget-ssl unzip ca-certificates

# 4. Enable and start the Docker daemon service
/etc/init.d/dockerd enable
/etc/init.d/dockerd start

# 5. Wait for Docker to initialize (approx. 15-30 seconds)
echo "Waiting for Docker service to start..."
sleep 15
docker ps # Verify the service is running
步骤 2.2:准备数据目录和配置

创建 SenseCraft 容器所需的持久存储目录并下载默认配置文件。

# 1. Create required application data directories
mkdir -p /data-iot/respeaker/recordings \
/data-iot/respeaker/models \
/data-iot/respeaker/voiceprints \
/data-iot/respeaker/logs

# 2. Navigate to the base directory
cd /data-iot/respeaker

# 3. Download the configuration file
wget -q -O config.yaml 'https://appstore.seeed-fleet.com/config.yaml'
步骤 2.3:下载和提取模型

我们将直接从 Seeed Studio 服务器下载预训练的 ASR 模型包(大约 480MB),使用 SHA-256 验证其完整性,并提取它。

文件URL
models.ziphttps://files.seeedstudio.com/wiki/solution/ai-sound/reRouter-firmware-backup/models.zip
预期 SHA-256 哈希值7b9e7606a2ddcad56f3f72a77b16eb2c60437ae4bfc3f1423bd33db177385c9d

通过 SSH 在 OpenWrt 主机上执行以下命令:

# 1. Navigate to the base directory
cd /data-iot/respeaker

# 2. Define the Model URL
MODEL_URL="https://files.seeedstudio.com/wiki/solution/ai-sound/reRouter-firmware-backup/models.zip"

# 3. Download the large model package.
# -c allows the download to resume if interrupted.
wget -O models.zip -c "$MODEL_URL"
echo "Model package download completed. Check file size is approximately 500MB."

# 4. Verify the file integrity using SHA-256 Checksum
# The result MUST match the expected hash above.
echo "Verifying file checksum..."
shasum -a 256 models.zip

# 5. Extract the model package into the 'models' directory
unzip -o models.zip

# 6. Clean up the temporary ZIP file
rm -f models.zip

# 7. Verify the model files are present
ls -l /data-iot/respeaker/models/
步骤 2.4:配置音频设备权限

Voice Client 容器需要对音频设备的特权访问。确保设备文件具有适当的权限。

# 1. Check for audio devices
ls -l /dev/snd/

# 2. Set read/write permissions for all users on audio device nodes
chmod -R 666 /dev/snd/*
步骤 2.5:部署 Docker 容器

定义镜像变量并启动三个必需的服务:sensecraft-voice-clientsensecraft-asr-serverwatchtower

# Define Image Variables
VOICE_CLIENT_IMAGE="sensecraft-missionpack.seeed.cn/respeaker/sensecraft-voice-client:v0.0.2"
ASR_SERVER_IMAGE="sensecraft-missionpack.seeed.cn/respeaker/sensecraft-asr-server:latest"
WATCHTOWER_IMAGE="sensecraft-missionpack.seeed.cn/respeaker/containrrr/watchtower:latest"

# 1. Pull Images
docker pull $VOICE_CLIENT_IMAGE
docker pull $ASR_SERVER_IMAGE
docker pull $WATCHTOWER_IMAGE

# 2. Stop and remove any containers with the same names
docker rm -f sensecraft-voice-client sensecraft-asr-server watchtower

# 3. Launch sensecraft-voice-client
docker run -d --name sensecraft-voice-client \
--restart=unless-stopped \
--privileged \
--device /dev/snd \
--network host \
--group-add audio \
--group-add video \
--cap-add SYS_ADMIN \
--cap-add SYS_RAWIO \
-e TZ=Asia/Shanghai \
-e AUDIO_CARD_ID=1 \
-e AUDIO_DEVICE_ID=0 \
-v /etc/wpa_supplicant:/etc/wpa_supplicant \
-v /etc/network:/etc/network \
-v /var/run/dbus:/var/run/dbus \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
-v /proc:/proc:ro \
-v /sys:/sys:ro \
-v /data-iot/respeaker/recordings:/app/recordings \
-v /data-iot/respeaker/voiceprints:/app/voiceprints \
-v /data-iot/respeaker/logs:/app/logs \
-e WIFI_INTERFACE=wlan0 \
-e WIFI_CONFIG_PATH=/etc/wpa_supplicant \
$VOICE_CLIENT_IMAGE

# 4. Launch sensecraft-asr-server (model server)
docker run -d --network host \
-v /data-iot/respeaker/models:/app/models \
-v /data-iot/respeaker/voiceprints:/app/data \
--restart=always \
--name=sensecraft-asr-server \
$ASR_SERVER_IMAGE

# 5. Launch watchtower (for continuous container monitoring and update)
docker run -d --name watchtower \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
$WATCHTOWER_IMAGE \
--cleanup -i 60 sensecraft-asr-server sensecraft-voice-client
✅ 3. 验证

检查部署的最终状态。

# Check container status (All three should show Status: Up)
docker ps

# Check the voice client logs for successful initialization and audio device detection
docker logs sensecraft-voice-client

如果日志显示成功启动且没有严重错误,则 SenseCraft 服务已成功部署。

访问 SenseCraft Voice 服务

SenseCraft Voice Client 在 reRouter IP 地址的端口 8090 上公开了一个 Web 界面。 您可以通过 Web 浏览器访问:

http://<reRouter_IP_Address>:8090
Loading Comments...