Hmm..apakah kamu pernah membanyangkan kita memutar mp3 dengan hanya mengucapkan perintah lewat suara.. Persis seperti voice tag di seluler kita. Nah kita mencoba membikin aplikasi seperti itu..Namun sebelumnya kita harus tahu Speech API terlebih dahulu.
SDK Microsoft Speech API adalah API yang digunakan untuk :
Biasanya kita menyebut voice recognition application dan text-to-speech application. Contoh populer speech synthesis adalah Microsoft Narrator.
Untuk menginstallnya,lihat penjelasannya di installSAPI
Kita langsung aja pada contoh code nya aja, berikut ini adalah contoh bagaimana kita mengubah sebuah text menjadi sebuah suara atau sebaliknya.,
kita deklarasikan dulu object Librarii SAPI nya,
Penjelasan Mengubah Suara menjadi Text
deklarasinya sama aja dengan yang diatas. Sebelumnya kita set dulu dictation grammarnya, ada 3 cara menset dictation grammar
SDK Microsoft Speech API adalah API yang digunakan untuk :
- mensintesiskan suara manusia (menggunakan concatenated speech synthesis engine )
- mengenali suara manusia (menggunakan speech recognition engine).
- Speech Recognition
- Speech Synthesis
Biasanya kita menyebut voice recognition application dan text-to-speech application. Contoh populer speech synthesis adalah Microsoft Narrator.
Untuk menginstallnya,lihat penjelasannya di installSAPI
Kita langsung aja pada contoh code nya aja, berikut ini adalah contoh bagaimana kita mengubah sebuah text menjadi sebuah suara atau sebaliknya.,
Dim WithEvents recognizer As SpSharedRecoContextPenjelasan Mengubah Text menjadi Suara
Attribute recognizer.VB_VarHelpID = -1
Dim grammar As ISpeechRecoGrammar
Dim tts As New SpVoice
Private Sub Cmd_Click()
Set tts.Voice = tts.GetVoices().Item(1)
tts.Speak “Hello everybody, welcome to Speech API”
tts.Speak “Nama saya BEJO”
End Sub
Sub initReco()
Set recognizer = New SpSharedRecoContext
Set grammar = recognizer.CreateGrammar(1)
‘— LOADING dictation, ada 3 cara
‘ ‘— cara 1, dictation standar (semua kata terdeteksi yg paling dekat)
‘ grammar.DictationLoad
‘ grammar.DictationSetState SGDSActive
‘ ‘– cara 2, ambil data dictation dari file XML
‘ grammar.CmdLoadFromFile “e:\SAPI\number.xml”
‘ grammar.DictationSetState SGDSInactive
‘ grammar.CmdSetRuleIdState 1, SGDSActive
‘– cara 3, set manual di programming
Dim topRule As ISpeechGrammarRule
Set topRule = grammar.Rules.Add(”myDict”, SRATopLevel, 1)
topRule.InitialState.AddWordTransition Nothing, “my password is secret”, _
” “, , “my password is secret”, 1, 1
topRule.InitialState.AddWordTransition Nothing, “my cute sandals”, _
” “, , “my cute sandals”, 1, 1
grammar.Rules.Commit
grammar.CmdSetRuleIdState 1, SGDSActive
End Sub
Private Sub cmdReco_Click()
initReco
End Sub
Private Sub recognizer_FalseRecognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal Result As SpeechLib.ISpeechRecoResult)
Text1.Text = “– KAMU NGOMONG APA SIH ? –”
End Sub
Private Sub recognizer_Recognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal Result As SpeechLib.ISpeechRecoResult)
Text1.Text = Result.PhraseInfo.GetText
End Sub
kita deklarasikan dulu object Librarii SAPI nya,
Dim WithEvents recognizer As SpSharedRecoContextSpVoice adalah Nama Object yang akan mengubah text menjadi sebuah suara, Sedangkan Object ISpeechRecoGrammar nanti akan di pake ketika kita mengubah suara menjadi sebuah text.
Attribute recognizer.VB_VarHelpID = -1
Dim grammar As ISpeechRecoGrammar
Dim tts As New SpVoice
Private Sub Cmd_Click()method Voice ini yang digunakan untuk memilihVoice Selection yang akan kita gunakan. Secara default, windows memiliki Voice Selection “Microsoft Sam”, namun ketika kita sudah menginstall SDK SAPI 5.1 maka kita memiliki Voice Selection tambahan, yaitu “Microsoft Mary”, “Microsoft Mike”, dan “Sample TTS voice”.
Set tts.Voice = tts.GetVoices().Item(1)
tts.Speak “Hello everybody, welcome to Speech API”
tts.Speak “Nama saya BEJO”
End Sub
Penjelasan Mengubah Suara menjadi Text
deklarasinya sama aja dengan yang diatas. Sebelumnya kita set dulu dictation grammarnya, ada 3 cara menset dictation grammar
- dictation standar (semua kata terdeteksi yg paling dekat)
grammar.DictationLoad
grammar.DictationSetState SGDSActive
- ambil data dictation dari file XML
grammar.CmdLoadFromFile “e:\SAPI\number.xml”
grammar.DictationSetState SGDSInactive
grammar.CmdSetRuleIdState 1, SGDSActive
- set manual di programming
Dim topRule As ISpeechGrammarRulekemudian text bisa kita dapat kan dengan recognizer_Recognition. Jika terjadi kesalahan maka bisa kita handle dengan menggunakan method recognizer_FalseRecognition.
Set topRule = grammar.Rules.Add(”myDict”, SRATopLevel, 1)
topRule.InitialState.AddWordTransition Nothing, “my password is secret”, _
” “, , “my password is secret”, 1, 1
topRule.InitialState.AddWordTransition Nothing, “my cute sandals”, _
” “, , “my cute sandals”, 1, 1
Private Sub recognizer_FalseRecognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal Result As SpeechLib.ISpeechRecoResult)
Text1.Text = “– KAMU NGOMONG APA SIH ? –”
End Sub
Private Sub recognizer_Recognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal Result As SpeechLib.ISpeechRecoResult)
Text1.Text = Result.PhraseInfo.GetText
End Sub

Komentar