diff --git a/Base de données/10_D.wav b/Base de données/10_D.wav deleted file mode 100644 index be17e32..0000000 Binary files a/Base de données/10_D.wav and /dev/null differ diff --git a/Base de données/10_E1.wav b/Base de données/10_E1.wav deleted file mode 100644 index 46c89d3..0000000 Binary files a/Base de données/10_E1.wav and /dev/null differ diff --git a/Base de données/10_E2.wav b/Base de données/10_E2.wav deleted file mode 100644 index 49ba1a5..0000000 Binary files a/Base de données/10_E2.wav and /dev/null differ diff --git a/Base de données/10_E3.wav b/Base de données/10_E3.wav deleted file mode 100644 index c3e7bab..0000000 Binary files a/Base de données/10_E3.wav and /dev/null differ diff --git a/Base de données/10_L.wav b/Base de données/10_L.wav deleted file mode 100644 index 8fc0ecc..0000000 Binary files a/Base de données/10_L.wav and /dev/null differ diff --git a/Base de données/10_Lunes.wav b/Base de données/10_Lunes.wav deleted file mode 100644 index 08f4bc1..0000000 Binary files a/Base de données/10_Lunes.wav and /dev/null differ diff --git a/Base de données/10_Y.wav b/Base de données/10_Y.wav deleted file mode 100644 index c30f94e..0000000 Binary files a/Base de données/10_Y.wav and /dev/null differ diff --git a/Base de données/1_D.wav b/Base de données/1_D.wav deleted file mode 100644 index c486127..0000000 Binary files a/Base de données/1_D.wav and /dev/null differ diff --git a/Base de données/1_E1.wav b/Base de données/1_E1.wav deleted file mode 100644 index 72dc0ce..0000000 Binary files a/Base de données/1_E1.wav and /dev/null differ diff --git a/Base de données/1_E2.wav b/Base de données/1_E2.wav deleted file mode 100644 index 5ad2c47..0000000 Binary files a/Base de données/1_E2.wav and /dev/null differ diff --git a/Base de données/1_E3.wav b/Base de données/1_E3.wav deleted file mode 100644 index 02ca122..0000000 Binary files a/Base de données/1_E3.wav and /dev/null differ diff --git a/Base de données/1_L.wav b/Base de données/1_L.wav deleted file mode 100644 index cfec877..0000000 Binary files a/Base de données/1_L.wav and /dev/null differ diff --git a/Base de données/1_Lunes.wav b/Base de données/1_Lunes.wav deleted file mode 100644 index 3de1430..0000000 Binary files a/Base de données/1_Lunes.wav and /dev/null differ diff --git a/Base de données/1_Y.wav b/Base de données/1_Y.wav deleted file mode 100644 index 92c335e..0000000 Binary files a/Base de données/1_Y.wav and /dev/null differ diff --git a/Base de données/2_D.wav b/Base de données/2_D.wav deleted file mode 100644 index 1abc2d0..0000000 Binary files a/Base de données/2_D.wav and /dev/null differ diff --git a/Base de données/2_E1.wav b/Base de données/2_E1.wav deleted file mode 100644 index 74cae4f..0000000 Binary files a/Base de données/2_E1.wav and /dev/null differ diff --git a/Base de données/2_E2.wav b/Base de données/2_E2.wav deleted file mode 100644 index 34786c4..0000000 Binary files a/Base de données/2_E2.wav and /dev/null differ diff --git a/Base de données/2_E3.wav b/Base de données/2_E3.wav deleted file mode 100644 index e99c054..0000000 Binary files a/Base de données/2_E3.wav and /dev/null differ diff --git a/Base de données/2_L.wav b/Base de données/2_L.wav deleted file mode 100644 index ce95e18..0000000 Binary files a/Base de données/2_L.wav and /dev/null differ diff --git a/Base de données/2_Lunes.wav b/Base de données/2_Lunes.wav deleted file mode 100644 index 0083387..0000000 Binary files a/Base de données/2_Lunes.wav and /dev/null differ diff --git a/Base de données/2_Y.wav b/Base de données/2_Y.wav deleted file mode 100644 index 85fb735..0000000 Binary files a/Base de données/2_Y.wav and /dev/null differ diff --git a/Base de données/3_D.wav b/Base de données/3_D.wav deleted file mode 100644 index 6b4ae9e..0000000 Binary files a/Base de données/3_D.wav and /dev/null differ diff --git a/Base de données/3_E1.wav b/Base de données/3_E1.wav deleted file mode 100644 index 6879f5e..0000000 Binary files a/Base de données/3_E1.wav and /dev/null differ diff --git a/Base de données/3_E2.wav b/Base de données/3_E2.wav deleted file mode 100644 index 65eb577..0000000 Binary files a/Base de données/3_E2.wav and /dev/null differ diff --git a/Base de données/3_L.wav b/Base de données/3_L.wav deleted file mode 100644 index 6e0b5f6..0000000 Binary files a/Base de données/3_L.wav and /dev/null differ diff --git a/Base de données/3_Lunes.wav b/Base de données/3_Lunes.wav deleted file mode 100644 index 833813e..0000000 Binary files a/Base de données/3_Lunes.wav and /dev/null differ diff --git a/Base de données/3_Y.wav b/Base de données/3_Y.wav deleted file mode 100644 index 6d90be3..0000000 Binary files a/Base de données/3_Y.wav and /dev/null differ diff --git a/Base de données/4_D.wav b/Base de données/4_D.wav deleted file mode 100644 index 7c5bbc0..0000000 Binary files a/Base de données/4_D.wav and /dev/null differ diff --git a/Base de données/4_E1.wav b/Base de données/4_E1.wav deleted file mode 100644 index 97e6805..0000000 Binary files a/Base de données/4_E1.wav and /dev/null differ diff --git a/Base de données/4_E2.wav b/Base de données/4_E2.wav deleted file mode 100644 index afc7aba..0000000 Binary files a/Base de données/4_E2.wav and /dev/null differ diff --git a/Base de données/4_E3.wav b/Base de données/4_E3.wav deleted file mode 100644 index 61cd577..0000000 Binary files a/Base de données/4_E3.wav and /dev/null differ diff --git a/Base de données/4_L.wav b/Base de données/4_L.wav deleted file mode 100644 index b033b4a..0000000 Binary files a/Base de données/4_L.wav and /dev/null differ diff --git a/Base de données/4_Lunes.wav b/Base de données/4_Lunes.wav deleted file mode 100644 index 79ca889..0000000 Binary files a/Base de données/4_Lunes.wav and /dev/null differ diff --git a/Base de données/4_Y.wav b/Base de données/4_Y.wav deleted file mode 100644 index 641b1e9..0000000 Binary files a/Base de données/4_Y.wav and /dev/null differ diff --git a/Base de données/5_D.wav b/Base de données/5_D.wav deleted file mode 100644 index 57396c0..0000000 Binary files a/Base de données/5_D.wav and /dev/null differ diff --git a/Base de données/5_E1.wav b/Base de données/5_E1.wav deleted file mode 100644 index 8d30cca..0000000 Binary files a/Base de données/5_E1.wav and /dev/null differ diff --git a/Base de données/5_E3.wav b/Base de données/5_E3.wav deleted file mode 100644 index f58a026..0000000 Binary files a/Base de données/5_E3.wav and /dev/null differ diff --git a/Base de données/5_L.wav b/Base de données/5_L.wav deleted file mode 100644 index 9e31d39..0000000 Binary files a/Base de données/5_L.wav and /dev/null differ diff --git a/Base de données/5_Lunes.wav b/Base de données/5_Lunes.wav deleted file mode 100644 index d42fe25..0000000 Binary files a/Base de données/5_Lunes.wav and /dev/null differ diff --git a/Base de données/5_Y.wav b/Base de données/5_Y.wav deleted file mode 100644 index 108f27e..0000000 Binary files a/Base de données/5_Y.wav and /dev/null differ diff --git a/Base de données/6_D.wav b/Base de données/6_D.wav deleted file mode 100644 index d290dfe..0000000 Binary files a/Base de données/6_D.wav and /dev/null differ diff --git a/Base de données/6_E1.wav b/Base de données/6_E1.wav deleted file mode 100644 index 91c46aa..0000000 Binary files a/Base de données/6_E1.wav and /dev/null differ diff --git a/Base de données/6_E3.wav b/Base de données/6_E3.wav deleted file mode 100644 index b5296cb..0000000 Binary files a/Base de données/6_E3.wav and /dev/null differ diff --git a/Base de données/6_L.wav b/Base de données/6_L.wav deleted file mode 100644 index 254643d..0000000 Binary files a/Base de données/6_L.wav and /dev/null differ diff --git a/Base de données/6_Lunes.wav b/Base de données/6_Lunes.wav deleted file mode 100644 index ec1dc16..0000000 Binary files a/Base de données/6_Lunes.wav and /dev/null differ diff --git a/Base de données/6_Y.wav b/Base de données/6_Y.wav deleted file mode 100644 index c2c5eb8..0000000 Binary files a/Base de données/6_Y.wav and /dev/null differ diff --git a/Base de données/7_D.wav b/Base de données/7_D.wav deleted file mode 100644 index 97fbb1d..0000000 Binary files a/Base de données/7_D.wav and /dev/null differ diff --git a/Base de données/7_E1.wav b/Base de données/7_E1.wav deleted file mode 100644 index bef5097..0000000 Binary files a/Base de données/7_E1.wav and /dev/null differ diff --git a/Base de données/7_E2.wav b/Base de données/7_E2.wav deleted file mode 100644 index e1c47e8..0000000 Binary files a/Base de données/7_E2.wav and /dev/null differ diff --git a/Base de données/7_L.wav b/Base de données/7_L.wav deleted file mode 100644 index da23218..0000000 Binary files a/Base de données/7_L.wav and /dev/null differ diff --git a/Base de données/7_Lunes.wav b/Base de données/7_Lunes.wav deleted file mode 100644 index 9489713..0000000 Binary files a/Base de données/7_Lunes.wav and /dev/null differ diff --git a/Base de données/7_Ywav.wav b/Base de données/7_Ywav.wav deleted file mode 100644 index d814cb0..0000000 Binary files a/Base de données/7_Ywav.wav and /dev/null differ diff --git a/Base de données/8_D.wav b/Base de données/8_D.wav deleted file mode 100644 index 745b982..0000000 Binary files a/Base de données/8_D.wav and /dev/null differ diff --git a/Base de données/8_E1.wav b/Base de données/8_E1.wav deleted file mode 100644 index 53dc130..0000000 Binary files a/Base de données/8_E1.wav and /dev/null differ diff --git a/Base de données/8_E2.wav b/Base de données/8_E2.wav deleted file mode 100644 index 1e54481..0000000 Binary files a/Base de données/8_E2.wav and /dev/null differ diff --git a/Base de données/8_E3.wav b/Base de données/8_E3.wav deleted file mode 100644 index 9cc22b5..0000000 Binary files a/Base de données/8_E3.wav and /dev/null differ diff --git a/Base de données/8_L.wav b/Base de données/8_L.wav deleted file mode 100644 index e95e34d..0000000 Binary files a/Base de données/8_L.wav and /dev/null differ diff --git a/Base de données/8_Lunes.wav b/Base de données/8_Lunes.wav deleted file mode 100644 index 4e1a702..0000000 Binary files a/Base de données/8_Lunes.wav and /dev/null differ diff --git a/Base de données/8_Y.wav b/Base de données/8_Y.wav deleted file mode 100644 index 19adce4..0000000 Binary files a/Base de données/8_Y.wav and /dev/null differ diff --git a/Base de données/9_D.wav b/Base de données/9_D.wav deleted file mode 100644 index 75384f2..0000000 Binary files a/Base de données/9_D.wav and /dev/null differ diff --git a/Base de données/9_E1.wav b/Base de données/9_E1.wav deleted file mode 100644 index ff1d60a..0000000 Binary files a/Base de données/9_E1.wav and /dev/null differ diff --git a/Base de données/9_E2.wav b/Base de données/9_E2.wav deleted file mode 100644 index cf0ee98..0000000 Binary files a/Base de données/9_E2.wav and /dev/null differ diff --git a/Base de données/9_E3.wav b/Base de données/9_E3.wav deleted file mode 100644 index fc79910..0000000 Binary files a/Base de données/9_E3.wav and /dev/null differ diff --git a/Base de données/9_L.wav b/Base de données/9_L.wav deleted file mode 100644 index c386c68..0000000 Binary files a/Base de données/9_L.wav and /dev/null differ diff --git a/Base de données/9_Lunes.wav b/Base de données/9_Lunes.wav deleted file mode 100644 index 4306b4a..0000000 Binary files a/Base de données/9_Lunes.wav and /dev/null differ diff --git a/Base de données/9_Y.wav b/Base de données/9_Y.wav deleted file mode 100644 index 84795ba..0000000 Binary files a/Base de données/9_Y.wav and /dev/null differ diff --git a/Base de données/Bien_E1.wav b/Base de données/Bien_E1.wav deleted file mode 100644 index 7ab358b..0000000 Binary files a/Base de données/Bien_E1.wav and /dev/null differ diff --git a/Base de données/Bien_E3.wav b/Base de données/Bien_E3.wav deleted file mode 100644 index b7be082..0000000 Binary files a/Base de données/Bien_E3.wav and /dev/null differ diff --git a/Base de données/Bien_Lunes.wav b/Base de données/Bien_Lunes.wav deleted file mode 100644 index 3df71d9..0000000 Binary files a/Base de données/Bien_Lunes.wav and /dev/null differ diff --git a/Base de données/Bien_Y.wav b/Base de données/Bien_Y.wav deleted file mode 100644 index 1b7acb8..0000000 Binary files a/Base de données/Bien_Y.wav and /dev/null differ diff --git a/Base de données/C_étais_drole_Lunes.wav b/Base de données/C_étais_drole_Lunes.wav deleted file mode 100644 index eaa6546..0000000 Binary files a/Base de données/C_étais_drole_Lunes.wav and /dev/null differ diff --git a/Base de données/C_était drole_D.wav b/Base de données/C_était drole_D.wav deleted file mode 100644 index b47f402..0000000 Binary files a/Base de données/C_était drole_D.wav and /dev/null differ diff --git a/Base de données/C_était drole_E2.wav b/Base de données/C_était drole_E2.wav deleted file mode 100644 index 167225b..0000000 Binary files a/Base de données/C_était drole_E2.wav and /dev/null differ diff --git a/Base de données/C_était drole_L.wav b/Base de données/C_était drole_L.wav deleted file mode 100644 index 2eb603c..0000000 Binary files a/Base de données/C_était drole_L.wav and /dev/null differ diff --git a/Base de données/C_était_drole_E1.wav b/Base de données/C_était_drole_E1.wav deleted file mode 100644 index 185a9d2..0000000 Binary files a/Base de données/C_était_drole_E1.wav and /dev/null differ diff --git a/Base de données/C_était_drole_E3.wav b/Base de données/C_était_drole_E3.wav deleted file mode 100644 index 0cacdae..0000000 Binary files a/Base de données/C_était_drole_E3.wav and /dev/null differ diff --git a/Base de données/C_était_drole_Y.wav b/Base de données/C_était_drole_Y.wav deleted file mode 100644 index 5d83382..0000000 Binary files a/Base de données/C_était_drole_Y.wav and /dev/null differ diff --git a/Base de données/Ennuyant_E1.wav b/Base de données/Ennuyant_E1.wav deleted file mode 100644 index 68ad32f..0000000 Binary files a/Base de données/Ennuyant_E1.wav and /dev/null differ diff --git a/Base de données/Ennuyant_E3.wav b/Base de données/Ennuyant_E3.wav deleted file mode 100644 index 0e8b4c4..0000000 Binary files a/Base de données/Ennuyant_E3.wav and /dev/null differ diff --git a/Base de données/Ennuyant_Lunes.wav b/Base de données/Ennuyant_Lunes.wav deleted file mode 100644 index a58501f..0000000 Binary files a/Base de données/Ennuyant_Lunes.wav and /dev/null differ diff --git a/Base de données/Ennuyant_Y.wav b/Base de données/Ennuyant_Y.wav deleted file mode 100644 index a6aaa0d..0000000 Binary files a/Base de données/Ennuyant_Y.wav and /dev/null differ diff --git a/Base de données/Génial_E1.wav b/Base de données/Génial_E1.wav deleted file mode 100644 index 4c9fbb2..0000000 Binary files a/Base de données/Génial_E1.wav and /dev/null differ diff --git a/Base de données/Génial_E3.wav b/Base de données/Génial_E3.wav deleted file mode 100644 index 534b026..0000000 Binary files a/Base de données/Génial_E3.wav and /dev/null differ diff --git a/Base de données/Génial_Lunes.wav b/Base de données/Génial_Lunes.wav deleted file mode 100644 index cd33b25..0000000 Binary files a/Base de données/Génial_Lunes.wav and /dev/null differ diff --git a/Base de données/Génial_Y.wav b/Base de données/Génial_Y.wav deleted file mode 100644 index 9ffee11..0000000 Binary files a/Base de données/Génial_Y.wav and /dev/null differ diff --git a/Base de données/J_ai_beaucoup_aimé_E1.wav b/Base de données/J_ai_beaucoup_aimé_E1.wav deleted file mode 100644 index 6471efe..0000000 Binary files a/Base de données/J_ai_beaucoup_aimé_E1.wav and /dev/null differ diff --git a/Base de données/J_ai_beaucoup_aimé_E3.wav b/Base de données/J_ai_beaucoup_aimé_E3.wav deleted file mode 100644 index a0636f3..0000000 Binary files a/Base de données/J_ai_beaucoup_aimé_E3.wav and /dev/null differ diff --git a/Base de données/J_ai_beaucoup_aimé_Lunes.wav b/Base de données/J_ai_beaucoup_aimé_Lunes.wav deleted file mode 100644 index 96d839e..0000000 Binary files a/Base de données/J_ai_beaucoup_aimé_Lunes.wav and /dev/null differ diff --git a/Base de données/J_ai_beaucoup_aimé_Y.wav b/Base de données/J_ai_beaucoup_aimé_Y.wav deleted file mode 100644 index a5cbed1..0000000 Binary files a/Base de données/J_ai_beaucoup_aimé_Y.wav and /dev/null differ diff --git a/Base de données/J_ai_trouvé_ça_génial_E1.wav b/Base de données/J_ai_trouvé_ça_génial_E1.wav deleted file mode 100644 index 092791e..0000000 Binary files a/Base de données/J_ai_trouvé_ça_génial_E1.wav and /dev/null differ diff --git a/Base de données/J_ai_trouvé_ça_génial_E3.wav b/Base de données/J_ai_trouvé_ça_génial_E3.wav deleted file mode 100644 index 944a3b9..0000000 Binary files a/Base de données/J_ai_trouvé_ça_génial_E3.wav and /dev/null differ diff --git a/Base de données/J_ai_trouvé_ça_génial_Lunes.wav b/Base de données/J_ai_trouvé_ça_génial_Lunes.wav deleted file mode 100644 index b35622b..0000000 Binary files a/Base de données/J_ai_trouvé_ça_génial_Lunes.wav and /dev/null differ diff --git a/Base de données/J_ai_trouvé_ça_génial_Y.wav b/Base de données/J_ai_trouvé_ça_génial_Y.wav deleted file mode 100644 index ebc16f9..0000000 Binary files a/Base de données/J_ai_trouvé_ça_génial_Y.wav and /dev/null differ diff --git a/Base de données/Je_n_ai_pas_aimé_E1.wav b/Base de données/Je_n_ai_pas_aimé_E1.wav deleted file mode 100644 index c7b211b..0000000 Binary files a/Base de données/Je_n_ai_pas_aimé_E1.wav and /dev/null differ diff --git a/Base de données/Je_n_ai_pas_aimé_E3.wav b/Base de données/Je_n_ai_pas_aimé_E3.wav deleted file mode 100644 index 81c6542..0000000 Binary files a/Base de données/Je_n_ai_pas_aimé_E3.wav and /dev/null differ diff --git a/Base de données/Je_n_ai_pas_aimé_Lunes.wav b/Base de données/Je_n_ai_pas_aimé_Lunes.wav deleted file mode 100644 index 482101a..0000000 Binary files a/Base de données/Je_n_ai_pas_aimé_Lunes.wav and /dev/null differ diff --git a/Base de données/Je_n_ai_pas_aimé_Y.wav b/Base de données/Je_n_ai_pas_aimé_Y.wav deleted file mode 100644 index 5efc67f..0000000 Binary files a/Base de données/Je_n_ai_pas_aimé_Y.wav and /dev/null differ diff --git a/Base de données/Nul_E1.wav b/Base de données/Nul_E1.wav deleted file mode 100644 index 21eee86..0000000 Binary files a/Base de données/Nul_E1.wav and /dev/null differ diff --git a/Base de données/Nul_E3.wav b/Base de données/Nul_E3.wav deleted file mode 100644 index 9719f4b..0000000 Binary files a/Base de données/Nul_E3.wav and /dev/null differ diff --git a/Base de données/Nul_Lunes.wav b/Base de données/Nul_Lunes.wav deleted file mode 100644 index 41f2595..0000000 Binary files a/Base de données/Nul_Lunes.wav and /dev/null differ diff --git a/Base de données/Nul_Y.wav b/Base de données/Nul_Y.wav deleted file mode 100644 index 6c05d7e..0000000 Binary files a/Base de données/Nul_Y.wav and /dev/null differ diff --git a/Base de données/Propre_E1.wav b/Base de données/Propre_E1.wav deleted file mode 100644 index 4f88de3..0000000 Binary files a/Base de données/Propre_E1.wav and /dev/null differ diff --git a/Base de données/Propre_Lunes.wav b/Base de données/Propre_Lunes.wav deleted file mode 100644 index b747138..0000000 Binary files a/Base de données/Propre_Lunes.wav and /dev/null differ diff --git a/Base de données/Propre_Y.wav b/Base de données/Propre_Y.wav deleted file mode 100644 index 65851cf..0000000 Binary files a/Base de données/Propre_Y.wav and /dev/null differ diff --git a/Base de données/Super_E1.wav b/Base de données/Super_E1.wav deleted file mode 100644 index 991f4c5..0000000 Binary files a/Base de données/Super_E1.wav and /dev/null differ diff --git a/Base de données/Super_E3.wav b/Base de données/Super_E3.wav deleted file mode 100644 index e39cf0d..0000000 Binary files a/Base de données/Super_E3.wav and /dev/null differ diff --git a/Base de données/Super_Lunes.wav b/Base de données/Super_Lunes.wav deleted file mode 100644 index c9a48a6..0000000 Binary files a/Base de données/Super_Lunes.wav and /dev/null differ diff --git a/Base de données/Super_Y.wav b/Base de données/Super_Y.wav deleted file mode 100644 index 3073e2c..0000000 Binary files a/Base de données/Super_Y.wav and /dev/null differ diff --git a/Base de données/Sympa_E1.wav b/Base de données/Sympa_E1.wav deleted file mode 100644 index 971603d..0000000 Binary files a/Base de données/Sympa_E1.wav and /dev/null differ diff --git a/Base de données/Sympa_E3.wav b/Base de données/Sympa_E3.wav deleted file mode 100644 index 8419838..0000000 Binary files a/Base de données/Sympa_E3.wav and /dev/null differ diff --git a/Base de données/Sympa_L.wav b/Base de données/Sympa_L.wav deleted file mode 100644 index 9703255..0000000 Binary files a/Base de données/Sympa_L.wav and /dev/null differ diff --git a/Base de données/Sympa_Lunes.wav b/Base de données/Sympa_Lunes.wav deleted file mode 100644 index 6f2daba..0000000 Binary files a/Base de données/Sympa_Lunes.wav and /dev/null differ diff --git a/Base de données/Sympa_Y.wav b/Base de données/Sympa_Y.wav deleted file mode 100644 index 55db9fa..0000000 Binary files a/Base de données/Sympa_Y.wav and /dev/null differ diff --git a/Base de données/bien_D.wav b/Base de données/bien_D.wav deleted file mode 100644 index 391ec2f..0000000 Binary files a/Base de données/bien_D.wav and /dev/null differ diff --git a/Base de données/bien_E2.wav b/Base de données/bien_E2.wav deleted file mode 100644 index dc631e4..0000000 Binary files a/Base de données/bien_E2.wav and /dev/null differ diff --git a/Base de données/bien_L.wav b/Base de données/bien_L.wav deleted file mode 100644 index e49ab7e..0000000 Binary files a/Base de données/bien_L.wav and /dev/null differ diff --git a/Base de données/ennuyant_D.wav b/Base de données/ennuyant_D.wav deleted file mode 100644 index c311be7..0000000 Binary files a/Base de données/ennuyant_D.wav and /dev/null differ diff --git a/Base de données/ennuyant_E2.wav b/Base de données/ennuyant_E2.wav deleted file mode 100644 index 17d742e..0000000 Binary files a/Base de données/ennuyant_E2.wav and /dev/null differ diff --git a/Base de données/ennuyant_L.wav b/Base de données/ennuyant_L.wav deleted file mode 100644 index 4c0f33f..0000000 Binary files a/Base de données/ennuyant_L.wav and /dev/null differ diff --git a/Base de données/genial_D.wav b/Base de données/genial_D.wav deleted file mode 100644 index 62da599..0000000 Binary files a/Base de données/genial_D.wav and /dev/null differ diff --git a/Base de données/genial_E2.wav b/Base de données/genial_E2.wav deleted file mode 100644 index 4ce597b..0000000 Binary files a/Base de données/genial_E2.wav and /dev/null differ diff --git a/Base de données/genial_L.wav b/Base de données/genial_L.wav deleted file mode 100644 index 994283e..0000000 Binary files a/Base de données/genial_L.wav and /dev/null differ diff --git a/Base de données/j_ai_beaucoup_aimé_D.wav b/Base de données/j_ai_beaucoup_aimé_D.wav deleted file mode 100644 index a9c6233..0000000 Binary files a/Base de données/j_ai_beaucoup_aimé_D.wav and /dev/null differ diff --git a/Base de données/j_ai_beaucoup_aimé_E2.wav b/Base de données/j_ai_beaucoup_aimé_E2.wav deleted file mode 100644 index 4460789..0000000 Binary files a/Base de données/j_ai_beaucoup_aimé_E2.wav and /dev/null differ diff --git a/Base de données/j_ai_beaucoup_aimé_L.wav b/Base de données/j_ai_beaucoup_aimé_L.wav deleted file mode 100644 index cc706e1..0000000 Binary files a/Base de données/j_ai_beaucoup_aimé_L.wav and /dev/null differ diff --git a/Base de données/j_ai_trouvé_ça_génial_D.wav b/Base de données/j_ai_trouvé_ça_génial_D.wav deleted file mode 100644 index d93c251..0000000 Binary files a/Base de données/j_ai_trouvé_ça_génial_D.wav and /dev/null differ diff --git a/Base de données/j_ai_trouvé_ça_génial_E2.wav b/Base de données/j_ai_trouvé_ça_génial_E2.wav deleted file mode 100644 index 8d3bfbb..0000000 Binary files a/Base de données/j_ai_trouvé_ça_génial_E2.wav and /dev/null differ diff --git a/Base de données/j_ai_trouvé_ça_génial_L.wav b/Base de données/j_ai_trouvé_ça_génial_L.wav deleted file mode 100644 index 581eef3..0000000 Binary files a/Base de données/j_ai_trouvé_ça_génial_L.wav and /dev/null differ diff --git a/Base de données/je n_ai pas aimé_D.wav b/Base de données/je n_ai pas aimé_D.wav deleted file mode 100644 index 25ebfec..0000000 Binary files a/Base de données/je n_ai pas aimé_D.wav and /dev/null differ diff --git a/Base de données/je n_ai pas aimé_E2.wav b/Base de données/je n_ai pas aimé_E2.wav deleted file mode 100644 index 3d5e96d..0000000 Binary files a/Base de données/je n_ai pas aimé_E2.wav and /dev/null differ diff --git a/Base de données/je n_ai pas aimé_L.wav b/Base de données/je n_ai pas aimé_L.wav deleted file mode 100644 index b3fa9ff..0000000 Binary files a/Base de données/je n_ai pas aimé_L.wav and /dev/null differ diff --git a/Base de données/nul_D.wav b/Base de données/nul_D.wav deleted file mode 100644 index 31894ff..0000000 Binary files a/Base de données/nul_D.wav and /dev/null differ diff --git a/Base de données/nul_E2.wav b/Base de données/nul_E2.wav deleted file mode 100644 index 95ca9cb..0000000 Binary files a/Base de données/nul_E2.wav and /dev/null differ diff --git a/Base de données/nul_L.wav b/Base de données/nul_L.wav deleted file mode 100644 index eca89fc..0000000 Binary files a/Base de données/nul_L.wav and /dev/null differ diff --git a/Base de données/propre_D.wav b/Base de données/propre_D.wav deleted file mode 100644 index 85252df..0000000 Binary files a/Base de données/propre_D.wav and /dev/null differ diff --git a/Base de données/propre_L.wav b/Base de données/propre_L.wav deleted file mode 100644 index a191f38..0000000 Binary files a/Base de données/propre_L.wav and /dev/null differ diff --git a/Base de données/super_D.wav b/Base de données/super_D.wav deleted file mode 100644 index 98d5718..0000000 Binary files a/Base de données/super_D.wav and /dev/null differ diff --git a/Base de données/super_E2.wav b/Base de données/super_E2.wav deleted file mode 100644 index f3d0da4..0000000 Binary files a/Base de données/super_E2.wav and /dev/null differ diff --git a/Base de données/super_L.wav b/Base de données/super_L.wav deleted file mode 100644 index 1d722c9..0000000 Binary files a/Base de données/super_L.wav and /dev/null differ diff --git a/Base de données/sympa_D.wav b/Base de données/sympa_D.wav deleted file mode 100644 index 77e617b..0000000 Binary files a/Base de données/sympa_D.wav and /dev/null differ diff --git a/Base de données/sympa_E2.wav b/Base de données/sympa_E2.wav deleted file mode 100644 index 993f745..0000000 Binary files a/Base de données/sympa_E2.wav and /dev/null differ diff --git a/code/backend_reconnaissance/.gitignore b/code/backend_reconnaissance/.gitignore new file mode 100644 index 0000000..697e56f --- /dev/null +++ b/code/backend_reconnaissance/.gitignore @@ -0,0 +1 @@ +*.wav \ No newline at end of file diff --git a/code/backend_reconnaissance/Dockerfile b/code/backend_reconnaissance/Dockerfile index a591396..3847647 100644 --- a/code/backend_reconnaissance/Dockerfile +++ b/code/backend_reconnaissance/Dockerfile @@ -7,7 +7,7 @@ ENV PYTHONUNBUFFERED=1 #Installation des dépendances de opencv RUN apt-get update -RUN apt-get install ffmpeg libsm6 libxext6 portaudio19-dev python3-pyaudio -y +RUN apt-get install ffmpeg libsm6 libxext6 portaudio19-dev python3-pyaudio pulseaudio -y # Installation des dépendances python COPY requirements.txt . diff --git a/code/backend_reconnaissance/audio_data/metadata.json b/code/backend_reconnaissance/audio_data/metadata.json new file mode 100644 index 0000000..d0213e8 --- /dev/null +++ b/code/backend_reconnaissance/audio_data/metadata.json @@ -0,0 +1,22 @@ +{ + "ennuyant": { + "grade": 2, + "display": "Ennuyant" + }, + "genial": { + "grade": 9, + "display": "Génial" + }, + "j_ai_beaucoup_aime": { + "grade": 9, + "display": "J'ai beaucoup aimé" + }, + "j_ai_trouve_ca_genial": { + "grade": 10, + "display": "J'ai trouvé ça génial" + }, + "nul": { + "grade": 0, + "display": "Nul" + } +} \ No newline at end of file diff --git a/code/backend_reconnaissance/audio_detector.py b/code/backend_reconnaissance/audio_detector.py index 9b23c89..f767274 100644 --- a/code/backend_reconnaissance/audio_detector.py +++ b/code/backend_reconnaissance/audio_detector.py @@ -1,18 +1,11 @@ import librosa import os import numpy as np -import math -from scipy.io import wavfile -import wave -from scipy.fftpack import fft,dct -import time - -from matplotlib.patches import ConnectionPatch -import matplotlib.pyplot as plt -import numpy as np import scipy.spatial.distance as dist import pyaudio import wave +import json + def dp(distmat): N,M = distmat.shape # Initialisons the cost matrix @@ -35,91 +28,29 @@ def dp(distmat): #enlever les valeurs de l infini costmat = costmat[1: , 1:] return (costmat, costmat[-1, -1]/(N+M)) +def calculate_mfcc(audio, sr): + # Define parameters for MFCC calculation + n_mfcc = 13 + n_fft = 2048 + hop_length = 512 + fmin = 0 + fmax = sr/2 -def divsignalaudiobis(signal): - long_signal = 20 # 20 ms - recouvrement = 10 # 10 ms - long_echantillon = long_signal*sr//1000 - recouvrement_echantillon = recouvrement*sr//1000 - nb_echantillon = int(np.ceil((len(signal) - long_echantillon)/recouvrement_echantillon) + 1) - long_a_completer = recouvrement_echantillon*(nb_echantillon -1) + long_echantillon - len(signal) - - if (long_a_completer != 0): - echantillon_data = np.pad(signal,(0,long_a_completer),mode='constant') # on complète le dernier échantillon par des 0 - - else : - nb_echantillon -= 1 - - echantillon_data = np.append(echantillon_data[0], echantillon_data[1:]) - data = np.zeros((nb_echantillon, long_echantillon)) - for i in range(nb_echantillon): - echantillon_i = echantillon_data[i*recouvrement_echantillon : i*recouvrement_echantillon + long_echantillon] - data[i,:] = echantillon_i - return data - - -def myfft(signal, fe): - n= len(signal) - Te = 1/fe - S = [0 + 0j]*(450) - for l in range(50, 500): - f = l - for i in range (n): - t= Te * i - S[l-50] += signal[i]*np.exp(-2*math.pi*f*t*1j) - S[l-50] = abs(S[l-50])/n - return S - -def puissance_spec(signal): - amplitude_fft = np.absolute(signal) - return (amplitude_fft**2)/44100 # long fft = 512 - -def BankFiltre(rate, puis_spec): - freq_min = 20 - freq_max = rate//2 - freq_mel_min = 1000*np.log2(1 +freq_min/1000) - freq_mel_max = 1000*np.log2(1+ freq_max/1000) - nb_filtre = 40 # on prend en général 40 filtres - mel_points = np.linspace(freq_mel_min, freq_mel_max, 42) - hz_points = 1000*(2**(mel_points/1000)-1)# on convertit en hz - - bankf = np.zeros((nb_filtre, int(np.floor(22050 +1)))) - - for m in range(1, nb_filtre +1): # pour chaque filtre, on fait : - f_m_min = int(math.floor(hz_points[m-1])) # point de gauche - f_m = int(math.floor(hz_points[m])) # sommet - f_m_max = int(math.floor(hz_points[m+1])) # point de droite - - for k in range(f_m_min, f_m): - bankf[m - 1, k] = (k - hz_points[m - 1]) / (hz_points[m] - hz_points[m - 1]) - for k in range(f_m, f_m_max): - bankf[m - 1, k] = ((hz_points[m + 1]) - k) / (hz_points[m + 1] - hz_points[m]) - - filter_bank = np.dot(puis_spec,np.transpose(bankf)) # Produit vectoriel/matriciel #ipdb - filter_bank = np.where(filter_bank == 0, np.finfo(float).eps, filter_bank) # attention à 0 dans le log. - return filter_bank - -def mfcc(signal, rate): - data = divsignalaudiobis(signal) - data_fft = np.fft.rfft(data, 44100) - data_puiss = puissance_spec(data_fft) - data_filtre = BankFiltre(rate, data_puiss) - pre_mfcc = np.log(data_filtre) - mfcc = dct(pre_mfcc, type=2, axis=1, norm="ortho")[:, 0 : 13] # on ne garde que les 13 premiers - #return mfcc - return mfcc + # Calculate MFCCs + mfccs = librosa.feature.mfcc(y=audio, sr=sr, n_mfcc=n_mfcc, n_fft=n_fft, hop_length=hop_length, fmin=fmin, fmax=fmax) + return mfccs.T def calculate_dtw_cost(mfccs_query , mfccs_train): distmat = dist.cdist(mfccs_query, mfccs_train,"cosine") costmat,mincost = dp(distmat) return mincost def recognize_speech(audio_query, audio_train_list, sr):#sr frequence d echantillonnage # Calculate MFCCs for query audio - mfccs_query = mfcc(audio_query, sr) + mfccs_query = calculate_mfcc(audio_query, sr) # Calculate DTW cost for each audio in training data dtw_costs = [] for audio_train in audio_train_list: - mfccs_train = mfcc(audio_train, sr) + mfccs_train = calculate_mfcc(audio_train, sr) mincost = calculate_dtw_cost(mfccs_query, mfccs_train) dtw_costs.append(mincost) @@ -129,8 +60,6 @@ def recognize_speech(audio_query, audio_train_list, sr):#sr frequence d echantil # Return recognized word return index -# Example usage - def record_audio(filename, duration, sr): chunk = 1024 sample_format = pyaudio.paInt16 @@ -159,6 +88,7 @@ def record_audio(filename, duration, sr): p.terminate() + print("Enregistrement terminé") wf = wave.open(filename, "wb") @@ -181,13 +111,27 @@ def coupe_silence(signal): else : p = p+1 +def init_database(): + data_dir = "audio_data/" + words = [] + files = [] + for word in os.listdir(data_dir): + if not os.path.isfile(os.path.join(data_dir, word)): + for file in os.listdir(os.path.join(data_dir,word)): + if os.path.isfile(os.path.join(data_dir, word,file)): + print(word,os.path.join(data_dir, word,file)) + words.append(word) + files.append(os.path.join(data_dir, word,file)) + return words,files + +def get_word_metadata(word): + with open("audio_data/metadata.json") as f: + data = json.loads(f.read()) + return data[word] + #Todo : detecte si pas de note donnée def get_grade(): - ######## TEST DEBUG ######## - time.sleep(6) - return 5 - - + return 4 sr = 44100 # fréquence d'échantillonnage duration = 6 # durée d'enregistrement en secondes filename = "recording" # nom du fichier à enregistrer @@ -195,14 +139,8 @@ def get_grade(): record_audio(filename, duration, sr) audio_query, sr = librosa.load(f'{filename}.wav', sr=sr) coupe_silence(audio_query) - training_file_names = [] - for path in os.listdir(data_dir): - if os.path.isfile(os.path.join(data_dir, path)): - training_file_names.append(data_dir + path) - print(training_file_names) - audio_train_list = [librosa.load(file, sr=sr)[0] for file in training_file_names] + words, files = init_database() + audio_train_list = [librosa.load(file, sr=sr)[0] for file in files] recognized_word_index = recognize_speech(audio_query, audio_train_list, sr) - print(f'Recognized word: {recognized_word_index}') - return recognized_word_index - -print(get_grade()) \ No newline at end of file + recognized_word = words[recognized_word_index] + return get_word_metadata(recognized_word) \ No newline at end of file diff --git a/code/backend_reconnaissance/hand_detector.py b/code/backend_reconnaissance/hand_detector.py index 0817afd..4010cbe 100644 --- a/code/backend_reconnaissance/hand_detector.py +++ b/code/backend_reconnaissance/hand_detector.py @@ -18,7 +18,8 @@ class HandDetector(): self.resultBuffer = [] - + def reset(self): + self.resultBuffer = [] def reconnaissancePouce(self,handLandmarks): etatDuPouce=["neutre","thumbs_down","thumbs_up"] @@ -28,7 +29,7 @@ class HandDetector(): V1=[handLandmarks[(4*cpt)+6][0]-handLandmarks[(4*cpt)+5][0],handLandmarks[(4*cpt)+6][1]-handLandmarks[(4*cpt)+5][1]] V2=[handLandmarks[(4*cpt)+8][0]-handLandmarks[(4*cpt)+6][0],handLandmarks[(4*cpt)+8][1]-handLandmarks[(4*cpt)+6][1]] j=np.dot(V1,V2) - if (j>0): + if (j>0.005): return etatDuPouce[0] V1=[handLandmarks[4][0]-handLandmarks[1][0],handLandmarks[4][1]-handLandmarks[1][1]] V2=[handLandmarks[2][0]-handLandmarks[1][0],handLandmarks[2][1]-handLandmarks[1][1]] @@ -52,14 +53,28 @@ class HandDetector(): image.flags.writeable = False results = self.hands.process(image) # print(results) - handLandmarks = [] if results.multi_hand_landmarks: + handsPositions = [] for hand_landmarks in results.multi_hand_landmarks: + handLandmarks = [] # Fill list with x and y positions of each landmark for landmarks in hand_landmarks.landmark: handLandmarks.append([landmarks.x, landmarks.y]) - - thumbState = self.reconnaissancePouce(handLandmarks) + #On ajoute la position de chaque mains a une liste + handsPositions.append(self.reconnaissancePouce(handLandmarks)) + + #On calcule le résultat suivant la position des deux mains + if(len(handsPositions) == 2): + if(handsPositions[0] == handsPositions[1]): + thumbState = handsPositions[0] + elif(handsPositions[0] == "neutre"): + thumbState = handsPositions[1] + elif(handsPositions[1] == "neutre"): + thumbState = handsPositions[0] + else: + thumbState = "neutre" + else: + thumbState = handsPositions[0] self.resultBuffer.append(thumbState) if(len(self.resultBuffer) > self.BUFFER_LENGTH): diff --git a/code/backend_reconnaissance/manager.py b/code/backend_reconnaissance/manager.py index 6333139..62da53a 100644 --- a/code/backend_reconnaissance/manager.py +++ b/code/backend_reconnaissance/manager.py @@ -13,11 +13,15 @@ class Manager(): "notes_autres": {} } + self.TIMEOUT_CAMERA = 5 + self.avis = self.defualtAvis self.server = WebsocketServer(None) self.server.start() self.handDetector = HandDetector() self.api = ApiClient() + self.timeLastChange = time.time() + self.isLastHandPacketEmpty = False print("Backend ready") #Boucle principale @@ -38,34 +42,51 @@ class Manager(): res = self.handDetector.detect() if(res != False): self.state = 1 + self.timeLastChange = time.time() self.server.sendMessage({"type": "state", "state": 1}) #Envoie la position de la main a l'écran et passe a l'étape suivante si une main est detectée pendant assez longtemps def camera(self): + if(time.time() - self.timeLastChange > self.TIMEOUT_CAMERA): + self.server.sendMessage({"type":"reset"}) + self.reset() + return + res = self.handDetector.detect() if(res != False): state, coords, size, finalDecision = res self.server.sendMessage({"type": "effects", "effects": [{"type": state, "x":coords[0], "y": coords[1], "width": size, "height": size}]}) + self.isLastHandPacketEmpty = False if(finalDecision != False): self.avis["note"] = 10 if finalDecision == "thumbs_up" else 0 self.state = 2 + self.timeLastChange = time.time() self.server.sendMessage({"type": "state", "state": 2}) + elif self.isLastHandPacketEmpty == False: + self.server.sendMessage({"type":"effects","effects":[]}) + self.isLastHandPacketEmpty = True def audio(self): - grade = get_grade() - if(grade != False): - self.server.sendMessage({"type":"new_grade","grade":grade}) - self.avis["notes_autres"]["test"] = grade + result = get_grade() + if(result != False): + self.server.sendMessage({"type":"new_grade","word":result["display"]}) + self.avis["notes_autres"]["test"] = result["grade"] time.sleep(3) self.state = 3 + self.timeLastChange = time.time() self.server.sendMessage({"type": "state", "state": 3}) def thankYou(self): time.sleep(10) print("Reseting...") - self.state = 0 + self.timeLastChange = time.time() self.server.sendMessage({"type": "state", "state": 0}) res = self.api.send(self.avis["note"],self.avis["notes_autres"]["test"]) print(res.text) - self.avis = self.defualtAvis + self.reset() + + def reset(self): + self.state = 0 + self.avis = self.defualtAvis + self.handDetector.reset() diff --git a/code/backend_reconnaissance/recording.wav b/code/backend_reconnaissance/recording.wav index 54cb2a8..5d5625a 100644 Binary files a/code/backend_reconnaissance/recording.wav and b/code/backend_reconnaissance/recording.wav differ diff --git a/code/docker-compose.yaml b/code/docker-compose.yaml index 380dc81..6bb99b4 100644 --- a/code/docker-compose.yaml +++ b/code/docker-compose.yaml @@ -91,11 +91,15 @@ services: restart: always devices: - /dev/video3:/dev/video0 + # volumes: + # - /run/user/1000/pulse/native:/run/user/1000/pulse/native environment: - PORT=5000 - HOST=backend_reconnaissance - API_HOST=reviews_api - API_PORT=8080 + # - PULSE_SERVER=unix:/run/user/1000/pulse/native + user: 1000:1000 ports: #Ce container est le serveur websocker dont le client est l'interface de la borne qui tourne dans le navigateur - 5000:5000 diff --git a/code/interface_borne/assets/js/audio_page.js b/code/interface_borne/assets/js/audio_page.js index eaf8c59..6da88e2 100644 --- a/code/interface_borne/assets/js/audio_page.js +++ b/code/interface_borne/assets/js/audio_page.js @@ -15,4 +15,8 @@ class AudioPage { document.getElementById("grade").innerHTML = grade.toString(); } } + + reset() { + document.getElementById("grade").innerHTML = ""; + } } \ No newline at end of file diff --git a/code/interface_borne/assets/js/camera_page.js b/code/interface_borne/assets/js/camera_page.js index 9bdd61c..876ec7f 100644 --- a/code/interface_borne/assets/js/camera_page.js +++ b/code/interface_borne/assets/js/camera_page.js @@ -146,4 +146,8 @@ class CameraPage { setEffects(effects) { this.activeEffects = effects; } + + reset() { + this.activeEffects = []; + } } \ No newline at end of file diff --git a/code/interface_borne/assets/js/network.js b/code/interface_borne/assets/js/network.js index 73bb954..90c95b2 100644 --- a/code/interface_borne/assets/js/network.js +++ b/code/interface_borne/assets/js/network.js @@ -1,5 +1,5 @@ class WebsocketClient { - constructor(onNewEffects, onNewState, onNewGrade) { + constructor(onNewEffects, onNewState, onNewGrade, onReset) { this.socket = new WebSocket("ws://localhost:5000"); this.socket.addEventListener("open", (event) => { this.socket.send("connected"); @@ -14,6 +14,8 @@ class WebsocketClient { onNewState(msg.state); }else if(msg.type == "new_grade") { onNewGrade(Number(msg.grade)); + }else if(msg.type == "reset") { + onReset(); } }; } diff --git a/code/interface_borne/assets/js/state_manager.js b/code/interface_borne/assets/js/state_manager.js index 3145f88..9ab68b8 100644 --- a/code/interface_borne/assets/js/state_manager.js +++ b/code/interface_borne/assets/js/state_manager.js @@ -19,7 +19,8 @@ class StateManager { this._cameraPage.setEffects(effects) }, (state) => this.setState(state), - (grade) => this._audioPage.setGrade(grade) + (grade) => this._audioPage.setGrade(grade), + () => this.reset(), ); this._sleepingPage.enabled = true; @@ -48,4 +49,15 @@ class StateManager { this._state = newState; } } + + reset() { + this._state = 0; + this._cameraPage.enabled = false; + this._audioPage.enabled = false; + this._thankYouPage.enabled = false; + this._audioPage.reset(); + this._cameraPage.reset(); + this._sleepingPage.enabled = true; + + } } \ No newline at end of file diff --git a/recording.wav b/recording.wav new file mode 100644 index 0000000..72726c0 Binary files /dev/null and b/recording.wav differ