HAN

3 minute read

Trang web https://snowboy.kitt.ai/ đã dừng hoạt động làm cho anh em có đôi chút khó khăn trong việc tự tạo cho mình những hotword độc lạ :) Hôm nay mình sẽ hướng dẫn anh em các train một custom hostword trên Windows 10 nha :)

Xem video làm từ A đến Z luôn cho dễ hiểu, còn code thì copy phía dưới cho chính xác chứ đừng gõ lại :D

Thiết lập môi trường Linux và chạy Ubuntu 16.04 trên Windows 10

Mở Windows Power Shell (Open As Administrator <- bắt buộc) lên và dán dòng này vào. Nó sẽ giúp bật mooti trường Linux trên Windows của bạn:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 

Tiếp đến là tải App Ubuntu ở đường dẫn sau: https://wsldownload.azureedge.net/Ubuntu_1604.2019.523.0_x64.appx

Sau khi tải xong thì chỉ việc mở lên và click vào nút Install để cài đặt. Sau khi cài xong chương trình sẽ tự chạy và trong lần chạy đầu tiên nó sẽ yêu cầu bạn nhập username và nhập password mới 2 lần để xác nhận (cái này không quan trọng lắm đặt tùy ý nha hoặc cứ đặt hết là kenhtaymay cho dễ nhớ!)

Ở những lần tiếp theo chỉ việc vào Start sẽ thấy có app tên Ubuntu 16.04 LTS. Click vào đó là khởi chạy :)

Cài đặt các thư viện cần thiết trên Ubuntu

Dán cái bên dưới vào Ubuntu 16.04 LTS để nó cài các tools cần thiết cho việc Train Snowboy nha. Lệnh này sẽ yêu cầu bạn nhập password thiết lập ở bước trên :)

sudo apt-get update && sudo apt-get install python2.7 python-scipy -y

Tiếp theo dùng lệnh này để tải thư viện Snowboy về:

git clone https://github.com/seasalt-ai/snowboy

Ghi âm và train

Các bạn ghi âm và cắt file ghi âm lấy đúng phần hotword (cỡ khoảng 1~2s là ok). Ở đây mình dùng phần mềm audacity dùng để ghi âm và cắt khá tiện. Sau đó các bạn làm 3 lần được 3 file lần lượt là 1.wav, 2.wav, 3.wav thì copy vào đúng đường dẫn phía dưới nha:

C:\Users\<tên user windows 10>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\<tên user đặt ở bước đầu tiên>\snowboy\examples\Python

Tiếp đến trên Ubuntu 16.04 LTS gõ lệnh sau để train:

cd snowboy/examples/Python && chmod +0666 1.wav 2.wav 3.wav && python2.7 generate_pmdl.py -r1 1.wav -r2 2.wav -r3 3.wav -lang other -n hotword.pmdl

Khi chạy ra kết quả như thế này là ok:

template cut
personal enroll
channels: 1, sample rate: 16000, bits: 16
processing 1.wav
processing 2.wav
processing 3.wav
saving file to hotword.pmdl
finished

Giờ vào lại đường dẫn để file 1.wav, 2.wav, 3.wav sẽ thấy file hotword.pmdl <- Lấy qua Pi sài thôi :D

C:\Users\<tên user windows 10>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\<tên user đặt ở bước đầu tiên>\snowboy\examples\Python