Đang tải quảng cáo...

Đổi wake word và sửa âm thanh P3 trên Xiaozhi ESP32

adminQuản trị viên
👁️ 36👍 0
Tự làm Xiaohi Ai

Hướng dẫn đổi từ đánh thức WakeNet trong menuconfig và tạo file P3 cho tiếng báo hệ thống — cần ESP-IDF.

Đang tải quảng cáo...

Bài viết dịch và biên soạn từ tài liệu chính thức (Đổi wake word (Feishu), Sửa file P3 (Feishu)), thuộc bộ tài liệu DIY Xiaozhi AI.

Tổng quan

Firmware Xiaozhi mặc định dùng từ đánh thức tiếng Trung do nhóm dự án đăng ký với Espressif. Bạn có thể đổi wake word trong danh sách miễn phí của Espressif (khoảng 26 từ) hoặc thay âm thanh hệ thống (bật máy, vào chế độ cấu hình Wi-Fi…) bằng file P3 tùy chỉnh. Cả hai đều cần cài ESP-IDF và tự biên dịch lại firmware — không làm được chỉ bằng Flash Tool web.

Cấu hình wake word Xiaozhi trong ESP-IDF menuconfig

Phần 1 — Đổi wake word (WakeNet)

Điều kiện

  • Đã cài ESP-IDF (khuyến nghị 5.3) và clone mã nguồn xiaozhi-esp32.
  • Biết build và flash board (ví dụ bread-compact-wifi cho breadboard ESP32-S3).

Cách 1: VS Code + ESP-IDF Extension

  1. Mở thư mục dự án trong VS Code.
  2. Thanh bên trái → ESP-IDF: SDK Configuration Editor (menuconfig), hoặc bấm biểu tượng cấu hình trên thanh trạng thái.
  3. Vào ESP Speech Recognition → bật use wakenet (thường đã bật sẵn).
  4. Mục Select wake words → chọn từ đánh thức trong danh sách → Save.

Cách 2: Dòng lệnh menuconfig

  1. Mở ESP-IDF PowerShell/CMD (Windows) hoặc terminal đã export IDF (macOS/Linux).
  2. Trong thư mục dự án: idf.py set-target esp32s3 (nếu chưa đặt).
  3. Chạy idf.py menuconfigESP Speech Recognitionuse wakenetSelect wake words.
  4. Nhấn S rồi Enter để lưu, Q hoặc Esc để thoát.

Biên dịch và nạp lại

  1. idf.py build — nếu build cũ gây lỗi, thử idf.py fullclean rồi build lại.
  2. idf.py -p <Cổng_COM> flash monitor
  3. Sau khi nạp firmware Wi-Fi, cấu hình lại Wi-Fi nếu thiết bị vào chế độ phát hotspot.

Lưu ý: Log serial có thể vẫn hiển thị tên cũ trong văn bản — không ảnh hưởng hoạt động. Wake word thương mại riêng cần liên hệ Espressif.

Phần 2 — Sửa âm thanh hệ thống (file P3)

Dùng khi muốn đổi tiếng báo bật máy, vào chế độ cấu hình Wi-Fi hoặc các âm thanh ngắn khác trong firmware.

Bước 1: Chuẩn hóa file WAV

Chuyển file gốc sang 16 kHz, PCM 32-bit (theo hướng dẫn gốc):

ffmpeg -i input.wav -ar 16000 -acodec pcm_s32le output.wav

Chất lượng cao hơn (tùy chọn):

ffmpeg -i input.wav -ar 16000 -acodec pcm_s32le -filter:a "aresample=resampler=soxr" output.wav

Bước 2: WAV → P3

Dùng script trong repo: scripts/p3_tools/convert_audio_to_p3.py

pip install librosa opuslib tqdm numpy pyloudnorm
python convert_audio_to_p3.py output.wav output.p3

Bước 3: Đưa vào firmware

  1. Đặt file .p3 vào thư mục locale tương ứng, ví dụ main/assets/locales/vi-VN/ (hoặc ngôn ngữ bạn build).
  2. Cập nhật cấu hình âm thanh trong language.json / build assets — sau khi build, kiểm tra main/assets/lang_config.h có tham chiếu file mới.
  3. Ví dụ thay âm cấu hình Wi-Fi: tìm mục tương ứng wificonfig trong tài nguyên âm thanh và thay bằng file P3 của bạn.
  4. idf.py build và flash lại.

Chuyển WAV sang file P3 cho âm thanh hệ thống Xiaozhi

Phương án khác — ASR PRO (không cần sửa WakeNet)

Wiki còn hướng dẫn module ASR PRO 2M để thêm wake word tùy ý (ví dụ tên riêng) qua phần cứng phụ — wake word mặc định vẫn dùng được song song. Cần nối PA2 module với GPIO0 (BOOT) trên ESP32-S3. Phù hợp khi không muốn biên dịch WakeNet.

Liên kết

Đang tải quảng cáo...
👁️36 lượt xem