====== SmashWords Coach Manager 3 (SWCM3) ====== * Porteur du projet : [[participants:resonance:accueil|Reso-nance numérique]] & Marion * Date : 01/10/2015 * Licence : libre ! * Contexte : Installation / jeu interactif pour le corpus des langues * Fichiers : [[http://www.reso-nance.org/files/SMASHWORD_sourceandsamples.zip|Malinette + samples (340mo) testé sur linux mint 17 ]] * Liens : http://reso-nance.org/smashword/ http://langues.labomedia.org/ ===== Description ===== Un jeu de tennis où les gestes envoient des expressions, des débuts de phrases ou hésitations. Un dialogue s'installe, un **combat dialectique** entre deux enceintes. {{ :projets:smashword:ecran319.png?nolink |}} ==== Texte pour cartel Cabinet de curiosité ==== SMCM3 est un dispositif d'entraînement à la programmation neurolinguistique pour rendre personnels commerciaux et managers plus performants dans leur échanges **Business 2 Business**. Basé sur la programmation neurolinguistique, SMCM3 se présente sous la forme d’un jeu sportif qui stimule la manipulation psychologique du langage, pour convaincre en toutes circonstances, en entretenant tout aussi bien le corps que l’esprit, utilisant les gestes du tennis pour lancer des répliques. Ce jeu à deux en français promet sur son emballage de provoquer ces adversaires à un duel jusqu'à la liquidation totale ! **Contexte historique :** //SMCM3 exposé au pavillon Français de l’exposition universelle d’Abu dabi de 2036, parmi la l’arsenal d’outils labellisé French tech relançant la croissance. Malheureusement SMC3, deux ans plus tard sera rendu obsolète suite à l’abandon définitif des langues non anglo-saxonne dans les secteur du commerce des 2038.// ++++ Note d'intention du projet | L'objectif de cette installation est de faire prendre conscience des techniques de domination lors d'un dialogue, via un jeu débile...en effet : * De nombreux mots, liaisons, intonations sont couramment utilisées par les vendeurs les politiques, etc pour nous convaincre. * Ces expressions dénuées de contenu représentent dans certains cas une large proportion de certaines conversations (débat politique , vente, réunion ou des intérêts sont en jeu) * Des coachs en communication apprennent à se servir de ces expressions et réduire les hésitations et expressions faibles ou timides. * A l'opposé, la plupart des gens ne maîtrise pas ces expressions ou les utilise peu. **Conclusion :** Pour la démocratie représentative, ou plaire permet d’être élu, et le capitalisme consumériste ou vendre permet de gagner des primes, ces éléments de langages sont les outils stratégiques d'une société ou la communication entre êtres humains est plus basé sur la capacité de convaincre que celle d'écouter. La compétition, source de rivalité et de conflit réduit considérablement l'esprit coopératif et empathique humain. \\ Apprendre a détecter ces jeux, identifier et extraire les méthodes de dominations verbales pour se concentrer sur les aspects constructifs de la pensée est une piste vers une évolution positive du langage qui serait basé sur l'échange d'idées plutot que sur les aboiement stylisés de nos langues. ++++ ===== Matériaux ===== * Ordi (wifi ou bluetooth) avec pd-extended * Tablettes android avec application Control OSC (Samsung galaxy tab 3) * Bois et pvc expansé découpé à la cnc. * Sons enregistrés à Radio Grenouille et découpé avec Audacity ===== Les raquettes ===== On utilise la fraiseuse à commande numérique pour découper, bois et pvc pour construire notre raquette. Une gravure sur plaque de cuivre permet de créer une jolie plaque pour cacher les boutons de la tablettes. Un grip de tennis et une dragonne est ensuite ajouter pour améliorer la prise en main... {{ :projets:smashword:dsc_5158.jpg?nolink&1200 |}} **Le fichier vectoriel (dxf) :**{{:projets:smashword:raquette.zip|}} {{ :projets:smashword:ecran348.png?nolink&500 |}} **Le fichier vectoriel du logo(pdf) :**{{:projets:smashword:logo-swcm3.pdf|}} {{:projets:smashword:logo-swcm3.gif?nolink|}} **La gravure sur cuivre PCB :** {{ :projets:smashword:dsc_5162.jpg?nolink |}} ===== Logiciels ===== ==== Pure Data & Malinette ==== {{:projets:smashword:dsc_5165.jpg?nolink&500 |}}Nous utilisons sur l'ordinateur [[logiciels:puredata:accueil|Puredata]] et [[http://reso-nance.org/malinette|la Malinette]] pour recevoir les signaux des tablettes. On détecte 3 type de coup assez distinctement en analysant les valeurs x,y,z de l'accéléromètre. Ces coups permettent de calculer si le joueur est polyvalent et influencera sa qualité de jeu... Les coups déclenchent ainsi des phrases pour chaque joueurs, plus ou moins éloquentes... de l'hésitation au début de phrase politicienne et manipulatrice... Un paramètre timing est aussi implémenter pour imposer au joueur de jouer a certain moment. Si les joueurs se coupe trop la parole, cela crée une pénalité qui sera sanctionné par une phrase du type : "ne me coupez pas la parole, enfin !" La partie se joue en 3 sets gagnants... // Le lien vers les fichiers se trouve en haut de page. Ils ont été tester sur linux mint, et Gem peut crasher sur d'autre plateformes (WIN,IOS)... L'ordinateur utilisé est sous LinuxMint et a une configuration modeste (celeron). // ==== Control OSC - Android ==== Les tablettes utilisent l'appli opensource et gratuite [[http://charlie-roberts.com/Control/|Control Osc]] pour envoyer des signaux à l'ordinateur Control permet de créer facilement avec du code différentes interfaces, bouton, multitouch, sliders, etc... * Nous avons créer une interface avec un touch xy, un bouton et d'autres détails accessoires... pour le jeu (fichier json). ++++ Le code JSON pour ControlOSC | loadedInterfaceName = "SMASH"; interfaceOrientation = "portrait"; function removeTouch() { var multi = window.multi; var touchToKill = multi.children.pop(); /* remove last child and map to variable */ multi.container.removeChild(touchToKill); /* remove from web renderer */ } window.removeTouch = removeTouch; pages = [[ { "name": "multi", "type": "MultiTouchXY", "x": .0, "y": .0, "width": .99, "height": .68, "color": "#ffffff", "stroke": "#ff0000", "mode": "momentary", "protocol": "OSC", "midiType": "cc", "midiNumber": 1, "maxTouches": 1, "isMomentary": false, "requiresTouchDown": false, }, { "name": "accLabel", "type": "Label", "x": 0, "y": .7, "width": .99, "height": .05, "color": "#ff0000", "align": "center", "size": "40", "weight": "bold", "value": "JACKY", }, { "name": "start", "type": "Button", "x": 0, "y": .76, "width": .99, "height": .08, "mode": "momentary", "color": "#ddd", "stroke": "#fff", "protocol": "local", }, { "name": "tabButtonLabel", "type": "Label", "x": .4, "y": .76, "width": .2, "height": .08, "mode": "contact", "protocol": "local", "value": "START", }, { "name": "accSliders", "type": "MultiSlider", "numberOfSliders": 3, "x": .4, "y": .9, "min":0, "max":127, "midiNumber":3, "isVertical": true, "width": .2, "height": .05, "color": "#555", "isLocal":true, }, { "name": "accelerometerSpeed", "type": "Slider", "x": .6, "y": .9, "width": .39, "height": .05, "isLocal": true, "min": 1, "max": 100, "color": "#555", "startingValue": 80, "ontouchend": "accSpeedLabel.changeValue('Rate : ' + (Math.round(this.value*10) / 10) +'Hz'); acc.setUpdateRate(this.value); ", }, { "name": "accSpeedLabel", "type": "Label", "x": .6, "y": .95, "width": .39, "height": .05, "size": "9", "color": "#999", "value": "Rate : 10Hz", "align": "left", }, { "name": "acc", "type": "Accelerometer", "min":0, "max":127, "updateRate":80, "midiNumber": 0, "isLocal":false, "onvaluechange": "accSliders.setSequentialValues(acc.x, acc.y, acc.z);", "address":"/accelerometer", }, { "name": "refreshButton", "type": "Button", "x": 0, "y": .9, "width": .2, "height": .05, "mode": "momentary", "color": "#00ffff", "stroke": "#555", "ontouchstart": "interfaceManager.refreshInterface()", }, { "name": "tabButton", "type": "Button", "x": .2, "y": .9, "width": .2, "height": .05, "mode": "toggle", "color": "#333333", "stroke": "#555", "protocol": "local", "ontouchstart": "if(this.value == this.max) { control.showToolbar(); } else { control.hideToolbar(); }", }, { "name": "tabButtonLabel", "type": "Label", "x": .2, "y": .9, "width": .2, "height": .05, "mode": "contact", "color": "#555", "protocol": "local", "value": "menu", }, { "name": "pitchLabel", "type": "Label", "x": 0, "y": .62, "width": .99, "height": .05, "color": "#666", "align": "center", "size": "12", "value": "pitch -", }, { "name": "pitchLabel", "type": "Label", "x": 0, "y": .02, "width": .99, "height": .02, "color": "#666", "align": "center", "size": "12", "value": "pitch +", }, { "name": "pitchLabel", "type": "Label", "x": 0, "y": .32, "width": .2, "height": .05, "color": "#666", "align": "center", "size": "12", "value": "vitesse -", }, { "name": "pitchLabel", "type": "Label", "x": 0.8, "y": .32, "width": .2, "height": .05, "color": "#666", "align": "center", "size": "12", "value": "vitesse +", }, ] ]; ++++ ===== Développement ===== Le devellopement de l'install a pris environ 10 jours tranquillement éparpillé entre Eric, Anthony, Jérome et Marion... \\ En temps de travail pur et dur, bien organisé ... on aurait pu faire en 3 jours, je pense... (enregistrement, patch, raquette) **Des détails de nos réflexions sont ici :** [[.:dev:|Page de développement]] ==== Ecueils ==== * Il semble qu'on a oublié un peu le coté marketing PNL au profit du politique... un nouvel enregistrement serait a refaire pour rattraper cela.. * La detection de coup des raquettes : il est difficile de savoir plus que 3 type de coups... * L'apprentissage de mouvement aurait été un plus, on a regardé les travaux Gigote [[https://www.youtube.com/watch?v=98bv_YHgEQ0]] et autre piste de réseaux neuronaux avant de revenir sur des maths basiques avec des pipe et délai pour analyser des variations d’accéléromètre. * Le paramètre Timing, marche bien mais meriterai d'etre mieu indiqué pour les novices * Installation compliqué a allumer... a cause du wifi, et raquette potentiellement sujette au vol... * ... mais dans l'ensemble on est content !:) ++++ notice pour médiateur de l'expo | **ALLUMAGE** \\ Allumer le vidéo projecteur avec la télécommande.... - Allumer ordinateur portable et attendre que le patch s'ouvre... (environ 1-2 minute) - Débrancher l'alimentation du routeur et rebrancher pour le reinitialiser... - Allumer les raquettes avec les bouton lateraux (bleu et jaune) (les raquettes doivent être redemarrées !) - lancer CONTROL sur les tablettes, aller dans destination et choisir l'adresse 192.168.1.100:9000 ou 9001 puis aller dans Interface et lancer SMASH Puis presser start sur les deux raquettes en meme temps pour lancer une partie ! un cri de foule/ applaudissement devrait sonner à ce moment. ++++ ===== Gallerie ===== {{gallery>:projets:smashword:?&crop&lightbox }} {{tag>jeu mots languedebois}}