vendredi, juin 24, 2011

Exemple d'application du format abadie.jo 


Prenons en exemple un son de la voix humaine, celui qui correspond à la lettre « O ».
Si nous utilisons le système actuel qui encode et que nous voulons avoir un son qui ne soit pas déformé, le poids de celui-ci va dépendre de la durée, un octet par information échantillonnée, soit dans les 25ko.
Prenons le cas d'abadie.jo, comme le montre la vidéo cours 34 sur les sons sur http://www.youtube.com/user/9temps , le fichier en ASCII pèse 2ko, mais contrairement à l'algèbre ici ce n'est pas de l'encodage, mais de la modélisation. Une modélisation de premier niveau. En utilisant le format Binaire en abadie.jo, nous pourrions réduire le poids de ces 228 lignes en 456 octets et même ajouter deux octets en amont et en aval pour ajouter des silences qui pèseraient des centaines d'octets en algèbre. Mais notre but, n'est pas la, il est de passer à un niveau de modélisation supérieur. Nous savons que l'amplitude n'est pas la caractéristique d'un son entendu, donc il suffit que celle-ci soit dans un point bas pour faire entrer la membrane du haut parleur, et dans un point haut pour faire sortir la membrane du haut parleur. En d'autres mots créer une alternance point/point haut pour entendre la modélisation. Je ne développe pas plus l'exemple sera plus parlant.
Nous allons en premier créer une porteuse, prenons 50. Cette valeur de 50 représente un pourcentage sur 44100, une durée par rapport à la base de temps extérieure (car chaque quart d'onde possède sa propre base de temps dans ma technique de modélisation). Si nous diminuons cette valeur la voix ira vers la femme ou l'enfant, si nous l'augmentons elle ira vers l'homme, c'est la porteuse qui se rencontre la plupart du temps accompagné de petites ondes (trémolos).
On part en premier avec la membrane au repos soit une position d'amplitude au repos 256x128 (16bits) et avec pour durée la valeur 1
ensuite on fait varier le couple front montant front descendant (50;50) comme suit
(2;1)(2;-1)(1;-1)(1;0)(1;0)(1;0)(-1;1)(0;1)(1;1)(1;0)(0;0)(0;0)(0;1)(-1;2)(-1;2)(0;1)(0;0)(0;-1)(2;-1)(2;1)(-1;3)(-2;1)(0;-1)(1;0)((0;2)(-2;2)(-2;1)(0;-1)(1;0)(0;0)(-1;0)(-1;1)(-2;0)(0;-1)(2;0)(1;0)(-1;0)(-1;1)(-1;0)(0;0)(0;-1)(0;-1)(1;-1)(1;-1)(0;0)(0;0)(0;-1)(0;-1)(0;-1)(0;-1)(0;0)(0;0)(0;0)(0;0)(0;-1)(0;-1)(0;0)(0;0)(0;-1)(0;0)(0;-1)(1;-1)(1;-1)(0;-1)(0;-1)(1;-1)(-1;0)(-2;0)(-1;0)(0;-1)(2;-2)(3;-4)(-2;-3)(-7;-2)(-4;0)(-1;1)(0;-1)(0;-1)(-1;1)(1;4)(5;4)(4;10)(-2;25)(-4;19)(2;-2)(8;-6)(2;-1)(-3;-2)(-1;-3)(1;-1)(-1;-1)(-1;-1)(0;-2)(-1;-2)(-2;-1)(-2;1)(-1;0)(-1;-1)(1;-2)(0;-1)(-1;0)(-1;-1)(0;-1)(-1;0)(-1;-1)(0;-2)(1;-4)(3;-7)(5;-8)(-3;14)(-19;-19)(-19;-13)(-6;-3)

Il s'entend que chaque valeur est ajoutée ou enlevée à la valeur du front précédent, pour (2;1)(2;-1)(1;-1) nous allons avoir les valeurs (52;51)(54;50)(55;49)
Qui va se traduire en ASCII pour abadie.jo
32768 1
40000 52
25000 51
40000 54
25000 50
40000 55
25000 49
Vous pouvez vérifier avec l'application V5SDL que j'ai créé, elle est téléchargeable ici http://www.letime.net/legere/
Ceux qui ont suivit mes cours vidéo savent qu'il existe un effet mémoire, cet indice n'est là que pour aider les découvreurs, car si je donnais , j'apprendrai à croire tandis qu'en vous le laissant découvrir, je vous apprends à apprendre.
Il ne reste plus qu'à faire un petit fichier en C qui reprend le code du son « O » de lui donner la possibilité de faire varier l'amplitude et les durées de la même valeur, pour avoir une modélisation de troisième niveau. J'espère avoir trouvé un électronicien pour faire la carte audio adapté au format abadie.jo avant d'indiquer une modélisation de cinquième niveau. Mais déjà ici au troisième niveau nous avons 23Ko de son avec l'algèbre qui pèsent moins d'une centaine d'octets avec l'esprit du siècle des lumières.


Cinq minutes de rire pour un adulte, durent une éternité pour un enfant.

Aucun commentaire: