Hiện tại có rất nhiều nhà cung cấp hỗ trợ service nhận diện giọng nói từ file sang văn bản, nổi bật nhất trong đó có lẽ là service từ Google Cloud. Hôm nay mình sẽ hướng dẫn các bạn cách setup và sử dụng service này trên nền tảng NodeJS.
I. Đăng kí tài khoản Google Cloud
Để sử dụng service của Google Cloud, trước tiên chúng ta cần đăng kí tài khoản: https://console.cloud.google.com/freetrial/signup/
Điền đầy đủ thông tin yêu cầu ở bước 2, lưu ý Google Cloud yêu cầu người dùng cung cấp thông tin thẻ Visa, Master Card mới có thể đăng kí tài khoản (hiện tại Google không chấp nhận thẻ Master Card ảo, nên không thể dùng thẻ Master Card ảo đăng kí bằng Viettel Pay hay bên bất kì nào nhé).
Sau khi tạo thành công tài khoản, ta vào Dashboard của Google Cloud và tạo một chứng thực (credential) và lưu về máy.
Set biến môi trường ở máy của bạn, cho phép gọi APIs mà Google cung cấp với credential đã tải về
-
Với Linux/MacOS
-
Với Window
II. Tạo Project NodeJS
-
Tạo thư mục chứa project, đặt tên CloudSpeech
-
Mở terminal, đi đến thư mục đã tạo, chạy câu lệnh “npm init” (Yêu cầu máy của bạn phải cài NodeJs rồi nhé)
-
Điền các thông tin cần thiết (nếu có), và nhấn enter để tiếp tục
-
Tạo file index.js bằng câu lệnh “echo > index.js” hoặc tự tạo bằng tay nhé
-
Install package:
npm install @google-cloud/speech
-
Google Cloud có rất nhiều project sample như convert file voice to text, nhận diện giọng nói từ microphone, ở đây mình sẽ demo với project infinite streaming: https://github.com/googleapis/nodejs-speech/blob/master/samples/infiniteStreaming.js
-
Các bạn copy hết source ở trên và bỏ vào file index.js đã tạo ở trên nhé.
-
Install các package cần thiết:
npm i chalk
npm i node-record-lpcm16
- Để project nhận diện được voice từ micro và convert sang đúng định dạng mà Google Cloud Speech yêu cầu ta cần dùng SoX, install Sox tại: http://sox.sourceforge.net/
Hiện tại version 14.4.2 đang gặp một số lỗi nên chúng ta sẽ install version 14.4.1
Với MacOS thì đơn giản hơn, chúng ta chỉ cần chạy câu lệnh “brew install sox” với terminal, không cần tự tải
III. Config
Các bạn mở file index.js lên, trong function main, chúng ta có thể điều chỉnh languageCode về ngôn ngữ chúng ta nói để bộ nhận diện sẽ detect chính xác hơn. Ví dụ nếu bạn nói tiếng Việt thì chuyển ‘en-US’ về ‘vi-VN’.
IV. Run project
Bằng câu lệnh: node index.js
, bây giờ chúng ta đã có thể nói vào micro, Google APIs sẽ tự detect ra text và show kết quả lên console.
REFERENCE
Cảm ơn các bạn đã xem bài viết!! ❤
Nguồn: viblo.asia