Blame view

readme.md 2.4 KB
d2bf2dcd   rsimonin   readme
1
  # TP IMA5 Time Streching
14b969fb   rsimonin   readme
2
  ## Intro
d2bf2dcd   rsimonin   readme
3
4
5
6
7
  
  Apres une entrevue des bibliothèques, nous distingons deux utilitées. 
  La première, est la création de fichier audio wavdata.
  Et la seconde, nous permet d'utiliser le domaine fréquentielle à l'aide de FFT et FFT inverse.
  
b31008bf   rsimonin   test
8
  ## Les fichiers WAV
d2bf2dcd   rsimonin   readme
9
10
  
  Apres la compilation de notre main
b31008bf   rsimonin   test
11
12
  
  ```bash
d2bf2dcd   rsimonin   readme
13
14
  g++ main.cpp wavedata.cpp -o test
  ./test
b31008bf   rsimonin   test
15
  ```
14b969fb   rsimonin   readme
16
17
18
19
20
21
22
23
24
25
26
27
  Nous pouvons alors lire le chargement de fichier audio COW.WAV, avec différents éléments caractéristiques du fichier comme sa taille, son format et la méthode d'oganisation des données.
  Ensuite nous pouvons lire le format audio de notre son contenu dans le fichier. Avec la fréquence d'échantillonage, la taille des blocs de donnée, le type de bloc, le nombre de connaux...
  
  Le code à pour but dans un premier temps de décrire le  fichier ainsi que le format audio. Ensuite il charge la donnée contenu dans le fichier pour la traiter. La derniere partie du code a pour but d’allonger la durée de l’audio. En ajoutant un effet délay à partir de la fin du son du fichier.
  
  ### Pur
  Dans le git du projet, il y a un dossier pur où se trouve différents fichier.
  Dans cette partie, nous nous sommes basés sur la construction du fichier audio donné dans le main.cpp.
  C’est à dire que nous chargions le son cow afin de récupérer ses paramètres, puis en cherchant un peu nous avons trouvé les fonctions, dans le header de la bibliothèque, pour fixer les paramètres de notre format audio en sortie.
  Nous avons commencé à construire notre signal sinusoïdale à l’aide de la fonction sinus dans math.h et de notre fréquence.
  Pur.cpp permet de créer deux fichiers audio différents purs. Le premier fichier est la note La et le deuxieme la note DO.
  
af8593ce   rsimonin   readme
28
29
30
31
32
33
34
35
36
37
  J'utilise VLC et la visualisation de l'audio avec l'osciloscope afin d'afficher le signal.
  
  ```C++
  for(i=0;i<SIZE;i++){
  		data2[j]=data[i];
          data2[j+1]=data[i];
          j=j+2;
      }
  ```
  A l'aide de cette fonction, nous étirons notre signal par deux. Ce qui à pour effet de diviser par deux la fréquence de notre signal, donc notre devient plus grave.
d2bf2dcd   rsimonin   readme
38
  
af8593ce   rsimonin   readme
39
  Dans cette première partie, j'ai pu rencontrer différents problèmes sur l'utilisation de la blibliotéque et sur la création de signaux.
6c227d28   rsimonin   premier push
40
  
af8593ce   rsimonin   readme
41
  Dans le code précédent, je me suis rendu compte que les valeurs devaient être positive, c'est pourquoi dans notre création de notre sinus, un "+1" s'y trouve afin d'assurer d'avoir des valeurs >0.