commited all contents created by participants
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# -*- coding : utf8 -*-
|
||||
|
||||
# Ligne 13
|
||||
# Léon Lenclos 2017 (leon.lenclos(à)gmail.com)
|
||||
# Workshop OLA#5 à Synesthésie
|
||||
# organisé par Bachir Soussi Chiadmi avec An Mertens
|
||||
|
||||
|
||||
import random
|
||||
from scipy.stats import norm
|
||||
import numpy as np
|
||||
|
||||
# Preferences
|
||||
noise_duration = 50
|
||||
silence_duration = 300
|
||||
|
||||
# prob_list contiendra la problaité qu'il y ai une altération sur Chaque
|
||||
# lettre durant le bruit.
|
||||
prob_list_range = np.arange(-2, 2, 4/noise_duration)
|
||||
prob_list = [y*2 for y in norm().pdf(prob_list_range)]
|
||||
|
||||
# fonction principale
|
||||
def main():
|
||||
# Lire le fichier input.txt et le ranger dans text_in
|
||||
with open("input.txt") as f:
|
||||
text_in = f.read()
|
||||
|
||||
# Parcourir le fichier et effectuer le procédé sur chaque carractere
|
||||
# en fonction de sa place dans le texte. Écrire le résultat dans text_out
|
||||
text_out = ""
|
||||
for i, c in enumerate(text_in):
|
||||
text_out += process(i, c)
|
||||
|
||||
# Écrire le contenu de text_out dans le fichier output.txt
|
||||
with open("output.txt", "w") as f:
|
||||
f.write(text_out)
|
||||
|
||||
# Le procédé a appliquer sur chaque caractere en fonction de sa position.
|
||||
def process(index, char):
|
||||
# Je m'assure qu'il y ait un silence au début du texte
|
||||
index += silence_duration
|
||||
|
||||
# Si je suis dans la période de bruit
|
||||
if index%(noise_duration+silence_duration) < noise_duration:
|
||||
# je tire au sort pour savoir si j'altère le caractere
|
||||
if random.random() < prob_list[index%(noise_duration+silence_duration)]:
|
||||
# j'altère le caractere avec un "v" ou un "r"
|
||||
char = random.choice(["v", "r"])
|
||||
# je retourne le caractere
|
||||
return char
|
||||
|
||||
|
||||
# je lance le programme
|
||||
main()
|
||||
Reference in New Issue
Block a user