Konversi ucapan ke teks: Cara membuat aplikasi dikte sederhana

Pengarang: Lewis Jackson
Tanggal Pembuatan: 13 Boleh 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
Tips Merubah Suara Audio Menjadi Teks Secara Otomatis :Gampang Banget Bisa dilakukan Sambil Rebahan
Video: Tips Merubah Suara Audio Menjadi Teks Secara Otomatis :Gampang Banget Bisa dilakukan Sambil Rebahan

Isi


Banyak aplikasi, layanan, dan gadget rumah tangga menggunakan pengenalan ucapan untuk memberikan pengalaman pengguna yang lebih baik dan meningkatkan aksesibilitas. Ada banyak aplikasi Android yang menggunakan pengenalan suara - yang paling terkenal di antaranya adalah Google Assistant - jadi mengapa tidak mengikuti dan menambahkan fitur ini ke aplikasi Android Anda sendiri?

Dalam artikel ini, saya akan membagikan cara cepat dan mudah untuk memulai dengan Intentasi Pidato-ke-Android, yang dapat berguna dalam beragam aplikasi. Misalnya, Anda dapat menggunakan pengenalan suara untuk mengotomatiskan entri data manual yang membosankan, secara otomatis menghasilkan subtitle, atau bahkan sebagai dasar untuk aplikasi terjemahan yang "mendengarkan" input vokal, mengubahnya menjadi teks, kemudian menerjemahkan teks ini dan menampilkan hasilnya ke pengguna.

Terlepas dari jenis aplikasi yang Anda buat, pengenalan ucapan dapat meningkatkan aksesibilitas dengan memberi pengguna cara alternatif untuk berinteraksi dengan aplikasi Anda. Misalnya, orang dengan masalah mobilitas, ketangkasan, atau penglihatan mungkin lebih mudah menavigasi aplikasi seluler menggunakan perintah suara, daripada layar sentuh atau keyboard. Plus, menurut Organisasi Kesehatan Dunia (WHO), lebih dari satu miliar orang memiliki beberapa bentuk kecacatan, yang setara dengan sekitar 15% dari populasi dunia. Menambahkan fitur aksesibilitas ke aplikasi Anda dapat secara signifikan meningkatkan potensi audiens Anda.


Pada akhir artikel ini, Anda akan membuat aplikasi Speech-to-Text sederhana yang merekam suara Anda, mengubahnya menjadi teks dan kemudian menampilkan teks itu di layar.

Membangun antarmuka pengguna Speech-to-Text

Untuk memulai, buat proyek Android baru menggunakan templat "Empty Activity".

Kami akan membuat aplikasi sederhana yang terdiri dari tombol yang, ketika diketuk, memicu Intentasi Pidato-ke-Android Android dan menampilkan dialog yang menunjukkan bahwa aplikasi Anda siap menerima input ucapan. Setelah pengguna selesai berbicara, input mereka akan dikonversi menjadi teks, dan kemudian ditampilkan sebagai bagian dari TextView.

Mari kita mulai dengan membuat tata letak kita:

Ini memberi kami tata letak berikut:


Menambahkan pengenalan ucapan ke aplikasi Android Anda

Kami menangkap dan memproses input ucapan dalam dua langkah:

1. Mulai RecognizerIntent

Cara termudah untuk melakukan konversi Speech-to-Text adalah dengan menggunakan RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Intent ini meminta pengguna untuk input vokal dengan meluncurkan kotak dialog mikrofon yang familier Android.

Setelah pengguna berhenti berbicara, dialog akan ditutup secara otomatis dan ACTION_RECOGNIZE_SPEECH akan mengirim audio yang direkam melalui pengenal ucapan.

Kami memulai RecognizerIntent.ACTION_RECOGNIZE_SPEECH menggunakan startActivityForResult () dengan ekstra yang dibundel. Perhatikan bahwa kecuali ditentukan lain, pengenal akan menggunakan lokal default perangkat.

public void onClick (Lihat v) {// Memicu niat RecognizerIntent // Intent intent = Intent baru (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); coba {startActivityForResult (maksud, REQUEST_CODE); } catch (ActivityNotFoundException a) {}}

2. Menerima respons ucapan

Setelah operasi pengenalan ucapan selesai, ACTION_RECOGNIZE_SPEECH akan mengirim hasilnya kembali ke Aktivitas panggilan sebagai Array string.

Karena kami memicu RecognizerIntent melalui startActivityForResult (), kami menangani data hasil dengan mengesampingkan padaActivityResult (int requestCode, int resultCode, Intent data) di Aktivitas yang memulai panggilan pengenalan suara.

Hasilnya dikembalikan dalam urutan kepercayaan pengenal ucapan. Jadi, untuk memastikan kami menampilkan teks yang paling akurat, kami perlu mengambil posisi nol dari ArrayList yang dikembalikan, lalu menampilkannya di TextView kami.

@Override // Tetapkan metode OnActivityResult dalam pemanggil maksud kami Aktivitas // dilindungi void onActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {// Jika RESULT_OK dikembalikan ... // if (resultCode == RESULT_OK && null! = data) {//... lalu ambil ArrayList // ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // Perbarui TextView // textOutput.setText kami (result.get (0)); } istirahat; }}}}

Perhatikan bahwa Speech-to-Text tidak memerlukan koneksi internet aktif, jadi itu akan berfungsi dengan benar bahkan ketika pengguna sedang offline.

Setelah menyelesaikan semua langkah di atas, MainActivity Anda akan terlihat seperti ini:

impor android.content.ActivityNotFoundException; impor androidx.appcompat.app.AppCompatActivity; impor android.os.Bundle; impor android.content.Intent; impor android.speech.RecognizerIntent; impor android.widget.TextView; impor android.view.View; import java.util.ArrayList; MainActivity kelas publik memperluas AppCompatActivity {private int final statis REQUEST_CODE = 100; private TextView textOutput; @Override void onCreate yang dilindungi (Bundle saverInstanceState) {super.onCreate (saverInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Metode ini disebut dengan tombol ditekan // public void onClick (Lihat v) // Buat Intent dengan tindakan “RecognizerIntent.ACTION_RECOGNIZE_SPEECH” // // Intent intent = Intent baru (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); coba {// Mulai Aktivitas dan tunggu respons // startActivityForResult (maksud, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // Menangani hasil // batal dilindungi 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)); } istirahat; }}}}

Anda dapat mengunduh proyek yang sudah selesai dari GitHub.

Menguji proyek Anda

Untuk menguji aplikasi Anda:

  • Instal proyek Anda di perangkat Android fisik atau Perangkat Virtual Android (AVD). Jika Anda menggunakan AVD, mesin pengembangan Anda harus memiliki mikrofon bawaan atau Anda dapat menggunakan mikrofon eksternal atau headset.
  • Ketuk tombol "Mulai Dikte" aplikasi.
  • Ketika kotak dialog mikrofon muncul, bicaralah ke perangkat Anda. Setelah beberapa saat, kata-kata Anda akan muncul di layar.

Membungkus

Dalam artikel ini, kami melihat bagaimana Anda dapat dengan cepat dan mudah menambahkan pengenalan suara ke aplikasi Android Anda, menggunakan Intent Ucapan-ke-Teks. Pernahkah Anda menemukan aplikasi Android yang menggunakan pengenalan suara dengan cara yang mengejutkan atau inovatif?

Berikutnya: Bangun aplikasi Android augmented reality dengan Google ARCore

Jika Anda ingin mauk ke VR eluler, Anda memiliki dua opi. Yang pertama adalah mendapatkan alah atu dari banyak headet VR high-end atau tandalone yang teredia, yang melakukan tuganya dengan cemerlang t...

Hotpot eluler tidak epopuler dulu, tetapi memiliki atu memang memiliki kelebihan dibandingkan dengan mengaktifkan fitur hotpot ponel cerda Anda. Perangkat hotpot WiFi portabel biaanya dapat terhubung ...

Menarik