Utilisateur:Laura Conant

De Design numérique
Aller à : navigation, rechercher

#01 Parler à la machine

Die Zauberflöte für ein Computerterminal

Faire réciter un opéra au terminal de l'ordinateur, essayer de rendre le lyrisme et les interactions de dialogues via l'ordinateur, qui n'a apriori pas les qualités adéquate pour ce genre d'exercice.
Nous avons tous en tête la voix plate de google ou Siri quand il en vient à faire parler une machine.

Faire parler le terminal

say "..."
J'ai joué avec les différentes voix que l'on peut avoir sur Mac. On peut disposer de trois voix française, Thomas, Audrey et Aurélie. Cette limitation est intéressante compte tenu du nombre de personnes importantes que comporte cet opéra. Pour changer de voix, il faut exécuter la commande :
say -v "Audrey" "..."
say -V "Thomas" "..."
say -v "Aurelie" "..."
Afin de départager les personnages compte tenu du nombre limité de voix, j'ai ensuite appliqué des couleurs pour chaque personnage :
echo -e "/033[91m..."
echo -e "/033m" (pour enlever la couleur appliquée en fin de réplique)

Un extrait du code réalisé :

#!/bin/bash

echo -e "Papageno
À l'aide ! à l'aide ! Il vient sur mes traces !
À l'aide ! à l'aide ! Je suis sans défense !
Le monstre s'approche !
Il rampe vers moi
O Dieux puissants ! de grâce !
O Dieux puissants ! pitié pour moi"
say -v "Thomas" "À l'aide ! à l'aide ! Il vient sur mes traces !
À l'aide ! à l'aide ! Je suis sans défense !
Le monstre s'approche !
Il rampe vers moi
O Dieux puissants ! de grâce !
O Dieux puissants ! pitié pour moi"

echo -e "\033[96mLes Trois dames
Monstre ! péris frappé par nous !
Victoire la Victoire !
Le monstre est mort, nous triomphons !
Vaillantes armes, grâce à vous !
Ah ! charmant jouvenceau, doux et beau...
Oui, beau comme jamais je n'en vis !
Oui, oui, beau comme une image !
Ah ! si mon cœur devait aimer,
C'est lui qu'il choisirait
Allons retrouver notre Reine.
Courons vers notre souveraine !
Peut-être ce garçon charmant
Saura calmer son noir tourment ?
Allez donc et dites-le lui,
je resterai ici entre temps !"
say -v "Audrey" "Monstre ! péris frappé par nous !
Victoire la Victoire !
Le monstre est mort, nous triomphons !
Vaillantes armes, grâce à vous !
Ah ! charmant jouvenceau, doux et beau...
Oui, beau comme jamais je n'en vis !
Oui, oui, beau comme une image !
Ah ! si mon cœur devait aimer,
C'est lui qu'il choisirait
Allons retrouver notre Reine.
Courons vers notre souveraine !
Peut-être ce garçon charmant
Saura calmer son noir tourment ?
Allez donc et dites-le lui,
je resterai ici entre temps !"

Animation pour une entrée dans le Livret un de l'opéra

#!/bin/bash

DATA[0]="      ##### /"                                                                                  
DATA[1]="   ######  /        #"                                                                          
DATA[2]="  /#   /  /        ###                                   #"                                     
DATA[3]=" /    /  /          #  ##                               ##"                                     
DATA[4]="     /  /              ##                               ##"                                     
DATA[5]="    ## ##         ###   ##    ### ###  /###     /##   ########    ##   ####    ###  /###"       
DATA[6]="    ## ##          ###   ##    ### ###/ #### / / ### ########      ##    ###  / ###/ #### /"    
DATA[7]="    ## ##           ##   ##     ### ##   ###/ /   ###   ##         ##     ###/   ##   ###/"     
DATA[8]="    ## ##           ##   ##      ## ##       ##    ###  ##         ##      ##    ##    ##"      
DATA[9]="    ## ##           ##   ##      ## ##       ########   ##         ##      ##    ##    ##"      
DATA[10]="   #  ##           ##   ##      ## ##       #######    ##         ##      ##    ##    ##"      
DATA[11]="      /            ##   ##      ## ##       ##         ##         ##      ##    ##    ##"      
DATA[12]="  /##/           / ##   ##      /  ##       ####    /  ##         ##      /#    ##    ##"      
DATA[13]=" /  ############/  ### / ######/   ###       ######/   ##          ######/ ##   ###   ###"     
DATA[14]="/     #########     ##/   #####     ###       #####     ##          #####   ##   ###   ###"    


# virtual coordinate system is X*Y ${#DATA} * 15

REAL_OFFSET_X=0
REAL_OFFSET_Y=0

draw_char() {
  V_COORD_X=$1
  V_COORD_Y=$2

  tput cup $((REAL_OFFSET_Y + V_COORD_Y)) $((REAL_OFFSET_X + V_COORD_X))

  printf %c ${DATA[V_COORD_Y]:V_COORD_X:1}
}


trap 'exit 1' INT TERM
trap 'tput setaf 9; tput cvvis; clear' EXIT

tput civis
clear

while :; do

for ((c=1; c <= 7; c++)); do
  tput setaf $c
  for ((x=0; x<${#DATA[0]}; x++)); do
    for ((y=0; y<=14; y++)); do
      draw_char $x $y
    done
  done
done

done

Livret un ne s'affiche pas en entier quand je lance le code, juste une partie du L, à corriger.

Passage à l'imprimé et liaison au numérique

Le but est de créer une interaction entre l'objet imprimé et numérique afin de créer comme une édition augmentée, contenant tout le code nécessaire pour faire tourner l'opéra sur un terminal d'ordinateur.
Amorce du projet d'édition :

Couverture.jpg


Livretun.jpg


Livretplanches-5.jpg


...

Étapes suivantes

•Inclure plus d'animations
•Essayer de faire en sorte que deux ordinateurs se répondent
•Rendre l'affichage des paroles moins systématique
•Faire chanter l'ordinateur