Vous êtes sur la page 1sur 9

ECOLE CENTRALE DE LYON

MOD - Traitement et analyse des


données visuelles et sonores

Préparé par : Encadré par :


Manal Hachhach Mohsen Ardabilian
Youness lhassani
Youness yamini

2022/2023
Sommaire
01. Introduction

02. lire les fichiers audio


afficher leur forme
d’onde
calculer leur matrice des
coefficients LPC
calculer et afficher la
matrice des distances
entre les signaux audio
réaliser la classification
par l'algorithme des k
plus proches voisins

MOD - Traitement et analyse des données visuelles et


sonores
Introduction

Les coefficients LPC (Linear Predictive Coding) sont utilisés pour


paramétrer le signal de parole en analysant les caractéristiques de la
voix, tels que la fréquence, l'intensité et la forme d'onde. Ces
coefficients permettent de réduire les données de l'enregistrement de
la voix à un nombre plus gérable de paramètres pour une analyse
ultérieure.

L'algorithme des k plus proches voisins (k-NN) est un algorithme de


classification utilisé pour identifier des mots individuels. Il fonctionne en
comparant les caractéristiques de l'enregistrement actuel avec celles de
plusieurs exemples précédemment enregistrés de mots individuels. Le
k-NN identifie les k enregistrements les plus similaires dans la base de
données d'exemples et attribue alors la catégorie correspondante à
l'enregistrement actuel.

La distance élastique est une méthode utilisée pour mesurer la


similitude entre les enregistrements. Elle prend en compte les
variations de la longueur des enregistrements, et permet de trouver des
correspondances même si les enregistrements ont des longueurs
différentes.

En résumé, Le TD vise à utiliser les coefficients LPC pour paramétrer les


signaux de parole et ensuite utiliser l'algorithme k-NN basé sur la
distance élastique pour reconnaître des mots isolés à partir de ces
signaux paramétrés. En d'autres termes, le système analysera les
caractéristiques de la voix pour identifier des mots individuels en
comparant les enregistrements avec des exemples précédemment
enregistrés.

MOD - Traitement et analyse des données visuelles et


sonores
Explication du
code

on a utilisé plusieurs bibliothèques pour utiliser différentes


fonctionnalités, notamment la lecture de fichiers audio au format WAV,
la visualisation de données à l'aide de Matplotlib, et des calculs
mathématiques avec NumPy et SciPy. On a définit également une
variable "chemin" qui contient le chemin vers un dossier de données
appelé "spoken_digit_dataset" et une liste de noms "liste_nom" qui
contient quatre noms différents.

cette fonction pour générer des noms de fichiers uniques pour des
enregistrements audio.
afficher leur forme d’onde

MOD - Traitement et analyse des données visuelles et


sonores
On a utilisé une fonction appelée "affichage" qui prend en entrée un
paramètre "chemin", qui est censé être un chemin vers un fichier audio
au format WAV. La fonction utilise la bibliothèque "wavfile" pour lire le
fichier audio à l'aide de la fonction "wav.read(chemin)" et enregistre la
fréquence d'échantillonnage dans la variable "samplerate" et les
données audio dans la variable "data". Ensuite, la fonction calcule la
longueur de l'enregistrement .

calculer leur matrice des coefficients LPC

MOD - Traitement et analyse des données visuelles et


sonores
"calcul_matrice_R" qui prend en entrée une liste "liste" et un entier "N".
La fonction utilise ces entrées pour calculer la matrice de corrélation de
Toeplitz de la liste en utilisant la bibliothèque SciPy.

Après on a définit une fonction appelée "calcul_coeff_lpc_fenetre" qui


prend en entrée une liste de données "data" et un entier "N". La
fonction utilise ces entrées pour calculer les coefficients de l'analyse de
la parole par la méthode de l'analyse linéaire des prédicteurs (LPC).Les
coefficients LPC sont utilisés pour modéliser la réponse impulsionnelle
de la parole et ils sont utilisés pour la synthèse de la parole.

La 3-ème fonction prendre en entrée un taux d'échantillonnage, des


données audio et un ordre pour un modèle, et une taille de fenêtre
optionnelle, et renvoie une matrice de coefficients de codage prédictif
linéaire (LPC). Il calcule d'abord le nombre d'éléments dans la fenêtre
en fonction du taux d'échantillonnage et de la taille de la fenêtre. Il
définit ensuite le décalage de la fenêtre à la moitié du nombre
d'éléments dans la fenêtre. Il parcourt ensuite les données audio avec
un pas de décalage de fenêtre, extrait des segments audio encadrés et
calcule les coefficients LPC pour chaque segment en utilisant la fonction
calcul_coeff_lpc_fenetre. Il ajoute les coefficients LPC pour chaque
segment encadré à une matrice et renvoie la matrice sous forme de
tableau numpy.

MOD - Traitement et analyse des données visuelles et


sonores
L'objectif initial du LPC était de modéliser la production de la voix
humaine. LPC est un modèle source-filtre en ce sens qu'il y a une source
sonore qui passe à travers un filtre. La source, e ( n ), modélise les
cordes vocales, tandis que le filtre résonant, h ( n ), modélise le conduit
vocal.

Le signal résultant est,


X(n)=h(n)∗e(n).

Méthode LPC :
LP est basé sur des modèles de production et de synthèse de la parole
la parole peut être modélisée comme la sortie d'un système linéaire,
variable dans le temps, excité soit par des impulsions quasi-
périodiques, soit par du bruit.
supposer que les paramètres du modèle restent constants sur
l'intervalle d'analyse de la parole
LP fournit une méthode d'estimation des paramètres du système
linéaire (la méthode robuste, fiable et précise qui combine le tractus
vocal, l'impulsion glottale et la caractéristique de rayonnement pour la
parole vocale).
Les méthodes LP ont été utilisées dans la théorie du contrôle et de
l'information - appelées méthodes d'estimation et d'identification des
systèmes - utilisées largement dans le discours sous un groupe de noms
comprenant
1. la méthode de covariance
2. la méthode d'autocorrélation
3. la méthode du treillis
4. la formulation du filtre inverse
5. la formulation de l'estimation spectrale
6. la méthode du maximum de vraisemblance
7. la méthode du produit interne

MOD - Traitement et analyse des données visuelles et


sonores
calculer et afficher la matrice des distances entre les signaux audio

MOD - Traitement et analyse des données visuelles et


sonores
cette fonction semble calculer la distance élément à élément entre deux
matrices de coefficients LPC, matrice_lpc_1 et matrice_lpc_2. Il considère
la matrice 1 en colonne et la matrice 2 en ligne et calcule la distance
euclidienne entre chaque vecteur colonne des deux matrices. Il stocke
ces distances dans une matrice de distances qui est retournée en fin de
fonction. Il utilise une double boucle pour parcourir tous les éléments
des deux matrices, calcule la distance entre chaque élément en utilisant
la formule de distance euclidienne, et stocke cette distance dans la
matrice de distance.

l'autre fonction calcule la distance élastique entre deux matrices de


coefficients LPC, matrice_lpc_1 et matrice_lpc_2. Il calcule d'abord la
distance élément par élément entre les deux matrices à l'aide de la
fonction distance_element_a_element(). Ensuite, il crée une matrice de
distances élastiques et initialise le premier élément avec la distance de
la matrice de distance élément par élément. Il utilise ensuite une
approche de programmation dynamique, en parcourant chaque
élément des matrices et pour chaque élément, il trouve la distance
minimale des éléments voisins (haut, gauche et diagonale) en
considérant le coût des déplacements verticaux, horizontaux et
diagonaux. Enfin, il renvoie le dernier élément de la matrice de distance
élastique divisé par la somme du nombre d'éléments des deux
matrices.
La distance élastique (également connue sous le nom de décalage
temporel dynamique (DTW)) est une méthode de comparaison de deux
signaux de séries temporelles qui ne sont pas parfaitement alignés dans
le temps. Contrairement à la distance euclidienne, qui repose sur
l'hypothèse que les deux signaux ont le même axe temporel, DTW
permet un alignement non linéaire des axes temporels des deux
signaux. Le but de DTW est de trouver l'alignement optimal entre les
deux signaux en étirant ou en comprimant l'axe temporel d'un signal
pour minimiser la distance entre les deux signaux. Cela se fait en
considérant le coût de l'appariement de chaque point dans un signal à
un point dans l'autre signal. La distance finale entre les deux signaux
est le coût cumulatif minimum de l'appariement de tous les points dans
un signal à l'autre signal.

MOD - Traitement et analyse des données visuelles et


sonores

Vous aimerez peut-être aussi