Voice notes ความสามารถของโปรแกรม

เครื่องมือของ Office ทั้งหมดภายในแอปเดียว

โปรแกรมที่เข้ากันได้อย่างสมบูรณ์แบบกับ Microsoft Office

จดโน๊ตบนเอกสารทุก ๆ รูปแบบ

แอปสำหรับงานต่าง ๆ อย่างเป็นทางการของ Google

เครื่องมืออ่านไฟล์ PDF อย่างเป็นทางการจาก Google

Voice technology from maruay songtanin

Voice Recognition (บ้างก็เรียกว่า Speech Recognition) หรือที่รู้จักกันในนามของฟีเจอร์สั่งงานด้วยเสียง ซึ่งบนแอนดรอยด์ถือเป็นฟีเจอร์ปกติที่มีอยู่แทบทุกอุปกรณ์แอนดรอยด์อยู่แล้ว และการเรียกใช้งานก็โคตรจะง่ายเลยล่ะ

ซึ่งบนแอนดรอยด์จะรองรับการเรียกใช้งานความสามารถนี้อยู่แล้ว โดยไม่จำเป็นต้องเขียนโค้ดใดๆเพื่อเรียกใช้งาน Voice Recognition ภายในแอพ แต่จะเป็นการเรียกหน้าต่าง Voice Recognition ขึ้นมาแทน

เรื่อง (ที่ควรจะ) น่ารู้

Voice Recognition บนแอนดรอยด์แทบทุกเครื่องในทุกวันนี้ เบื้องหลังของมันก็คือ Google นั่นเอง ซึ่งทาง Google ก็ได้พัฒนาระบบตัวนี้มาตลอดทุกเวอร์ชัน

เมื่อก่อนนี้จะมีข้อจำกัดที่ว่าเวลาใช้งานจะต้องต่ออินเตอร์เน็ตเท่านั้น เพราะว่าเสียงที่พูดจะถูกส่งขึ้นไปประมวลผลบนเซิฟเวอร์แล้วส่งผลลัพธ์ที่ได้กลับมา ในตอนนั้นการทำ Offline Voice Recognition ยังไม่อำนวยมากนัก แถมยังไม่มีภาษาไทยด้วย

จนมาวันหนึ่ง Google ก็ได้ประกาศว่ารองรับภาษาไทยแล้ว​ (ก็เฮสิครับ) จึงทำให้นักพัฒนาหลายๆคนสามารถใช้ประโยชน์จาก Voice Recognition ได้สะดวกขึ้น จากเดิมที่ต้องใช้เฉพาะภาษาอังกฤษ เพียงแค่ไปตั้งค่าใน Settings > Language and input > Voice input ก็สามารถเลือกภาษาไทยเพิ่มได้เลย

ล่าสุดนี้บนแอนดรอยด์ก็ได้มี Offline Voice Recognition เป็นที่เรียบร้อยแล้ว โดยจะต้องดาวน์โหลดข้อมูลที่ใช้ในการวิเคราะห์มาเก็บไว้ในเครื่องก่อนถึงจะทำงานได้

การใช้งานที่โคตรจะง่าย

ในการทำ Text To Speech จะต้องเรียกใช้งานผ่านคลาส TextToSpeech แต่สำหรับ Voice Recognition นั้นไม่ต้องใช้คลาสอะไรเกี่ยวกับมันเลย เพียงแค่เรียกใช้งานคำสั่ง startActivityForResult(...) ก็สามารถทำงานได้แล้ว

// MainActivity.kt class MainActivity : AppCompatActivity() { companion object { const val REQUEST_CODE_VOICE_RECOGNITION = 1001 } private fun callVoiceRecognition() { val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH) startActivityForResult(intent, REQUEST_CODE_VOICE_RECOGNITION) } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) // Result will return here } /* ... */ }

แค่นี้แหละ!!

ซึ่ง Request Code ที่กำหนดเป็น 10001 ไม่ใช่เลขตายตัว กำหนดเป็นเลขอะไรก็ได้ เอาไว้เช็คตอนขากลับเฉยๆว่าข้อมูลที่ส่งกลับมาเป็นอันเดียวกับตอนที่ส่งไปในตอนแรกหรือป่าว

ทีนี้ก็เหลือแค่การดึงข้อมูลผลลัพธ์ที่ได้นั่นเอง ก่อนอื่นต้องเช็ค Request Code ว่า Request Code เป็นค่าที่ส่งไปใช่มั้ย และ Result Code ที่ได้คือ OK ใช่มั้ย จากนั้นก็ค่อยดึงข้อมูลที่ส่งกลับมา

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == REQUEST_CODE_VOICE_RECOGNITION && resultCode == Activity.RESULT_OK) { val resultList = data?.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS) // Do something with resultList } }

จะเห็นว่าผลลัพธ์ที่ได้นั้นเป็น String Array List เพราะว่าผลลัพธ์ไม่ได้แม่นยำ 100% เสมอไป ดังนั้นอันไหนที่น่าจะใกล้เคียงก็จะถูกส่งกลับมาด้วย ซึ่งเรียงลำดับตามใกล้เคียง โดย Index ที่ 0 คือตัวที่น่าจะใกล้เคียงที่สุด

สมมติว่าเจ้าของบล็อกพูดไปว่า “Digital Smart Box” ผลลัพธ์ที่ได้กลับมาก็จะมีให้เลือกดังนี้

Digital smart box digital smart box Digital smart lock Digital Smart Watch digital smart lock

ถ้าไม่คิดอะไรมากก็ใช้ตัวแรกสุดน่ะแหละครับ เพราะเป็นตัวที่น่าจะถูกต้องมากที่สุดแล้ว พอได้ข้อความเป็น String แล้วก็เอาไปใช้ทำอะไรตามใจชอบเลยครับ

กำหนดภาษาที่ต้องการได้ด้วยนะ

สมมติว่าผู้ที่หลงเข้ามาอ่านอยากให้ Voice Recognition รับข้อความเป็นภาษาไทย ถึงแม้ว่าเครื่องนั้นๆจะใช้เป็นภาษาอังกฤษอยู่ก็ตาม สามารถกำหนดค่าเข้าไปใน Intent ได้ครับ เพื่อเลือกภาษาที่ต้องการ

val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH) intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "th-TH") startActivityForResult(intent, REQUEST_CODE_VOICE_RECOGNITION)

เวลาเรียกขึ้นมาก็จะเห็นว่ามีห้อยท้ายบรรทัดว่าเป็นภาษาอะไรอยู่ด้วย

โดยปกติแล้วจะ Default เป็นภาษาอังกฤษให้ ในกรณีที่ไม่ใช่ภาษาไทยให้กำหนดภาษาจากคลาส Locale ได้เลย เพราะภาษาไทยไม่มีอยู่ในคลาส Locale ก็เลยต้องใส่เป็น String แบบนั้นไปตรงๆ

Toplist

โพสต์ล่าสุด

แท็ก

แปลภาษาไทย ไทยแปลอังกฤษ โปรแกรม-แปล-ภาษา-อังกฤษ พร้อม-คำ-อ่าน ห่อหมกฮวกไปฝากป้าmv แปลภาษาอาหรับ-ไทย lmyour แปลภาษา ข้อสอบคณิตศาสตร์ พร้อมเฉลย แปลภาษาอังกฤษเป็นไทย pantip ระเบียบกระทรวงการคลังว่าด้วยการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560 แอพแปลภาษาอาหรับเป็นไทย ห่อหมกฮวกไปฝากป้า หนังเต็มเรื่อง แปลภาษาเวียดนามเป็นไทยทั้งประโยค Google Translate การ์ดแคปเตอร์ซากุระ ภาค 4 หยน อาจารย์ ตจต เมอร์ซี่ อาร์สยาม ล่าสุด ศัพท์ทหาร ภาษาอังกฤษ pdf ห่อหมกฮวกไปฝากป้า คาราโอเกะ app แปลภาษาไทยเป็นเวียดนาม การ์ดแคปเตอร์ซากุระ ภาค 3 บบบย ศัพท์ทหารบก แปลภาษาจีน การประปาส่วนภูมิภาค การ์ดแคปเตอร์ซากุระ ภาค 1 ขุนแผนหลวงปู่ทิม มีกี่รุ่น ชขภใ ตม.เชียงใหม่ เซ็นทรัลเฟสติวัล พจนานุกรมศัพท์ทหาร รหัสจังหวัด อําเภอ ตําบล รหัสประจำจังหวัด 77 จังหวัด สอบโอเน็ต ม.3 จําเป็นไหม หนังสือราชการ ตัวอย่าง ห่อหมกฮวกไปฝากป้า คอร์ด อเวนเจอร์ส ทั้งหมด แปลภาษา มาเลเซีย ไทย ไทยแปลอังกฤษ ประโยค ่้แปลภาษา Egp G no Reconguista Google map ขุนแผนหลวงปู่ทิมรุ่นแรก ข้อสอบภาษาไทยพร้อมเฉลย ข้อสอบโอเน็ต ม.3 ออกเรื่องอะไรบ้าง ค้นหา ประวัติ นามสกุล จองคิว ตม เชียงใหม่ ชื่อเต็ม ร.9 คําอ่าน ดีแม็กมือสองราคาไม่เกิน350000 ตัวอย่างรายงานการประชุมสั้นๆ