NEWS

Lập trình ứng dụng nhận dạng giọng nói (Text To Speed) bằng VB.NET

Lập trình ứng dụng nhận dạng giọng nói (Text To Speed) bằng VB.NET
Đăng bởi: Thảo Meo - Lượt xem: 19664 19:52:59, 07/12/2015VB.NET   In bài viết

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...

Chương trình ứng dụng như demo bên dưới:

- Đầu tiên, chúng ta cần import thư viện vào.

Imports System.Speech

- Khai báo biến reco để nhận dạng giọng nói

 Dim WithEvents reco As New Recognition.SpeechRecognitionEngine

- Viết sự kiện cho form load

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

- 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

- 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

- 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! HÃY NHỚ LIKE AND SHARE NHA CÁC BẠN 

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

Lập trình ứng dụng nhận dạng giọng nói (Text To Speed) bằng VB.NET
Đăng bởi: Thảo Meo - Lượt xem: 19664 19:52:59, 07/12/2015VB.NET   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp