Simon Bouvier - Tarkos : Différence entre versions
(→Travailler autour d'une accélération) |
|||
Ligne 12 : | Ligne 12 : | ||
J'ai tout d'abord cherché les possibilités pour faire parler le terminal <br> | J'ai tout d'abord cherché les possibilités pour faire parler le terminal <br> | ||
− | ===Faire parler la machine=== | + | ====Faire parler la machine==== |
:*[http://espeak.sourceforge.net/commands.html/ Espeak] qui permet de moduler la vitesse, la hauteur de la voix. <br> | :*[http://espeak.sourceforge.net/commands.html/ Espeak] qui permet de moduler la vitesse, la hauteur de la voix. <br> | ||
:*[https://www.tekrevue.com/tip/make-your-mac-talk-say-command/ La commande Say] qui possède une voix un peu plus naturelle <br> | :*[https://www.tekrevue.com/tip/make-your-mac-talk-say-command/ La commande Say] qui possède une voix un peu plus naturelle <br> | ||
Ligne 18 : | Ligne 18 : | ||
J'ai ensuite chercher la fonction qui me permettrait de mélanger les mots/les lettres pour travailler une répétition qui s'altère, se désagrège | J'ai ensuite chercher la fonction qui me permettrait de mélanger les mots/les lettres pour travailler une répétition qui s'altère, se désagrège | ||
− | ===Modifier le texte=== | + | ====Modifier le texte==== |
:*[https://ss64.com/bash/fold.html/ fold -w1] permet de mettre les lettres en colonne, </br> | :*[https://ss64.com/bash/fold.html/ fold -w1] permet de mettre les lettres en colonne, </br> | ||
Ligne 26 : | Ligne 26 : | ||
Le problème est que les fonctions citées précédemment permettent de mélanger les lettres et les mots, produisant donc rapidement un charabia. Dans un souci de sonorité, je préférais donc travailler sur les sonorités, une répétition syllabique qui peu à peu à-vient jouer sur les mots, entre répétition, bégaiement et renouvellement. | Le problème est que les fonctions citées précédemment permettent de mélanger les lettres et les mots, produisant donc rapidement un charabia. Dans un souci de sonorité, je préférais donc travailler sur les sonorités, une répétition syllabique qui peu à peu à-vient jouer sur les mots, entre répétition, bégaiement et renouvellement. | ||
− | ===Travailler les syllabes=== | + | ====Travailler les syllabes==== |
:On m'a donc orienté vers la fonction [https://www.quennec.fr/trucs-astuces/syst%C3%A8mes/gnulinux/scripts/d%C3%A9couper-un-mot-en-syllabes/ syllabes.sh] , celle-ci peut découper les mots en syllabes automatiquement, me permettant, combiné avec la fonction gshuf de re-modifier un mot en gardant une forme de structure et de sonorités cohérentes. | :On m'a donc orienté vers la fonction [https://www.quennec.fr/trucs-astuces/syst%C3%A8mes/gnulinux/scripts/d%C3%A9couper-un-mot-en-syllabes/ syllabes.sh] , celle-ci peut découper les mots en syllabes automatiquement, me permettant, combiné avec la fonction gshuf de re-modifier un mot en gardant une forme de structure et de sonorités cohérentes. | ||
==Mise en application== | ==Mise en application== | ||
− | ===Mélanger les lettres et reformer des mots différents=== | + | ====Mélanger les lettres et reformer des mots différents==== |
cat "tarkos.sh" | fold -w1 | gshuf | tr -d "\n" </code> | cat "tarkos.sh" | fold -w1 | gshuf | tr -d "\n" </code> | ||
Ligne 39 : | Ligne 39 : | ||
gshuf -n1 /usr/share/dict/words >> "tarkos.sh" && cat "tarkos.sh" | uniq | gshuf | tr "\n" " " | cut -c-100 </code> | gshuf -n1 /usr/share/dict/words >> "tarkos.sh" && cat "tarkos.sh" | uniq | gshuf | tr "\n" " " | cut -c-100 </code> | ||
− | ===création d'une fonction qui permette d'utiliser syllabe=== | + | ====création d'une fonction qui permette d'utiliser syllabe==== |
Le script [https://www.quennec.fr/trucs-astuces/syst%C3%A8mes/gnulinux/scripts/d%C3%A9couper-un-mot-en-syllabes/ syllabes.sh] est formulé de la syntaxe suivante : </br> | Le script [https://www.quennec.fr/trucs-astuces/syst%C3%A8mes/gnulinux/scripts/d%C3%A9couper-un-mot-en-syllabes/ syllabes.sh] est formulé de la syntaxe suivante : </br> | ||
Ligne 55 : | Ligne 55 : | ||
echo "$traitement"| sed 's/.*=> //g' | tr "-" " " </code> | echo "$traitement"| sed 's/.*=> //g' | tr "-" " " </code> | ||
− | ===Doubler les syllabes et les mélanger=== | + | ====Doubler les syllabes et les mélanger==== |
On double ensuite ces syllabes en ajoutant un espace entre chacun de ces doublons, on les mets chacun à la ligne, on les mélange pour enfin remettre ces nouvelles syllabes en une seule ligne. | On double ensuite ces syllabes en ajoutant un espace entre chacun de ces doublons, on les mets chacun à la ligne, on les mélange pour enfin remettre ces nouvelles syllabes en une seule ligne. | ||
Ligne 71 : | Ligne 71 : | ||
ce pous re tien pa re pous siè tien pa siè ce | ce pous re tien pa re pous siè tien pa siè ce | ||
− | ===Travailler autour d'une accélération=== | + | ====Travailler autour d'une accélération==== |
J'ai ensuite décidé d'ajouter un temps via la fonction [https://www.cyberciti.biz/faq/linux-unix-sleep-bash-scripting/ sleep] qui permettrait de réduire peu à peu l'attente entre chaque mélange de syllabes. | J'ai ensuite décidé d'ajouter un temps via la fonction [https://www.cyberciti.biz/faq/linux-unix-sleep-bash-scripting/ sleep] qui permettrait de réduire peu à peu l'attente entre chaque mélange de syllabes. |
Version du 16 décembre 2018 à 21:32
Tarkos
Postulat initial
→ L'idée de base était de travailler autour de la poésie sonore, d'inculper les problématiques sonores, de répétitions des syllabes, des jeux des sonorités, de bégaiement propre à des poètes tels que Vincent Tarkos et Ghérasim Luca.
Les outils
J'ai tout d'abord cherché les possibilités pour faire parler le terminal
Faire parler la machine
- Espeak qui permet de moduler la vitesse, la hauteur de la voix.
- La commande Say qui possède une voix un peu plus naturelle
- Espeak qui permet de moduler la vitesse, la hauteur de la voix.
J'ai ensuite chercher la fonction qui me permettrait de mélanger les mots/les lettres pour travailler une répétition qui s'altère, se désagrège
Modifier le texte
- fold -w1 permet de mettre les lettres en colonne,
- gshuf permet de mélanger, soit les lettres quand couplé avec fold ou simplement les mots.
- -n1 /usr/share/dict/words permet également d'ajouter un mot aléatoire à la poèsie aléatoire ainsi formé, me permettant de renouveler le sens et d'enrichir le sens et la diversité syllabique du poème. La question est de savoir comment je pourrais par exemple former des mots avec un minimum de syllabes similaires au mots de bases, pour former un ensemble qui reste tout de même cohérent.
- Je peux aussi jouer avec la fonction de remplacer tr afin de changer les lettres du mot ainsi généré pour changer l'acoustique selon ce que je souhaite selon les sonorités de base.
- fold -w1 permet de mettre les lettres en colonne,
Le problème est que les fonctions citées précédemment permettent de mélanger les lettres et les mots, produisant donc rapidement un charabia. Dans un souci de sonorité, je préférais donc travailler sur les sonorités, une répétition syllabique qui peu à peu à-vient jouer sur les mots, entre répétition, bégaiement et renouvellement.
Travailler les syllabes
- On m'a donc orienté vers la fonction syllabes.sh , celle-ci peut découper les mots en syllabes automatiquement, me permettant, combiné avec la fonction gshuf de re-modifier un mot en gardant une forme de structure et de sonorités cohérentes.
Mise en application
Mélanger les lettres et reformer des mots différents
cat "tarkos.sh" | fold -w1 | gshuf | tr -d "\n"
Ajouter un mot, mélanger les mots et les réécrire dans le fichier
gshuf -n1 /usr/share/dict/words >> "tarkos.sh" && cat "tarkos.sh" | uniq | gshuf | tr "\n" " " | cut -c-100
création d'une fonction qui permette d'utiliser syllabe
Le script syllabes.sh est formulé de la syntaxe suivante :
$ ./syllabes.sh mot1 mot2 mot3 mot4 etc etc ...
ce qui nous donne :
Il a donc fallut ajuster l'utilisation pour que le résultat soit directement inscrit dans le fichier de destination :
traitement=$(./syllabes.sh $(cat tarkos.txt)) echo "$traitement">> tarkos.txt
Puis supprimer la ponctuation inutile
#!/bin/bash traitement=$(./syllabes.sh $(cat tarkos.txt)) echo "$traitement"| sed 's/.*=> //g' | tr "-" " "
Doubler les syllabes et les mélanger
On double ensuite ces syllabes en ajoutant un espace entre chacun de ces doublons, on les mets chacun à la ligne, on les mélange pour enfin remettre ces nouvelles syllabes en une seule ligne.
echo "$traitement" | sed 's/.*=> //g' | tr "-" " " | sed 's/\(.*\)/\1 \ \1/g' | tr " " "\n" | gshuf | tr "\n" " "
On obtient ce script
traitement=$(./syllabes.sh $(cat tarkos.txt)) coupe(){ echo "$traitement" | sed 's/.*=> //g' | tr "-" " " | sed 's/\(.*\)/\1 \ \1/g' | tr " " "\n" | gshuf | tr "\n" " "}
Celui-ci permets, à partir d'un texte (tarkos.txt), de découper les mots en syllabes, de doubler les syllabes pour simuler ce bégaiement propres aux poètes, mélanger celles-ci pour enfin les afficher dans le terminal.
patience poussière
devient
ce pous re tien pa re pous siè tien pa siè ce
Travailler autour d'une accélération
J'ai ensuite décidé d'ajouter un temps via la fonction sleep qui permettrait de réduire peu à peu l'attente entre chaque mélange de syllabes.
chrono=3 incremant=-1 while [ $chrono -ge 0 ]; do coupe sleep $chrono chrono=$((chrono+$incremant)) done
Cette partie du script permets d'effectuer l'action ()Coupe avec d'abord 3 secondes d'interval, puis deux secondes, une et enfin s'arrêter.
patience poussière
devient
pa siè pous tien ce ce pous tien re siè pa re (3 secondes) ce siè re tien pa pous ce siè tien re pa pous (2 secondes) ce pous tien siè pa pous re tien pa siè re ce (1 secondes) pous re ce tien pa ce tien siè pa pous re siè (0 secondes)
sachant que le texte original resterait inchangé.
Je pourrais également inscrire le résultat du mélange dans le fichier pour redoubler à chaque itération les syllabes.