vendredi 10 juillet 2009

Visual Basic 6 : Reconnaissance Vocale, parlez a votre PC

LA reconnaissance vocale est un sujet très intéressant et qui me plait tout particulièrement car ce type de système me parait magique,…lol, imaginez !!! , que vous parlez a votre ordinateur , par exemple , on lui demande de faire un truc sans lever le petit doigt , comme exécuter un programme , c’est l’idée que j’ai eu après quelques jours de réflexion , enfin j’ai pu crée une première version du programme , un exécuteur Windows c'est-à-dire : a partir de ce programme j’exécute n’importe quel logiciel qui se trouve sur mon ordinateur ,sans passer par le menu « Démarrer » , ni par les raccourcis qui se trouve sur le bureau…. Déjà, j’ai supprimé ces raccourcis car je déteste ça (avis personnel), enfin ce programme été assez original par rapport au programme classique de Windows, si on prend un exemple simple : essayez d’exécuter « MSN Messenger » en passant par « Démarrer > Exécuter », vous aurez rien !! Donc on doit définir le chemin d’accès, mais si vous exécuter « iTunes » ça marche car tous les programmes qui se trouvent dans le dossier « C:/Programfiles/nom_du_logiciel/nom_du_logiciel.exe » s’exécutent facilement.

Sur la deuxième version du programme, plutôt sur la deuxième conception, j’ai essayé d’introduire ce concept de la reconnaissance vocale, et ça donne un produit assez amusant car votre pc devient un esclave de votre voix …. LOL, et tout ce que vous dites, il l’exécute comme par exemple « MSN », « Microsoft Word », ce qui reste intéressant c’est que vous pouvez donner des noms abrégés aux programmes.

Je vais vous introduire le code qui m’a permis de réaliser ce système de reconnaissance vocale,

Tout d’abord ajouter les composants suivant :

  • Direct Speech Recognition (mettez dans la propriété name : vc)
  • Direct Text-To-Speech ( mettez dans la propriété name : spk )

Ajoutez sur le Load_Form , de votre formulaire le code suivant :

Const YOURNAME = "Islem" 'Remplacez par votre nom "

Dim SpeechGrammer As String

SpeechGrammer = "[Grammar]" & vbCrLf & _
"langid = 1033" & vbCrLf & _
"type=cfg" & vbCrLf & _
"[]" & vbCrLf & _
"=" & YOURNAME

vc.GrammarFromString SpeechGrammer
vc.Activate

spk.Speak "Salut , comment appelles tu ? "

Pour finir , mettez le code suivant dans la procedure : vc_Phrasefinish
Select Case Phrase
Case Is = YOURNAME
spk.Speak "Bonjour" & YOURNAME

End Select


Et maintenant, vous avez la possibilité de discuter avec votre PC … lol. Là, j’ai mis un exemple de code pour vous montrer qu’on peut faire de la reconnaissance vocale avec Visual basic 6, et c’est à vous d’améliorer ce code, et faire des choses extraordinaires.

Je vous donne une explication simple sur ce code :

Bon, à l’exécution, votre machine vous demande « comment appelles-tu ? » Eh ! Oui votre PC vous tutoie ;

Vous allez répondre par la constante déclarée à savoir « Islem », et après, l’étape suivant est que votre machine répond par « Bonjour, islem ».

Allez bon amusement !! Et ne soyez pas fous, comme moi au début de cette expérience … mdr

M.Islem