Menukar ucapan ke teks: Bagaimana untuk membuat aplikasilan mudah

Pengarang: Lewis Jackson
Tarikh Penciptaan: 13 Mungkin 2021
Tarikh Kemas Kini: 1 Julai 2024
Anonim
UNCHARTED 4 A THIEF’S END
Video.: UNCHARTED 4 A THIEF’S END

Kandungan


Banyak aplikasi, perkhidmatan, dan alat rumah tangga menggunakan pengecaman pertuturan untuk memberikan pengalaman pengguna yang lebih baik dan meningkatkan kebolehaksesan. Terdapat banyak aplikasi Android yang menggunakan pengiktirafan ucapan - yang paling ketara ialah Pembantu Google - jadi mengapa tidak ikut serta menambah ciri ini ke aplikasi Android anda sendiri?

Dalam artikel ini, saya akan berkongsi cara yang cepat dan mudah untuk bermula dengan Ucapan Teks Teks-ke-Teks, yang boleh berguna dalam pelbagai aplikasi. Sebagai contoh, anda mungkin menggunakan pengecaman pertuturan untuk mengautomasikan kemasukan data manual yang membosankan, secara automatik menghasilkan sub judul, atau bahkan sebagai asas untuk aplikasi penterjemahan yang "mendengar" input suara, menukarkannya ke dalam teks, kemudian menterjemahkan teks ini dan memaparkan hasilnya pengguna.

Terlepas dari jenis aplikasi yang anda buat, pengecaman pertuturan dapat meningkatkan akses dengan menyediakan pengguna dengan cara alternatif untuk berinteraksi dengan aplikasi anda. Sebagai contoh, orang yang mempunyai masalah mobiliti, ketangkasan, atau penglihatan mungkin lebih mudah untuk menavigasi aplikasi mudah alih menggunakan arahan suara, bukannya skrin sentuh atau papan kekunci. Tambahan pula, menurut Pertubuhan Kesihatan Sedunia (WHO), lebih daripada satu bilion orang mempunyai beberapa bentuk ketidakupayaan, yang menyumbang kepada sekitar 15% penduduk dunia. Menambah ciri kebolehaksesan aplikasi anda dengan ketara dapat meningkatkan penonton berpotensi anda.


Menjelang akhir artikel ini, anda akan mencipta aplikasi Ucapan-ke-Teks mudah yang merekodkan suara anda, menukarnya menjadi teks dan kemudian memaparkan teks itu pada skrin.

Membina antara muka pengguna Pertuturan-ke-Teks

Untuk memulakan, buat projek Android baharu menggunakan templat "Tindakan Kosong".

Kami akan mencipta aplikasi mudah yang terdiri daripada butang yang, apabila ditoreh, mencetuskan Ucapan Teks Teks ke Teks dan memaparkan dialog yang menunjukkan bahawa aplikasi anda bersedia menerima input ucapan. Apabila pengguna selesai bercakap, input mereka akan ditukar menjadi teks, dan kemudian dipaparkan sebagai sebahagian daripada TextView.

Mari mulakan dengan membuat susun atur kami:

Ini memberi kita susun atur berikut:


Menambah pengecaman pertuturan ke aplikasi Android anda

Kami menangkap dan memproses input ucapan dalam dua langkah:

1. Mula PengiktirafanIntent

Cara paling mudah untuk melakukan penukaran Pertuturan Teks ke menggunakan PengiktirafanIntent.ACTION_RECOGNIZE_SPEECH. Niat ini meminta pengguna untuk input suara dengan melancarkan kotak dialog mikrofon biasa Android.

Apabila pengguna berhenti bercakap, dialog akan ditutup secara automatik dan ACTION_RECOGNIZE_SPEECH akan menghantar audio yang dirakam melalui pengiktirafan ucapan.

Kami memulakan RecognizerIntent.ACTION_RECOGNIZE_SPEECH menggunakan startActivityForResult () dengan tambahan dibundel. Ambil perhatian bahawa kecuali dinyatakan sebaliknya, pengenal akan menggunakan locale lalai peranti.

void public onClick (Lihat v) {// Trigger the RecognizerIntent intent // Intent intent = Intent baru (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); cuba {startActivityForResult (niat, REQUEST_CODE); } tangkapan (ActivityNotFoundException a) {}}

2. Menerima sambutan ucapan

Setelah operasi pengecaman pertuturan selesai, ACTION_RECOGNIZE_SPEECH akan menghantar hasil kembali ke Aktiviti panggilan sebagai Array rentetan.

Oleh kerana kami mencetuskan PengiktirafanIntent melalui startActivityForResult (), kami mengendalikan data hasil dengan mengutip pada ActivityResult (int requestCode, int resultCode, data niat) dalam Aktiviti yang memulakan panggilan pengecaman pertuturan.

Keputusan dikembalikan dalam susunan menurun keyakinan pengenalan ucapan. Jadi, untuk memastikan kami memaparkan teks yang paling tepat, kami perlu mengambil kedudukan sifar dari ArrayList yang dikembalikan, kemudian memaparkannya dalam TextView kami.

@Override // Tentukan kaedah OnActivityResult dalam aktiviti pemanggil niat // dilindungi void dilindungi onActivityResult (int requestCode, int resultCode, data niat) {super.onActivityResult (requestCode, resultCode, data); suis (requestCode) {kes REQUEST_CODE: {// Jika RESULT_OK dikembalikan ... // if (resultCode == RESULT_OK & & null! = data) {//..then mengambil ArrayList // ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // Kemas kini TextView // textOutput.setText (result.get (0)); } pecah; }}}}}

Ambil perhatian bahawa Ucapan-ke-Teks tidak memerlukan sambungan internet yang aktif, jadi ia akan berfungsi dengan betul walaupun pengguna di luar talian.

Setelah melengkapkan semua langkah di atas, MainActivity anda harus kelihatan seperti ini:

import android.content.ActivityNotFoundException; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.content.Intent; import android.speech.RecognizerIntent; import android.widget.TextView; import android.view.View; import java.util.ArrayList; MainActivity kelas awam meluaskan AppCompatActivity {int akhir akhir statik peribadi REQUEST_CODE = 100; teks TextView peribadi; @Override dilindungi tidak sah onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Kaedah ini dipanggil dengan butang yang ditekan // public void onClick (Lihat v) // Buat niat dengan aksi "PengiktirafanIntent.ACTION_RECOGNIZE_SPEECH" // {Intent intent = niat baru (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); cuba {// Mulakan Aktiviti dan tunggu sambutan // startActivityForResult (niat, REQUEST_CODE); } menangkap (ActivityNotFoundException a) {}} @Orrride // Mengendalikan hasil // dilindungi tidak sah padaActivityResult (int requestCode, int resultCode, data niat) {super.onActivityResult (requestCode, resultCode, data); suis (requestCode) {case REQUEST_CODE: {if (resultCode == RESULT_OK & & null! = data) {ArrayList result = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (result.get (0)); } pecah; }}}}}

Anda boleh memuat turun projek yang telah siap dari GitHub.

Menguji projek anda

Untuk meletakkan aplikasi anda untuk ujian:

  • Pasang projek anda sama ada pada peranti Android fizikal atau Peranti Maya Maya (AVD). Jika anda menggunakan AVD, mesin pembangunan anda mestilah mempunyai mikrofon terbina dalam atau anda boleh menggunakan mikrofon luaran atau alat dengar.
  • Ketik butang "Bermula Mendikte" permohonan.
  • Apabila kotak dialog mikrofon muncul, bercakap ke peranti anda. Selepas beberapa saat, kata-kata anda harus muncul di skrin.

Mengakhiri

Dalam artikel ini, kami melihat bagaimana anda dapat dengan cepat dan mudah menambah pengecaman pertuturan kepada aplikasi Android anda, dengan menggunakan Teks Ucapan-ke-Teks. Pernahkah anda menemui sebarang aplikasi Android yang menggunakan pengecaman pertuturan dalam cara mengejutkan atau inovatif?

Seterusnya: Bangun aplikasi Android realiti bertambah dengan Google ARCore

Google Pixel 4 telah bocor lagi, kali iniiGeekBlog.Pixel 4 XL yang lebih bear telah menjadi bintang paling banyak kebocoran Pixel 4 kebelakangan ini, tetapi kali ini kita mendapat pandangan terperinci...

Dikemakini, 24 Oktober 2019 (12:33 PM ET): Nah, Amazon teru meroakkan peanan Pixel 4, dan kini Pixel 4 dan 4 XL hanya boleh dibeli daripada peruncit melalui penjual pihak ketiga. Kami akan mengeyorkan...

Pastikan Anda Melihat