Cloud Speech API cho phép bạn chuyển lời nói thành văn bản từ các tệp âm thanh bằng hơn 80 ngôn ngữ.
Trong phòng thí nghiệm này, chúng ta sẽ ghi một tệp âm thanh và gửi tệp đó đến Cloud Speech API để chép lời.
Kiến thức bạn sẽ học được
- Tạo yêu cầu Speech API và gọi API bằng curl
- Gọi Speech API bằng các tệp âm thanh bằng nhiều ngôn ngữ
Bạn cần có
Bạn sẽ sử dụng hướng dẫn này như thế nào?
Bạn đánh giá thế nào về trải nghiệm của mình với Google Cloud Platform?
Thiết lập môi trường theo tốc độ của riêng bạn
Nếu chưa có Tài khoản Google (Gmail hoặc Google Apps), bạn phải tạo một tài khoản. Đăng nhập vào bảng điều khiển Google Cloud Platform (console.cloud.google.com) rồi tạo một dự án mới:
Hãy nhớ mã dự án, một tên duy nhất trong tất cả các dự án trên Google Cloud (tên ở trên đã được sử dụng và sẽ không hoạt động đối với bạn, xin lỗi!). Sau này trong lớp học lập trình này, chúng ta sẽ gọi nó là PROJECT_ID
.
Tiếp theo, bạn cần bật tính năng thanh toán trong Cloud Console để sử dụng các tài nguyên của Google Cloud.
Việc thực hiện lớp học lập trình này sẽ không tốn của bạn quá vài đô la, nhưng có thể tốn nhiều hơn nếu bạn quyết định sử dụng nhiều tài nguyên hơn hoặc nếu bạn để các tài nguyên đó chạy (xem phần "dọn dẹp" ở cuối tài liệu này).
Người dùng mới của Google Cloud Platform đủ điều kiện dùng thử miễn phí 300 USD.
Nhấp vào biểu tượng trình đơn ở trên cùng bên trái màn hình.
Chọn trang tổng quan API và dịch vụ trong trình đơn thả xuống.
Nhấp vào Bật API và dịch vụ.
Sau đó, hãy tìm "speech" trong hộp tìm kiếm. Nhấp vào Google Cloud Speech API:
Nhấp vào Bật để bật Cloud Speech API:
Chờ vài giây để tính năng này bật. Bạn sẽ thấy thông báo này sau khi bật tính năng:
Google Cloud Shell là một môi trường dòng lệnh chạy trên Cloud. Máy ảo dựa trên Debian này được trang bị tất cả các công cụ phát triển mà bạn cần (gcloud
, bq
, git
và các công cụ khác) và cung cấp một thư mục chính có dung lượng 5 GB. Chúng ta sẽ sử dụng Cloud Shell để tạo yêu cầu cho Speech API.
Để bắt đầu sử dụng Cloud Shell, hãy nhấp vào biểu tượng "Kích hoạt Google Cloud Shell" ở góc trên cùng bên phải của thanh tiêu đề
Một phiên Cloud Shell sẽ mở ra trong một khung hình mới ở cuối bảng điều khiển và hiển thị một dấu nhắc dòng lệnh. Chờ cho đến khi lời nhắc user@project:~$ xuất hiện
Vì sẽ sử dụng curl
để gửi yêu cầu đến Speech API, nên chúng ta cần tạo một khoá API để truyền vào URL yêu cầu. Để tạo khoá API, hãy chuyển đến phần API và Dịch vụ > Thông tin xác thực trên trang tổng quan của dự án:
Sau đó, hãy nhấp vào Tạo thông tin đăng nhập:
Trong trình đơn thả xuống, hãy chọn Khoá API:
Tiếp theo, hãy sao chép khoá bạn vừa tạo rồi chọn Đóng (không hạn chế khoá).
Giờ đây, bạn đã có khoá API, hãy lưu khoá này vào một biến môi trường để không phải chèn giá trị của khoá API vào mỗi yêu cầu. Bạn có thể thực hiện việc này trong Cloud Shell. Hãy nhớ thay thế <your_api_key>
bằng khoá mà bạn vừa sao chép.
export API_KEY=<YOUR_API_KEY>
Bạn có thể tạo yêu cầu cho Speech API trong tệp request.json
. Để tạo và chỉnh sửa tệp này, bạn có thể sử dụng một trong các trình chỉnh sửa dòng lệnh mà bạn muốn (nano, vim, emacs) hoặc sử dụng trình chỉnh sửa web tích hợp trong Cloud Shell:
Tạo tệp trong thư mục gốc để có thể dễ dàng tham chiếu tệp đó và thêm nội dung sau vào tệp request.json
:
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "en-US"
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
Nội dung yêu cầu có đối tượng config
và audio
. Trong config
, chúng ta cho Speech API biết cách xử lý yêu cầu. Tham số encoding
cho API biết loại mã hoá âm thanh mà bạn đang dùng cho tệp âm thanh mà bạn đang gửi đến API. FLAC
là loại mã hoá cho tệp .raw (xem tài liệu về loại mã hoá để biết thêm thông tin chi tiết). Bạn có thể thêm các tham số khác vào đối tượng config
, nhưng encoding
là tham số bắt buộc duy nhất. languageCode
sẽ mặc định là tiếng Anh nếu bạn không đưa tham số này vào yêu cầu.
Trong đối tượng audio
, bạn có thể truyền cho API uri của tệp âm thanh trong Cloud Storage hoặc âm thanh được mã hoá base64 dưới dạng một chuỗi. Ở đây, chúng ta đang sử dụng URL của Cloud Storage. Bước tiếp theo là gọi Speech API!
Giờ đây, bạn có thể truyền nội dung yêu cầu cùng với biến môi trường khoá API mà bạn đã lưu trước đó đến Speech API bằng lệnh curl
sau (tất cả trong một dòng lệnh):
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"
Phản hồi do lệnh curl
này trả về sẽ có dạng như sau:
{
"results": [
{
"alternatives": [
{
"transcript": "how old is the Brooklyn Bridge",
"confidence": 0.98267895
}
]
}
]
}
Giá trị transcript
sẽ trả về bản chép lời văn bản của Speech API cho tệp âm thanh của bạn, còn giá trị confidence
cho biết mức độ chắc chắn của API về việc API đã chép lời chính xác âm thanh của bạn.
Bạn sẽ thấy rằng chúng ta đã gọi phương thức recognize
trong yêu cầu ở trên. Speech API hỗ trợ cả tính năng chuyển lời nói sang văn bản đồng bộ và không đồng bộ. Trong ví dụ này, chúng ta đã gửi cho nó một tệp âm thanh hoàn chỉnh, nhưng bạn cũng có thể sử dụng phương thức longrunningrecognize
để thực hiện tính năng phiên âm trực tuyến từ lời nói sang văn bản trong khi người dùng vẫn đang nói.
Bạn có sử dụng nhiều ngôn ngữ không? Speech API hỗ trợ tính năng chép lời từ lời nói sang văn bản bằng hơn 100 ngôn ngữ! Bạn có thể thay đổi tham số languageCode
trong request.json
. Bạn có thể xem danh sách các ngôn ngữ được hỗ trợ tại đây.
Hãy thử một tệp âm thanh bằng tiếng Pháp (bạn có thể nghe tệp âm thanh đó tại đây nếu muốn xem trước). Thay đổi request.json thành như sau:
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "fr"
},
"audio": {
"uri":"gs://speech-language-samples/fr-sample.flac"
}
}
Bạn sẽ thấy phản hồi sau:
{
"results": [
{
"alternatives": [
{
"transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
"confidence": 0.9710122
}
]
}
]
}
Đây là một câu trong câu chuyện nổi tiếng dành cho trẻ em của Pháp. Nếu có tệp âm thanh bằng một ngôn ngữ khác, bạn có thể thử thêm các tệp đó vào Bộ nhớ đám mây và thay đổi tham số languageCode
trong yêu cầu của mình.
Bạn đã tìm hiểu cách thực hiện việc phiên âm lời nói thành văn bản bằng Speech API. Trong ví dụ này, bạn đã truyền cho API URI Google Cloud Storage của tệp âm thanh. Ngoài ra, bạn có thể truyền một chuỗi được mã hoá base64 của nội dung âm thanh.
Nội dung đã đề cập
- Truyền cho Speech API một URI Google Cloud Storage của tệp âm thanh
- Tạo yêu cầu Speech API và gọi API bằng curl
- Gọi Speech API bằng các tệp âm thanh bằng nhiều ngôn ngữ
Các bước tiếp theo
- Hãy xem hướng dẫn về Speech API trong tài liệu.
- Hãy dùng thử Vision API và Natural Language API!