Récemment, j'ai essayé de créer un chatbot pour l'école, et l'une des caractéristiques que je voulais était la reconnaissance vocale. Malheureusement, en raison de la nature obsolète de VB6, il existe très peu de tutoriels sur l'utilisation de SAPI pour la reconnaissance vocale avec VB6, et aucun pour activer la diction libre (simplement sans grammaire et conversion de la parole en texte).Comment activer la reconnaissance vocale diction libre dans VB6 en utilisant SAPI
1
A
Répondre
1
Automation Interfaces and Objects (SAPI 5.4) a la documentation.
exemple Trivial:
Option Explicit
'See "Automation Interfaces and Objects (SAPI 5.4)" at MSDN.
Private WithEvents RC As SpeechLib.SpInProcRecoContext
Private RG As SpeechLib.ISpeechRecoGrammar
Private Sub Form_Load()
With New SpeechLib.SpInprocRecognizer
Set RC = .CreateRecoContext()
Set .AudioInput = .GetAudioInputs().Item(0)
End With
With RC
.EventInterests = SRERecognition Or SREFalseRecognition
Set RG = .CreateGrammar()
End With
RG.DictationSetState SGDSActive
End Sub
Private Sub Form_Resize()
If WindowState <> vbMinimized Then
Text1.Move 0, 0, ScaleWidth, ScaleHeight
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
RG.DictationSetState SGDSInactive
End Sub
Private Sub RC_FalseRecognition(_
ByVal StreamNumber As Long, _
ByVal StreamPosition As Variant, _
ByVal Result As SpeechLib.ISpeechRecoResult)
With Text1
.SelStart = &H7FFF
.SelText = "False Rec: "
.SelText = Result.PhraseInfo.GetText()
.SelText = vbNewLine
End With
End Sub
Private Sub RC_Recognition(_
ByVal StreamNumber As Long, _
ByVal StreamPosition As Variant, _
ByVal RecognitionType As SpeechLib.SpeechRecognitionType, _
ByVal Result As SpeechLib.ISpeechRecoResult)
With Text1
.SelStart = &H7FFF
.SelText = "Rec: "
.SelText = Result.PhraseInfo.GetText()
.SelText = vbNewLine
End With
End Sub
Vous utilisez Microsoft Speech API (SAPI) 5.4 qui fait partie du SDK Microsoft Windows pour Windows 7? –
@PedroPolonia Oui –