URL: https://linuxfr.org/users/alberic89/journaux/faire-du-son-avec-des-mots Title: Faire du son avec des mots Authors: alberic89 🐧 Date: 2023年02月01日T19:06:46+01:00 License: CC By-SA Tags: python Score: 11 Salut Nal ! Je t'écris aujourd'hui pour te parler d'un petit programme de quelques lignes serpentines, qui permet d'écrire du texte dans un fichier audio. Le programme ------------ ```python import wave # Texte d'entrée string_data = input("Tapez du texte :") encrypted_data = bytes(string_data, 'utf-8') # On peut aussi ouvrir directement un fichier texte #filename = str(input("Nom du fichier :")) #encrypted_data = bytes(open(filename).read(), 'utf-8') # Écrit le texte dans nouveau fichier tmp.wav new_audio_file = wave.open('tmp.wav', 'wb') new_audio_file.setparams((1, 2, 44100, 0, 'NONE', 'NONE')) new_audio_file.writeframes(encrypted_data) new_audio_file.close() # Pour lire le fichier #f = wave.open(filename, 'rb') #string_data = f.readframes(f.getnframes()) #f.close() #print(string_data.decode('utf8')) ``` C'est bête et ça marche. Incroyable. Exemple ------- Lancez simplement le script et tapez du texte. Vous remarquerez que de manière aléatoire, certaines chaines sont diminuées de leur dernier caractère. J'ai fait un test sur [The Time Machine de H. G. Wells](https://www.gutenberg.org/ebooks/35) que j'ai téléchargé au format texte UTF-8 [ici](https://www.gutenberg.org/files/35/35-0.txt). Pensez à commenter/décommenter les quatre premières lignes. Voici un [petit aperçu](https://img.tedomum.net/data/2023-02-01-180053_1600x900_scrot-b81b93.png) visualisé avec Audacity. Et le [fichier wav](https://www.dropbox.com/s/8m8v16u8frtkhz2/tmp.wav?dl=0) associé. Vous n'y comprenez rien en l'entendant ? Normal, c'est en anglais ! Mais vous pouvez retrouver le texte original en le passant à la moulinette du troisième bloc de code ci-dessus en commentant/décommentant les bonnes lignes. Vous n'y comprenez toujours rien ? Normal, ce script ne sert pas à rendre l'anglais compréhensible. Utilité ------- Comment ?! Il faut en plus que ce soit utile !! _(Vite Jean-Marc, trouve quelque chose !)_ Euh, et bien, en fait, ça pourrait servir à plusieurs machines à communiquer via leur port audio. Ou bien pour mettre un easter-egg dans une musique de jeu vidéo. Ou tout ce que tu pourras inventer de loufoque, on te fait confiance pour ça, Nal. Conclusion ---------- Je ne savais pas quoi en faire, alors je te l'offre, Nal, en espérant que tu en fasses bon usage. Bien sûr, il est perfectible, on peut ajouter un système pour choisir ce que l'on veut faire au lieu de tripatouiller le code, une interface graphique, un système pour [chiffrer](https://chiffrer.info/) la chaîne de départ, et mille autres choses. Je ne réclame aucun copyright sur ce code, tu peux considérer qu'il t'appartient. Sur ce, voici [une jolie nimage !](https://c.xkcd.com/random/mobile_comic/)