11 December, 2022

[VB] - 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
All Right Reserved © 2015 By Hung Pro VN
Hung.Pro.VN Sharing Your Own Knowledge and Creative Thinking Every Day and Many Other Things.