Voice Attack

Silverstar

CONTROLEUR AERIEN
Messages
23 072
Réactions
3 310
Points
3 515
Hello, après avoir lu les explications VoiceAttack sur le blog de Stephane, le prix dérisoire du bidule, je pense sauter le pas prochainement. Faire des actions avec les commandes vocales je trouve ça immersif. Ya til d'autres membres qui utilisent ce logiciel?
 
Bonjour,

Franchement c'est top comme programme et mega puissant,tout ce que tu peux lui demander de faire...hallucinant :) et tou ça pour 8$, depuis que j'en ai parlé sur le forum Prosim plein de monde la acheté.
Et j'ai même pô touché de commission :D

Stéphane
 
Stephane sponsor officiel je voulais te demander, dans le logiciel quand tu dois lui indiquer ce qu'il doit faire, c'est à  toi décrire la séquence? Rien de méchant en soit c'est juste pour savoir.
 
Pour les actions, cela passe par différents menu et sous-menus du programme via l'interface graphique, c'est vraiment intuitif.
Je ne sais pas si j'ai bien compris la question mais si tu demandes est-ce qu'il ya de la prog à  faire, non ya rien à  écrire en lignes de code.

Après si tes motivé tu peux écrire ton propre plugin, le logiciel le propose ;)

Stéphane
 
p4.jpg


Sur cette photo quand tu marques "Press Left Shift +É key..."

C'est toi qui doit lécrire avec les secondes tout ça ou bien le programme te propose via les menus?
 
Quand tu cliques sur le bouton Key Press, à  gauche, tu tombes sur une nouvelle fenêtre et là  le programme va te proposer denregistrer la séquence de touches, tu dois donc lexécuter.

Dans l'exemple, ci-dessus tu appuies sur la touche Shift gauche and sur E. VA enregistre alors la séquence.
Ensuite tu peux éditer celle-ci en jouant sur la durée dappuie et d'autres paramêtres.

Le réponse courte :D : Non tu nécris pas les combin'aisons de touches

Stéphane
 
Ah ok c'est tout simple. Je teste au plus vite, je reviens vers toi au cas ou, merci Stephane.
 
C'est vrai que c'est tentant !!!

Et on peut appeler lhôtesse si on a soif ??? :D (ok je sors)
 
Comme je ne l'avais pas utilisé et que pour ProATC j'en avais un peu marre douvrir la fenêtré avec le clavier, j'ai décidé de tester ENFIN Voice Attack.

J'ai installé le bidule en version d'essai (limité à  10 commandes) juste ce qu'il me faut pour l'instant,
J'ai fait les exercices de reconnaissance vocale avec Windows,
J'ai assigné CTRL+F2 pour que Voice Attack lise ma voix seulement quand cette combin'aison est enfoncé,
J'ai supprimé l'assignation dans P3D pour CTRL+F2 (propeller),
J'ai affecté CTRL+F2 via FSuipc à  mon Push to Talk,
J'ai lancer un vol et ça fonctionne parfaitement
 
J'ai assigné le PTT à  un bouton du yoke (arrière gauche dans mon cas) directement sans passer par fsuipc
Voice Attack c'est de la balle :)
 
Petite démo de Voice Attack dans mon cockpit, depuis j'ai ajouté d'autres fonctions
 
Salut Stephane,

Je peux assigner le switch du yoke directement dans Voice Attack?
 
Cool je vais modifier.

Au départ je me cassais la tete pour avoir les menus de ProATC avec Prosimutils un peu comme pour GSX. Donc j'avais commencer a éplucher le XML de Service. Apres je me suis dit je me prend la tete pour rien je vais testé Voice Attack pour de vrai.

Donc j'ai relu tes tutos et je suis passé à  l'action. Vraiment top en plus leur site internet a fait peau neuf et l'application est super propre :)
 
Inspiré par le post de Nico1854 sur le forum de VoiceAttack (VA), j'ai décidé de reprendre le même principe pour lappliquer au Boeing 737, je vous propose donc ce petit tuto et explications.

Le but est d'utiliser VoiceAttack comme co-pilote virtuel pour les différentes checklist sans utiliser de clavier et pilotable à  la voix.

Je souhaite:

demander tel ou tel checklist
avoir chaque élément de cette checklist énoncé par VA
à  chaque élément je souhaite pouvoir valider oralement celui-ci
après validation de lélément passer au suivant
à  la fin de la checklist avoir confirmation que la checklist est terminée

VA est vraiment un outil puissant avec des possibilités de programmation, de scripting et de scénarios, c'est ce que nous allons exploiter.

Je vous propose d'expliquer la checklist Before start, le principe sera appliqué identiquement aux autres checklists.

D'abord la logique:
A chaque checklist est associée une variable. Pour la checklist Before start j'ai associé la variable BSC (ASC pour After start, BTOC pour Before TakeOff, etc)
Lors de lappel de la checklist la variable est initialisée avec une valeur.(on peut mettre ce que lon veut). Toutes les autres variable sont mise à  0.
A chaque validation d'un check, la variable est incrémentée de 1 et on passe au check suivant et ainsi de suite jusqu'à  la fin de la checklist

Ensuite le plan:
Le point de départ est un tabl'eau dans lequel pour chaque checklist nous allons lister:
lélément de la checklist
ce que le co-pilote va dire
la réponse que nous devons dire pour passer à  lélément suivant
La variable associée
La valeur que doit avoir la variable pour ce check
La valeur quaura la variable une fois le check validé (t'ypiquement la valeur actuelle + 1)

Si lon prend notre checklist BSC, voilà  ce que cela donne pour lappel de la checklist et lexécution du check.
performance0.png



La première ligne contient:
performance21.png


le nom de la checklist dans la colonne Action ˜Before Start Procedure BSC . Cette colonne est pour information est n'est pas utilisé dans notre programmation VA.
dans la colonne Pilot says, ce que lon doit dire pour appeler la checklist: Before start [procedure; checklist;]
Ce qui signifie pour VA que lon peut dire
˜Before start procedure ou ˜Before start checklist
dans la colonne Copilot says, ce que le copilote dit. Ici rien
dans la colonne Variable, le nom de notre variable: BSC
dans la colone Is set as, quelle valeur doit avoir la variable pour traiter la commande. Ici peut importe la valeur.
dans la colonne Set to, quelle valeur nous stockons dans la variable. Ici on initialise à  1301

La deuxième ligne contient:
performance19.png


le nom de l'action. Ici Doors.
Cette colonne est pour information est n'est pas utilisée dans notre programmation VA.
Pour info la 2éme colonne contient l'endroit du cockpit où lon doit faire la vérification/action. Cette colonne est aussi uniquement à  titre informatif.
dans la colonne Pilot says, ce que lon doit dire. Ici rien car c'est au copilote à  énoncer le nom de lélément.
dans la colonne Copilot says, ce que le copilote dit. Ici ˜Doors And St'airs
dans la colonne Variable, le nom de notre variable: BSC
dans la colone Is set as, quelle valeur doit avoir la variable pour traiter la commande. Ici 1301. Donc si la variable n'est pas égal à  1301 cette commande/ligne n'est pas exécutée.
dans la colonne Set to, quelle valeur nous stockons dans la variable. Ici rien car on incrémente (donc on passe au check suivant) uniquement lorsque nous avons oralement validé le check/action

La troisième ligne contient:
performance20.png


dans la colonne Pilot says, ce que lon doit dire. Ici ˜Closed; Locked Ce qui signifie que lon peut dire soit ˜Closed, soit ˜Locked
dans la colonne Copilot says, ce que le copilote dit. Ici rien car c'est nous qui validons le check.
dans la colonne Variable, le nom de notre variable: BSC
dans la colone Is set as, quelle valeur doit avoir la variable pour traiter la commande. Ici 1301. Donc si la variable n'est pas égal à  1301 cette commande/ligne n'est pas exécutée.
dans la colonne Set to, quelle valeur nous stockons dans la variable. Ici on incrémente de 1, donc 1301+1 = 1302

On passe ensuite à  la 4éme ligne qui est le check suivant et ainsi de suite jusqu'à  la fin de la checklist.

On va ainsi définir chaque checklist et au final nous aurons notre plan que nous allons devoir programmer dans VA.

Toujours avec moi ?

Alors c'est partie pour la programmation dans VA.

Dans Voice Attack nous allons commencer par créer une commande correspondant à  la checklist Before Start.
A chaque checklist correspond une commande de ce genre. C'est le point de départ de notre checklist.
performance1.png



Donc quand je dis ˜Before start procedure ou ˜Before start checklist cette commande est appelée.

Dans les actions à  exécuter pour cette commande, si vous vous souvenez de ce qui a été écrit plus haut, nous allons initialiser notre variable checklist BSC et mettre à  zéro toutes les autres variables des checklist. Ceci pour être sûr de ne pas exécuter les actions d'une autre checklist.
On en profite aussi pour ˜tuer la commande ˜Playsound dont nous parlerons après.
performance2.png

performance3.png


La dernière action à  exécuter est lappel à  la commande ˜Playsound

Les autres options de la commande sont définies comme ci-dessous
performance4.png



Passons maintenant à  la commande ˜Play sound. C'est la commande principale appelée par toutes les checklists. Cette commande va parcourir chaque variable, tester sa valeur et si le test est vraie, jouer le son correspondant.
performance5.png



La première ligne à  exécuter de la commande doit commencer par Begin
performance6.png



et la dernière ligne doit se terminer par End Condition
performance7.png



Entre les 2, nous allons tester nos différentes variables avec des Else If
Pour la BSC on aura alors
performance8.png

performance9.png


Comme vous le constater on va tester chaque valeur possible de notre variable BSC et lui associer une action.
Par exemple si BSC vaut 1301 alors on va jouer le son DoorsandSt'airs.wav, on simule donc le copilote qui parle.

Si BSC vaut 1302 alors on va jouer le son fuel.wav
Etc

Ensuite lorsque le son est joué on sort de la commande ˜Play sound.

Laction Playsound qui joue le fichier wav est configurée comme ci-dessous
performance10.png



Pour ceux qui suivent :rolleyes: , vous allez maintenant me demander mais comment fait-on pour passer au check suivant, autrement dit pour incrémenter la variable et continuer le déroulement de la checklist ?

Nous allons créerdes commandes
Ces commandes correspondront aux réponses possibles des checks et pourront être utilisées par plusieurs checklists.
Par exemple la réponse ˜Check est reprise dans toutes les checklists.

Si on reprend le premier check de la checklist BSC
performance11.png



Nous venons de commencer la checklist et la variable BSC vaut 1301.
La commande ˜play sound est exécutée et joue le fichier DoorsandSt'airs.wav
Ensuite VA est en mode attente, donc à  nous de répondre.

En regardant notre tabl'eau on voit que les réponses possibles sont: Closed [and locked; and armed;]
En langage VA cela signifie que lon peut dire ˜Closed ou ˜Closed and locked ou ˜Closed and armed

Nous allons donc définir cette commande
performance13.png


performance14.png



Les actions à  exécuter par la commande sont un kill de la commande ˜Play sound au cas ou elle serait toujours en cours.
Ensuite on regarde si la variable BSC vaut 1301 et dans ce cas on incrémente de 1 et on rappelle ˜Play sound
Si jamais cette commande était appelée et que la variable BSC ne vaut pas 1301 alors on nous dit ˜Wrong

La variable BSC vaut maintenant 1302 et dans lexécution de ˜Play sound le son du prochain check est joué
Si vous vous souvenez le prochain est Fuel
performance15.png



Les réponses possibles sont
˜Check; checked; Pumps On

Nous allons donc avoir une commande multipart comme ceci pour check
performance16.png



On voit que la commande est appelée par d'autres checklist il y a donc plusieurs conditions de testées.
On y retrouve aussi celles de la checklist BSC
performance17.png



On doit aussi créer la commande pour ˜Pumps on
performance18.png



Et on continue ainsi de suite pour chaque checklist et chaque élément de checklist.

Cela peut paraître long et fastidieux mais beaucoup de commandes sont communes à  plusieurs checklists et VA permet de faire des copier/coller de commandes et dactions.

A l'utilisation c'est un plaisir de pouvoir parler pour appeller et exécuter les checklist.

Bien sur avant d'utiliser VA, ne pas oublier de faire lentrainement Windows pour lui faire reconnaitres votre voix comme expliqué ici

Démonstration en vidéo
http://youtu.be/6EgowqE23II
 
Beau boulot comme toujours, je lirais tout ça plus tard...c'est un gros morceau
Sticky :)
 
Tu sors la Camaro, embarques une auto-stoppeuse americaine avec une voix sexy, lui fait enregistrer les CL et la redépose là  où tu las trouvée
Et voila: Une voix FO feminine avec laccent adequat qui met du piquant dans ton cockpit...
-------
Nice soft, la reproduction de la voix doit etre soignée toutefois pour ne pas sonner "electronique" :)
 
Jackpilot a dit:
Nice soft, la reproduction de la voix doit etre soignée toutefois pour ne pas sonner "electronique" :)

Doù l'utilisation de fichiers wav que j'ai récupéré de ProAtcX ;)
 
Très puissant, j'ai ete à  nouveau emballé par le concept. (Stephane m'en avait deja parler mais il faut passer a Windows Anglais et fournir un peu de travail pour faire les séquences....donc j'avais lacher l'affaire. Mais en faite c'est TOP)

C'est fluide, immersif.

Dans un premier temps, je ne vais pas faire les checklists mais plutot GSX avec les commandes vocales (Requ'est Catering, Boarding, Deboarding, Pushback...).

La sequence type :

- Appuie push to talk
- Je dit  Requ'est Catering Servair 
- VA ouvre le menu GSX puis choisi Catering puis Servair

Comme dans les options on a le choix de plusieurs service, les paramtres sont multiples. Je peux dire  Requ'est Catering  et VA prendra toujours l'option que j'ai parametrer 1 ou 2 peu importe le logo du catering par exemple.

Apres les trucs simples je dit   Requ'est Boarding  VA juste ouvrir la fenetre et choisir Boarding.

Le pushback c'est plus chaud Va doit ouvrir le menu, choisir le sens (Pushback nose left ou nose right) si on veut demarrer avant les moteur ou pas

La sequence pour Nez droite serait :

- Appuie PTT
- je dit  Ready for Pushback Right No Engine start  ou  Ready for pushback Right  si on ne demarre jamais les moteurs avant suivant nos parametres
- VA ouvre le menu, choisi Pushback, choisi nose right, choisi no engine start

En faite on fait ce qu'on veut dans les sequences :)
 
Bon ça yest je fais mon come back

J'ai passé mon Windows en Anglais au lieu de le laisser en Français (post précédent de aout).
J'ai du aller prendre un pack MUI sur vistalizator parceque Windows Update ne trouvait rien.
J'ai fait 5 fois les exercices de reconnaissance vocale.

GSX VA fonctionne nickel : (pause de 3s entre chaque commands pour laisser les sous menu de GSX le temps de souvrir)

Requ'est Boarding (2 commands)
Requ'est Deboarding (2 commands)
Prepare for pushback right (4 commands)
Prepare for pushback left (4 commands)

Il me reste a faire :

Requ'est Deicing
Operate Jetway
Follow me car départure

Ce que je ne fais pas :

Refueling (Prosim weight)
Follow me arrivée car trop doptions de parking
 
Une autre question idiote, tu ne peux pas assigner GSX pour lanimation sans toucher au fuel ?

Si tu fais des rotations, c'est sympathique d'avoir un "minuteur" avec une animation car il existe différentes limitations pour embarquer/désembarquer les pax pendant que tu refuel.

Amic

Tim
 
Je suis chaud, j'ai fini ma 1ere checklist Preflight avec les voix dans Pro ATC

Comme je suis limité en son audio de bonne qualité le copilote me dit dans la Preflight :
Oxygen (je réponds Tested one hundred percent)
Window heat (On)
Pressurisation panel (Auto)
Flight instruments (SET)
Parking brake (Set)
Engine start levers (Cutoff)
Checklist Complete

Entre GSX, Pro ATX et les checklists Ca en fait un paquet de chose à  dire :)
 
Bravo :)
Pour les sons copi regarde dans le répertoire pro atc x ya quasi tout ce qu'il faut
 
Tu peux pas il faut choisir une pourcentage de remplissage sinon le camion se barre.
Le remplissage est minuté et les valeurs changent au fur et à  mesure du remplissage dans ProsimCDU.

J'ai du coup rajouter la commande vocale, le choix du pourcentage de fuel se fera manuellement car le camion met au moins 30 secondes avant darrivé et il y a beaucoup doptions de remplissage

Mais c'est plus réaliste :)
 
Retour
Haut