Commande vocale d'un réseau



1. Description du système

Vous parlez devant un micro et le PC transmet les commandes au réseau. C'est possible grace à un logiciel de reconnaissance vocale fourni gratuitement par Microsoft et qui peut s'interfacer avec Visual Basic.

Vous devez d'abord télécharger le logiciel Microsoft Speech SDK 5.1 sur le site de Microsoft en cliquant ici.
Vous devez ensuite installer le logiciel sur votre PC.

Il faut noter que ce logiciel ne comprend que l'Anglais et par conséquent, les ordres de commande doivent être des mots anglais.

Evidemment, vous devez avoir un micro connecté sur l'entrée micro du PC.

J'ai interfacé mon TCO logiciel avec ce programme et ça marche.
Le tableau suivant donne les ordres reconnus par le programme et les fonctions associées.

Commande vocale Fonction associée
STOP arrêt d'urgence
RUN marche
GO FRONT passage en marche avant
V ONE à V TEN réglage de la vitesse entre 0 et 10
REVERSE passage en marche arrière
C ONE ON alim canton C1 on
C ONE OFF alim canton C1 off
SWITCH ONE DIRECT aiguille 1 en position directe
SWITCH ONE DEVIATED aiguille 1 en position déviée


2. Conception d'un TCO logiciel avec commandes vocales pour un réseau analogique

A titre d'exemple, on va reprendre le TCO logiciel décrit dans la rubrique "Exemples de programmes pour la commande par PC d'un réseau de trains" et le modifier pour l'adapter aux commandes vocales.

Vous pouvez télécharger le programme Visual Basic en cliquant ici.

On trouve dans le code de la form1 une librairie des mots clés qui doivent être reconnus:
Private Sub Form_Load()
'La source de la gramaire
Set GrammarSource = New Collection
GrammarSource.Add "Hi everyone"
GrammarSource.Add "It works"
GrammarSource.Add "Stop"
GrammarSource.Add "Run"
etc...
end sub

Pour ajouter un nouveau mot clé à reconnaître (par exemple REVERSE), il suffit de taper le code suivant:
GrammarSource.Add "REVERSE"

Chaque mot clé est associé à une commande qui se trouve dans un sous programme intitulé:
Private Sub RecoContext_Recognition(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, ByVal RecognitionType As SpeechLib.SpeechRecognitionType, ByVal Result As SpeechLib.ISpeechRecoResult)

Par exemple, pour associer le mot clé "Stop" à la commande d'arrêt d'urgence, il faut taper le code suivant:
If text = "Stop" Then
Label16.Caption = text
OutputAnalogChannel 1, 0
Label3.Caption = 0
HScroll1.Value = 0
End If

Voici une capture d'écran de l'interface graphique du TCO à commandes vocales:



3. Conception d'un TCO logiciel avec commandes vocales pour un réseau en DCC

Le logiciel a été adapté au DCC en 2010. Il permet maintenant de commander à la voix un module SPROG II qui génère le signal DCC.
La photo ci-dessous montre l'écran du PC.



Les commandes vocales sont transmises par un micro HF sans fil constitué d'un émetteur et d'un récepteur connecté à l'entrée micro du PC.
La figure ci-dessous montre le micro utilisé.



La vidéo ci-dessous montre un exemple de pilotage d'une loco par commandes vocales. Chaque commande est répétée par une voix de synthèse féminine pour s'assurer que la commande a bien été comprise par l'ordinateur, puis la commande est exécutée.




Pour télécharger la vidéo cliquez ici.

Retour vers la page d'accueil