Hướng dẫn chi tiết
Bài 2: Cài đặt Raspberry Pi OS, môi trường Python và cấu hình âm thanh
Cài Raspberry Pi OS Lite, bật SSH, tạo virtual environment, cắm mic USB, cấu hình ALSA và kiểm tra chất lượng âm thanh trước khi tích hợp Vosk.
Cập nhật 02/03/2026
Bước 1: Cài Raspberry Pi OS Lite
Dùng Raspberry Pi Imager để flash OS vào microSD:
- Chọn: Raspberry Pi OS Lite (64-bit)
- Bật SSH, đặt username/password, cấu hình WiFi ngay trong Imager
- Flash và boot Raspberry Pi
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3-pip python3-venv git espeak-ng libportaudio2 portaudio19-dev mosquitto mosquitto-clients
Bước 2: Tạo môi trường Python
mkdir ~/voice-assistant && cd ~/voice-assistant
python3 -m venv .venv
source .venv/bin/activate
cat > requirements.txt << 'EOF'
vosk>=0.3.45
sounddevice>=0.4.6
RPi.GPIO>=0.7.1
paho-mqtt>=2.0.0
EOF
pip install -r requirements.txt
Bước 3: Kiểm tra mic USB
arecord -l
Kết quả mẫu:
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
Bước 4: Cấu hình ALSA (~/.asoundrc)
pcm.!default {
type asym
capture.pcm "mic"
playback.pcm "speaker"
}
pcm.mic {
type plug
slave { pcm "hw:1,0" }
}
pcm.speaker {
type plug
slave { pcm "hw:0,0" }
}
Thayhw:1,0bằng số card/device thực từ lệnharecord -l.
Bước 5: Test thu âm và kiểm tra biên độ
arecord -D plughw:1,0 -f S16_LE -r 16000 -c 1 -d 5 test.wav
aplay test.wav
# test_audio.py
import wave, struct
with wave.open("test.wav","r") as wf:
frames = wf.readframes(wf.getnframes())
samples = struct.unpack(f"{len(frames)//2}h", frames)
max_amp = max(abs(s) for s in samples)
print(f"Max amplitude: {max_amp}/32767")
if max_amp < 2000:
print("CẢNH BÁO: Âm thanh quá nhỏ!")
else:
print("OK — Mic hoạt động tốt.")
Bước 6: Test espeak-ng
espeak-ng -v vi -s 150 "Voice Assistant đã sẵn sàng."