Chuyển lời nói thành văn bản bằng API Cloud Speech-to-Text

API Cloud Speech 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 tôi sẽ ghi lại một tệp âm thanh và gửi tệp đó đến API Cloud Speech để chép lời.

Kiến thức bạn sẽ học được

  • Tạo một yêu cầu API giọng nói và gọi API bằng curl
  • Gọi API giọng nói bằng tệp âm thanh bằng nhiều ngôn ngữ

Bạn cần có

  • Một dự án Google Cloud Platform
  • Một trình duyệt, chẳng hạn như Chrome hoặc Firefox

Bạn sẽ sử dụng hướng dẫn này như thế nào?

Chỉ đọc qua Đọc qua và hoàn thành các bài tập

Vui lòng cho biết trải nghiệm của bạn đối với Google Cloud Platform.

Công ty Trung cấp Đặc biệt

Thiết lập môi trường theo tiến độ riêng

Nếu chưa có Tài khoản Google (Gmail hoặc Google Apps), thì bạn phải tạo một tài khoản. Đăng nhập vào bảng điều khiển của Google Cloud Platform (console.cloud.google.com) và tạo một dự án mới:

Ảnh chụp màn hình từ 2016-02-10 12:45:26.png

Hãy ghi nhớ mã dự án, một tên duy nhất trên tất cả các dự án Google Cloud (tên ở trên đã được sử dụng và sẽ không hoạt động cho bạn!). Lớp học này sẽ được gọi sau này trong lớp học lập trình này là PROJECT_ID.

Tiếp theo, bạn sẽ cần bật tính năng thanh toán trong Cloud Console để sử dụng tài nguyên của Google Cloud.

Nếu tham gia lớp học lập trình này, bạn sẽ không mất quá vài đô la, nhưng có thể sẽ hiệu quả 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 đó hoạt động (xem "cleanup" ở 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ử 300 đô la dùng thử miễn phí.

Nhấp vào biểu tượng trình đơn ở phía trên cùng bên trái màn hình.

Chọn trang tổng quan API và dịch vụ từ trình đơn thả xuống.

Nhấp vào mục Bật API và dịch vụ.

Sau đó, tìm kiếm " Speech" trong hộp tìm kiếm. Nhấp vào API Google Cloud Speech:

Nhấp vào Bật để bật API Cloud Speech:

Đợi vài giây để tùy chọn này bật. Bạn sẽ thấy thông báo sau khi tính năng này được bật:

Google Cloud Shell là một môi trường dòng lệnh chạy trong Cloud. Máy ảo dựa trên Debian này được tải bằng tất cả công cụ phát triển mà bạn cần (gcloud, bq, git, v.v.) và cung cấp một thư mục gốc 5GB cố định. Chúng tôi sẽ sử dụng Cloud Shell để tạo yêu cầu của mình đối với API lời nói.

Để bắt đầu sử dụng Cloud Shell, hãy nhấp vào "Kích hoạt Google Cloud Shell" biểu tượng Ảnh chụp màn hình lúc 5:30.32 chiều.2015-06-08 ở góc trên cùng bên phải của thanh tiêu đề

Phiên hoạt động trên Cloud Shell mở ra trong một khung mới ở cuối bảng điều khiển và hiển thị lời nhắc dòng lệnh. Chờ cho đến khi lời nhắc user@project:~$ xuất hiện

Vì chúng tôi sẽ sử dụng curl để gửi yêu cầu tới API lời nói, nên chúng tôi sẽ cần tạo một khóa API để chuyển vào URL yêu cầu của mình. Để tạo một khóa API, hãy chuyển đến phần API & amp; Dịch vụ và gt; Thông tin xác thực trên trang tổng quan về dự án của bạn:

Sau đó, nhấp vào Tạo thông tin xác thực:

Trong trình đơn thả xuống, hãy chọn Khóa API:

Tiếp theo, hãy sao chép khóa bạn vừa tạo và chọn Đóng (không hạn chế khóa này).

Giờ đây, bạn đã có khóa API, hãy lưu khóa đó vào biến môi trường để tránh phải chèn giá trị của khóa API vào mỗi yêu cầu. Bạn có thể thực hiện việc này trong Cloud Shell. Đảm bảo thay thế <your_api_key> bằng khóa bạn vừa sao chép.

export API_KEY=<YOUR_API_KEY>

Bạn có thể tạo yêu cầu của mình đối với API lời nói trong một 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 những 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 sẵn trong Cloud Shell:

Tạo tệp trong thư mục gốc để có thể dễ dàng tham chiếu và thêm nội dung sau đây 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 configaudio. Trong config, chúng tôi cho API giọng nói biết cách xử lý yêu cầu. Thông số encoding cho API biết loại mã hóa âm thanh mà bạn đang sử dụng cho tệp âm thanh mà bạn đang gửi tới API. FLAC là loại mã hóa dành cho các tệp .raw (xem tài liệu để biết loại mã hóa để biết thêm thông tin chi tiết). Bạn có thể thêm các thông số khác vào đối tượng config, nhưng bạn chỉ cần thêm thông số encoding. languageCode sẽ mặc định là tiếng Anh nếu không có trong yêu cầu.

Trong đối tượng audio, bạn có thể chuyển API phía sau của tệp âm thanh trong Cloud Storage hoặc âm thanh được mã hóa base64 dưới dạng chuỗi. Tôi đang sử dụng URL Cloud Storage. Bước tiếp theo là gọi API lời nói!

Giờ đây, bạn có thể chuyển nội dung yêu cầu của mình, cùng với biến môi trường khóa API mà bạn đã lưu trước đó, vào API lời nói bằng lệnh curl sau (tất cả trong một dòng lệnh duy nhất):

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 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 tệp âm thanh API API và giá trị confidence cho biết mức độ chắc chắn mà API này đã chép lời chính xác nội dung âm thanh của bạn.

Bạn sẽ nhận thấy rằng chúng tôi đã gọi phương thức recognize trong yêu cầu của chúng tôi ở trên. API nói đây hỗ trợ cả tính năng chép lời nói đồng bộ và không đồng bộ cho tính năng chép lời bằng văn bản. Trong ví dụ này, chúng tôi đã gửi 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 chuyển lời nói sang bản chép lời văn bản khi người dùng vẫn đang nói.

Bạn có đa ngôn ngữ không? API giọng nói hỗ trợ chép lời nói thành văn bản bằng hơn 100 ngôn ngữ! Bạn có thể thay đổi thông số languageCode trong request.json. Bạn có thể tìm thấy danh sách các ngôn ngữ được hỗ trợ tại đây.

Hãy thử một tệp âm thanh kiểu Pháp (xem tệp tại đây nếu bạn muốn xem trước). Thay đổi yêu cầu.json của bạn thà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 đây:

{
  "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 một câu chuyện về trẻ em nổi tiếng ở Pháp. Nếu bạn có tệp âm thanh bằng một ngôn ngữ khác, thì bạn có thể thử thêm các tệp âm thanh đó vào Cloud Storage và thay đổi thông số languageCode trong yêu cầu.

Bạn đã học cách chép lời nói thành văn bản bằng API lời nói. Trong ví dụ này, bạn đã chuyển API của Google Cloud Storage vào tệp âm thanh của bạn. Ngoài ra, bạn có thể chuyển chuỗi mã hóa base64 cho nội dung âm thanh của mình.

Những điều chúng tôi đã đề cập

  • Chuyển API lời nói sang URI Google Cloud Storage của tệp âm thanh
  • Tạo một yêu cầu API giọng nói và gọi API bằng curl
  • Gọi API giọng nói bằng tệp âm thanh bằng nhiều ngôn ngữ

Các bước tiếp theo