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!! ❤
Mục tìm kiếm đồng đội
Hiện tại thì bên công ty mình, là Hoàng Phúc International, với hơn 30 năm kinh nghiệm trong lĩnh vực thời trang. Và là trang thương mại điện tử về thời trang lớn nhất Việt Nam. Team công nghệ của HPI đang tìm kiếm đồng đội cho các vị trí như:
- Senior Backend Engineer (Java). Link JD: https://tuyendung.hoang-phuc.com/job/senior-backend-engineer-1022
- Senior Front-end Engineer (VueJS). https://tuyendung.hoang-phuc.com/job/senior-frontend-engineer-1021
- Junior Backend Engineer (Java). https://tuyendung.hoang-phuc.com/job/junior-backend-engineer-1067
- Junior Front-end Engineer (VueJS). https://tuyendung.hoang-phuc.com/careers/job/1068
- App (Flutter). https://tuyendung.hoang-phuc.com/job/mobile-app-engineer-flutter-1239
- Senior Data Engineer. https://tuyendung.hoang-phuc.com/job/seniorjunior-data-engineer-1221
Với mục tiêu trong vòng 5 năm tới về mảng công nghệ là:
- Sẽ có trang web nằm trong top 10 trang web nhanh nhất VN với 20 triệu lượt truy cập mỗi tháng.
- 5 triệu loyal customers và có hơn 10 triệu transactions mỗi năm.
Team đang xây dựng một hệ thống rất lớn với rất nhiều vấn để cần giải quyết, và sẽ có rất nhiều bài toàn thú vị cho các bạn. Nếu các bạn có hứng thú trong việc xây dựng một hệ thống lớn, linh hoạt, dễ dàng mở rộng, và performance cao với kiến trúc microservices thì hãy tham gia với tụi mình.
Nếu các bạn quan tâm hãy gửi CV ở trong trang tuyển dụng của Hoàng Phúc International hoặc qua email của mình nha kha.le@hoang-phuc.net
. Cảm ơn các bạn đã đọc.