[VB.NET] - Text To Speed

Hôm nay, mình xin hướng dẫn các bạn, sử dụng thư viện System.speed; có sẵn trong windows, để nhận dạng giọng nói, và thực thi lệnh chúng ta muốn gắn vào. Hiện tại, thì thư viện System.speed, chưa hỗ trợ nhận dạng ngôn ngữ tiếng việt. Chỉ nhận dạng một số giọng nói các nước: English, Denmark, Chinese, Korea, Japanese...

Video Demo : https://youtu.be/L5ZbzTAKCis

Để thực hiện thủ thuật này, đầu tiên bạn cần import điều kiện này vào chương trình :

Imports System.Speech


Tiếp đó là khai báo biến reco để nhận dạng giọng nói

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
reco.SetInputToDefaultAudioDevice()

Catch ex As Exception
MsgBox(ex.Message)
End Try


Dim gram As New Recognition.SrgsGrammar.SrgsDocument

Dim colorRule As New Recognition.SrgsGrammar.SrgsRule("color")

Dim colorsList As New Recognition.SrgsGrammar.SrgsOneOf("red", "blue", "white", "gray", "yellow", "close")

colorRule.Add(colorsList)

gram.Rules.Add(colorRule)

gram.Root = colorRule

reco.LoadGrammar(New Recognition.Grammar(gram))

reco.RecognizeAsync()

End Sub


Và sau đó là viết một sub để set color cho picture box

Private Sub SetColor(ByVal color As System.Drawing.Color)

Dim synth As New Synthesis.SpeechSynthesizer

synth.SpeakAsync("setting the back color to " + color.ToString)


PictureBox1.BackColor = color

End Sub


Và tiếp đó là viết sự kiện nhận dạng giọng nói

Private Sub reco_SpeechRecognized(ByVal sender As Object, ByVal e As System.Speech.Recognition.RecognitionEventArgs) Handles reco.SpeechRecognized
RichTextBox1.Text = e.Result.Text
Select Case e.Result.Text

Case "red"

SetColor(Color.Red)

Case "blue"

SetColor(Color.Blue)
Case "white"

SetColor(Color.White)
Case "black"

SetColor(Color.Black)
Case "yellow"

SetColor(Color.Yellow)
Case "gray"

SetColor(Color.Gray)

Case "close"

Me.Close()




End Select

End Sub


Cuối cùng là lấy dữ liệu giọng nói hệ thống nhận được

Private Sub reco_RecognizeCompleted(ByVal sender As Object, ByVal e As System.Speech.Recognition.RecognizeCompletedEventArgs) Handles reco.RecognizeCompleted
reco.RecognizeAsync()
End Sub


Chúc các bạn thành công với thủ thuật này.
Theo : LapTrinhVB.Net

PASSWORD DEFAULT: hungqb.com
Thời gian : 11/12/2022 10:57:47

4 comments:

  1. mọi người tích hợp để làm một ứng dụng tốt nhất nhé. tks all :D

    ReplyDelete
  2. đoạn code trên ít sữ dụng e, bữa nay ngta sữ dụng nhiều về lập trình tương tác với nhau hơn, ít ng` sữ dụng code đọc thể này lắm, nó chỉ bỗ trợ cho mình học từ vựng ấy :D

    ReplyDelete
  3. viet chuong trinh hoc tieng nc ngoai di a :D haha

    ReplyDelete
    Replies
    1. trc a có viết r` e, nhưng do host a bị die nên a mất @all dữ liệu về kiến thức lập trình luôn e. Để a tìm xem có bộ source nào gửi e nhé, gửi a mail của e luôn

      Delete

Total Pageviews

Visual Basic (49) C# (27) Software (9) Tips (8) BLOGGER (7) Cam-Xuc-Cuoc-Song (6) Thong-Bao (4) HTML (3) JAVASCRIPT (3) AutoIT (2) CSS (1) Facebook (1)