Chuyển đổi lời nói thành văn bản: Cách tạo một ứng dụng đọc chính tả đơn giản

Tác Giả: Lewis Jackson
Ngày Sáng TạO: 13 Có Thể 2021
CậP NhậT Ngày Tháng: 1 Tháng BảY 2024
Anonim
Chuyển đổi lời nói thành văn bản: Cách tạo một ứng dụng đọc chính tả đơn giản - ỨNg DụNg
Chuyển đổi lời nói thành văn bản: Cách tạo một ứng dụng đọc chính tả đơn giản - ỨNg DụNg

NộI Dung


Nhiều ứng dụng, dịch vụ và tiện ích gia đình sử dụng nhận dạng giọng nói để cung cấp trải nghiệm người dùng tốt hơn và cải thiện khả năng truy cập. Có vô số ứng dụng Android sử dụng nhận dạng giọng nói - trong đó đáng chú ý nhất là Google Assistant - vậy tại sao bạn không làm theo và thêm tính năng này vào các ứng dụng Android của riêng bạn?

Trong bài viết này, tôi sẽ chia sẻ một cách nhanh chóng và dễ dàng để bắt đầu với Ý định chuyển lời nói thành văn bản của Android, có thể hữu ích trong một loạt các ứng dụng. Ví dụ: bạn có thể sử dụng nhận dạng giọng nói để tự động nhập dữ liệu thủ công tẻ nhạt, tự động tạo phụ đề hoặc thậm chí làm cơ sở cho một ứng dụng dịch thuật mà List lắng nghe ra thành đầu vào bằng giọng nói, chuyển đổi nó thành văn bản, sau đó dịch văn bản này và hiển thị kết quả người dùng.


Bất kể loại ứng dụng nào bạn tạo, nhận dạng giọng nói có thể cải thiện khả năng truy cập bằng cách cung cấp cho người dùng một cách khác để tương tác với ứng dụng của bạn. Ví dụ, những người có vấn đề về di động, khéo léo hoặc thị giác có thể thấy việc điều hướng các ứng dụng di động dễ dàng hơn bằng cách sử dụng lệnh thoại, thay vì màn hình cảm ứng hoặc bàn phím. Thêm vào đó, theo Tổ chức Y tế Thế giới (WHO), hơn một tỷ người có một dạng khuyết tật, tương đương với khoảng 15% dân số thế giới. Thêm các tính năng trợ năng vào các ứng dụng của bạn có thể tăng đáng kể đối tượng tiềm năng của bạn.

Đến cuối bài viết này, bạn sẽ tạo ra một ứng dụng Speech-to-Text đơn giản ghi lại giọng nói của bạn, chuyển đổi nó thành văn bản và sau đó hiển thị văn bản đó trên màn hình.


Xây dựng giao diện người dùng Speech-to-Text

Để bắt đầu, hãy tạo một dự án Android mới bằng cách sử dụng mẫu khuôn mẫu trống rỗng.

Chúng tôi sẽ tạo ra một ứng dụng đơn giản bao gồm một nút, khi gõ, sẽ kích hoạt Ý định lời nói thành văn bản của Android và hiển thị hộp thoại cho biết ứng dụng của bạn đã sẵn sàng để chấp nhận lời nói. Khi người dùng đã nói xong, đầu vào của họ sẽ được chuyển đổi thành văn bản và sau đó được hiển thị như một phần của TextView.

Hãy bắt đầu bằng cách tạo bố cục của chúng tôi:

Điều này cho chúng ta bố trí sau:

Thêm nhận dạng giọng nói vào ứng dụng Android của bạn

Chúng tôi nắm bắt và xử lý đầu vào giọng nói theo hai bước:

1. Bắt đầu nhận dạng

Cách dễ nhất để thực hiện chuyển đổi lời nói thành văn bản là sử dụng RecognizerIntent.ACTION_RECOGNIZEClickEECH. Mục đích này nhắc người dùng nhập liệu bằng giọng nói bằng cách khởi chạy hộp thoại micrô quen thuộc của Android.

Khi người dùng dừng nói chuyện, hộp thoại sẽ tự động đóng lại và ACTION_RECOGNIZEClickEECH sẽ gửi âm thanh được ghi thông qua bộ nhận dạng giọng nói.

Chúng tôi bắt đầu RecognizerIntent.ACTION_RECOGNIZEClickEECH bằng cách sử dụng startActivityForResult () với các tính năng bổ sung kèm theo. Lưu ý rằng trừ khi được chỉ định khác, bộ nhận dạng sẽ sử dụng ngôn ngữ mặc định của thiết bị.

công khai void onClick (Xem v) {// Kích hoạt mục đích RecognizerIntent // Intent aim = new Intent (RecognizerIntent.ACTION_RECOGNIZEClickEECH); thử {startActivityForResult (ý định, REQUEST_CODE); } bắt (ActivityNotFoundException a) {}}

2. Nhận phản hồi lời nói

Sau khi hoàn thành thao tác nhận dạng giọng nói, ACTION_RECOGNIZEClickEECH sẽ gửi kết quả trở lại Hoạt động gọi dưới dạng một chuỗi các chuỗi.

Vì chúng tôi đã kích hoạt RecognizerIntent thông qua startActivityForResult (), chúng tôi xử lý dữ liệu kết quả bằng cách ghi đè onActivityResult (int requestCode, int resultCode, Intent data) trong Activity bắt đầu cuộc gọi nhận dạng giọng nói.

Kết quả được trả về theo thứ tự giảm dần của độ tin cậy nhận dạng giọng nói. Vì vậy, để đảm bảo rằng chúng tôi hiển thị văn bản chính xác nhất, chúng tôi cần lấy vị trí 0 từ ArrayList được trả về, sau đó hiển thị nó trong TextView của chúng tôi.

@Override // Xác định phương thức OnActivityResult trong trình gọi mục đích của chúng tôi Hoạt động // được bảo vệ void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {// Nếu RESULT_OK được trả về ... // if (resultCode == RESULT_OK && null! = data) {//...then lấy ArrayList // ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // Cập nhật TextView // textOutput.setText (result.get (0)) của chúng tôi; } phá vỡ; }}}}

Lưu ý rằng Speech-to-Text doesn không yêu cầu kết nối internet đang hoạt động, do đó, nó sẽ hoạt động chính xác ngay cả khi người dùng ngoại tuyến.

Sau khi hoàn thành tất cả các bước trên, MainActivity của bạn sẽ trông giống như thế này:

nhập android.content.ActivityNotFoundException; nhập androidx.appcompat.app.AppCompatActivity; nhập android.os.Bundle; nhập android.content.Intent; nhập android.speech.RecognizerIntent; nhập android.widget.TextView; nhập android.view.View; nhập java.util.ArrayList; lớp công khai MainActivity mở rộng AppCompatActivity {private static int int REQUEST_CODE = 100; TextView textOutput riêng tư; @Override void void onCreate (Gói đã lưuInstanceState) {super.onCreate (yetInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Phương thức này được gọi với nút được nhấn // công khai thử {// Bắt đầu Hoạt động và chờ phản hồi // startActivityForResult (ý định, REQUEST_CODE); } Catch (ActivityNotFoundException a) {}} @Override // Xử lý kết quả // được bảo vệ void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {if (resultCode == RESULT_OK && null! = data) {ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } phá vỡ; }}}}

Bạn có thể tải về dự án đã hoàn thành từ GitHub.

Kiểm tra dự án của bạn

Để thử nghiệm ứng dụng của bạn:

  • Cài đặt dự án của bạn trên thiết bị Android vật lý hoặc Thiết bị ảo Android (AVD). Nếu bạn sử dụng AVD, máy phát triển của bạn phải có micrô tích hợp hoặc bạn có thể sử dụng micrô ngoài hoặc tai nghe.
  • Nhấn vào ứng dụng Vách ngăn Bắt đầu nút Dictation.
  • Khi hộp thoại micrô xuất hiện, hãy nói vào thiết bị của bạn. Sau một lát, từ của bạn sẽ xuất hiện trên màn hình.

Gói lại

Trong bài viết này, chúng tôi đã thấy cách bạn có thể nhanh chóng và dễ dàng thêm nhận dạng giọng nói vào các ứng dụng Android của mình, bằng cách sử dụng Ý định lời nói thành văn bản. Bạn đã gặp bất kỳ ứng dụng Android nào sử dụng nhận dạng giọng nói theo những cách đáng ngạc nhiên hoặc sáng tạo chưa?

Kế tiếp: Xây dựng một ứng dụng Android thực tế mở rộng với Google ARCore

amung từ lâu đã bảo vệ giắc cắm tai nghe khi phần còn lại của các đối thủ cạnh tranh đã bỏ cổng di ản. Mặc dù chúng tôi rất buồn khi thấy nó đi, nhưng ch&#...

Chúng tôi đã đưa các thiết bị Android tốt nhất năm 2018 vào một loạt các thử nghiệm và có thể tự tin thông báo cho bạn biết điện thoại có âm...

Chúng Tôi Khuyên