Archives de catégorie : module: audio et langage

Module : Synthèse sonore FM

Titre du module : Synthèse FM
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)
Descriptif
 La synthèse sonore regroupe un ensemble de procédés numériques et d’algorithmes destinés à produire des sons. Ces sons peuvent être environnementaux, comme par exemple dans le cas des jeux vidéo (vent, bruits lors de contacts ou d’interaction avec des objets, bruits d’ambiance tels que les chants d’oiseaux…) ou musicaux.La synthèse par modulation de fréquence (FM) s’appuie sur le principe de la modulation de fréquence, c’est à dire de phase, utilisé en transmission des signaux radiofréquences est transposé pour produire des spectres riches, contrôlables très aisément. En cascadant simplement deux oscillateurs sinusoïdaux contrôlés en fréquence, on produit une configuration élémentaire de synthèse FM.En transmission radio, la modulation de fréquence utilise une porteuse fp à haute fréquence (typiquement quelques dizaines de MHz), c’est à dire un signal sinusoïdal, dont la fréquence est modulée par un signal audio avec une bande n’excédant pas 20 kHz. Le résultat est un signal dont le spectre est centré sur la porteuse avec
un étalement très faible comparativement à celle-ci. L’idée présentée dans l’article original de J. Chowning est d’utiliser le même principe mais avec des fréquences porteuse et modulante du même ordre de grandeur.
Ressources dont le module dépend
Exemples d’utilisation du module
  • dans des composants pact :
    • synthèse sonore
  • dans des systèmes existants :
    • le synthétiseur culte DX7 de Yamaha
    • la série des chips OPL de Yamaha
Résultats attendus
  • connaissances : synthèse sonore, fréquence instantanée, phase instantanée, Index de modulation, synthèse FM
  • compétence : savoir expliquer la relation entre fréquence et phase instantanée, savoir expliquer comment le spectre varie avec l’index de modulation, savoir proposer des systèmes de synthèse FM pour les sons de cuivres, de bois ou pour des sons inharmoniques
  • livrable 1 : notice descriptive précise (principe général et systèmes mis en oeuvre, choix et réglages des paramètres) contenant le pseudo-code à mettre en oeuvre
  • livrable 2 : code java commenté et structuré de manière à être lisible.
  • livrable 3 : Démonstration raisonnée
    • reproduire à l’aide de votre code java un exemple simple a deux oscillateurs tel que vous pouvez le tester avec FM Dreams,
    • mettre en évidence l’influence de l’index de modulation sur l’enrichissement du spectre

Date de début : x Date de fin : x + 9h programmées

Signatures :

Module : Banc de filtres

Titre du module : Banc de filtres
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)
Descriptif
Un signal audio comprend des composantes fréquentielles perceptibles allant de 20Hz à 20kHz. Dans de nombreux traitements, il est utile de se concentrer sélectivement sur des gammes de fréquences plus restreintes. Par exemple 100Hz à 300Hz. L’opération linéaire qui consiste à extraire sélectivement les composantes fréquentielle dans cette gamme restreinte à partir du signal original est un filtrage passe-bande de bande utile 100-300Hz. Lorsque cette opération de filtrage est effectuée en parallèle plusieurs fois pour des gammes (ou bandes) de fréquences distinctes comme par exemple : 0-200 / 200-500 / 500-1000 etc, on obtient autant de signaux extraits que de bandes et on parle de banc de filtres. Un schéma d’exemple est donné ci-dessous :Pour réaliser cette fonctionnalité, 3 possibilités  : par filtrages à RIF (Réponse Impulsionnelle Finie), par filtrages à RII (Réponse Impulsionnelle Infinie) ou à l’aide de la TFCT (Transformée de Fourier à Court Terme). Les deux premières renvoient aux modules correspondants.
Ressources dont le module dépend
  • wikipédia : filterbank, spectrogram, filter, cours oasis (SI101) filtrage
  • bibliothèques JAVA à mettre en oeuvre : math common api
Exemples d’utilisation du module
  • dans des composants pact :
    • dans la détection du rythme
    • pour fabriquer un égaliseur
  • dans des systèmes existants :
    • codage audio (mp3, aac)
    • en conversion de cadence (changement de fréquence d’échantillonnage)
    • jpeg2000 en image
    • éditeurs audio
Résultats attendus
  • connaissances : convolution discrète, filtrage, réponse impulsionnelle, réponse en fréquence, RII, RIF, banc de filtres, TFCT, spectrogramme, canal fréquentiel, bande de fréquences, sous-bande.
  • compétence : expliquer pourquoi la TFCT est équivalente à un banc de filtres, savoir justifier des choix de paramètres (nombre de bandes,  choix de fenêtre, hopsize), savoir expliquer les caractéristiques d’un spectrogramme de signal audio.
  • PAN 2 : notice descriptive précise (choix de paramètres, justifications des choix, description mathématique, description informatique) contenant le pseudo-code à mettre en oeuvre, et une première implémentation en matlab/octave sour forme de fonction.
    Constitution d’une collection de signaux test à différents tempo, au format wav pour tester les algorithmes. Il s’agira à la fois de signaux de type horloge et de signaux réalistes (musicaux ou adaptés à votre projet).
  • PAN3 :
    • code java commenté et structuré de manière à être lisible.
    • tests du banc de filtre :
      • sur un bruit blanc : afficher le spectre en entrée et les spectres des signaux de sortie,
      • sur des signaux de votre choix, enregistrer en format wav les sorties obtenues pour chaque voie du banc de filtre

Module : Descripteurs audio MFCC

Module: descripteurs audio MFCC
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)
Descriptif
Le Cepstre d’un signal audio est une représentation qui permet de caractériser le timbredu son associé. Il s’obtient comme la transformée de Fourier inverse du logarithme du spectre d’amplitude du signal.Dans la plupart des systèmes de classification audio (cf rubrique classification), on exploite des caractéristiques calculées à partir du Cepstre : les MFCC (Mel Frequency Cepstral Coefficients). Il s’agit d’une variante de coefficients cepstraux qui exploite un modèle simple d’audition humaine et qui s’avère très efficace dans la plupart des problèmes de classification.
Ressources dont le module dépend
Exemples d’utilisation du module
  • dans un système de reconnaissance des instruments de musique,
  • de classification de musique en genres (classique, jazz, pop, etc.) ou en humeurs, (joyeux, triste, etc.),
  • de classification de sons en catégories générales (parole, musique, silence, sons environnementaux).
Résultats attendus
  • connaissances : calcul du Cepstre réel, fréquences Mel, calcul des MFCC
  • compétence :  à l’issue de ce module vous aurez  écrit en Java un programme qui charge des signaux audio et retourne une séquence de vecteurs MFCC (extraits sur des fenêtres d’analyse à court terme)
  • livrable 1: pseudo-code
  • livrable 2: code java + test de comparaison des MFCC obtenus par le programme développé à ceux calculés avec un autre programme (Matlab) de référence.
Volume
  • 4TH programmées pour un binôme

Module : Classification automatique

Contacts experts : 

Michel Roux (at telecom-paristech.fr)

Introduction :

La classification automatique vise à assigner des objets à des catégories ou classes. Dans PACT, ces objets peuvent être des images, des vidéos, des sons, des textes, etc. Ces classes peuvent être connues à l’avance ou non, on parle alors de classification supervisée ou non supervisée. Par exemple, lorsqu’on analyse un contenu sonore, on peut vouloir automatiquement assigner les sons à des classes telles que celles qui apparaissent sur la figure 1.

Classes sonores
Figure 1 – Exemple de schéma classification audio général

Le principe général des systèmes de classification supervisée (cf. figure 2) inclut deux étapes:

  • une étape d’apprentissage qui peut être vue comme une phase de développement aboutissant à la mise en oeuvre d’une stratégie de classification;
  • une étape de test par laquelle les performances du système de classification sont évaluées.

En général, un système n’est prêt pour une utilisation réelle qu’après une succession d’étapes d’apprentissage et de test permettant de mettre en place une stratégie de classification efficace.

Système de classification
Figure 2 – Architecture générale d’un système de classification (traitant dans cet exemple des signaux audio)

La phase d’apprentissage comprend:

  • l’extraction à partir d’une base de données de référence appelée base d’apprentissage, de descripteurs sous forme de paramètres numériques. Ces paramètres qui sont aussi appelés attributs ou caractéristiques (features en anglais) sont sensés caractériser des propriétés des signaux pouvant révéler leur appartenance à l’une des classes envisagées.
  • La sélection d’attributs efficaces; en pratique un nombre élevé de descripteurs « candidats » qui ne servent pas tous les performances de classification est considéré, il est alors intéressant d’avoir recours à des techniques permettant de retenir un sous-ensemble d’attributs (de plus petite taille) qui garantisse les meilleurs résultats de classification.
  • L’apprentissage à partir des attributs sélectionnés de fonctions de classification ou fonctions de décision, lesquelles fonctions serviront à assigner des observations d’attributs de nouveaux exemples (de test) à l’une des classes possibles.

Lors de l’étape de test il n’est nécessaire d’extraire des signaux que les attributs qui ont été retenus et de décider de l’appartenance de ces signaux aux classes possibles en utilisant les fonctions de décisions apprises.

Dans PACT deux modules de classification particuliers vous sont proposés : les kPPV et Adaboost.

Il existe de nombreux autres classificateurs (supervisés ou non). Différentes UE du cycle master vous sont proposées pour les découvrir, en particulier SI221 (Laurence Likforman) ou MDI343 (Stéphan Clémençon).

Bibliographie :

Il existe de nombreux ouvrages de référence. Pour une introduction vous pouvez consulter  Pattern classification ou Pattern Recognition

Module : Filtrage à réponse impulsionnelle finie

Titre du module : Filtrage RIF de données
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)
Descriptif
A l’aide d’une somme pondérée de N échantillons d’entrée, il est possible de réaliser un filtrage de ces mêmes données. Ceci permet par exemple de renforcer les graves dans un morceau de musique, d’isoler une bande de fréquence données ou même de simuler l’opération de différentiation.
Ressources dont le module dépend
Exemples d’utilisation du module
  • dans les composants pact :
    • banc de filtres
    • détection d’enveloppe
    •  préaccentuation
    • dérivateur
  • dans des applications  :
    • convertisseur de fréquence d’échantillonnage
    • égaliseur
    • démodulation numérique
Résultats attendus
  • connaissances : convolution, réponse impulsionnelle, réponse en fréquence, filtrage, RIF vs RII, équation aux différences, passe-bas/haut/bande, transformée de Fourier, transitoire, retard
  • compétence : être capable de réaliser en java un filtre à RIF dont on connais les coefficients, être capable de prévoir théoriquement son comportement par le calcul, être capable de démontrer son fonctionnement à l’aide d’exemples bien choisis
  • livrable : pseudo-code du filtrage à RIF, programmation de ce pseudo-code en java, programmation d’un test avec affichage graphique des spectres entrée/sortie.

Bibliographie : Synthèse et Reconnaissance de la parole

Contact:

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)

Descriptif

Cette page donne quelques liens vers des documents en synthèse et reconnaissance de la parole.

Présentation succincte sur la synthèse et Reconnaissance de la parole

Traitement de la parole

  • R. Boite, H. Bourlard, T. Dutoit, J. Hancq, and H. Leich. Traitement de la parole. Presses polytechniques et universitaires romandes,Lausanne, 2000.
  • Calliope, « La parole et son Traitement Automatique, 1989
  • J. Benesty, M. Sondhi, Y. Huang, « Handbook of Speech Processing », Springer, 2008 (1176 pages !!)
  • G. Richard, « traitement de la parole », polycopié Télécom ParisTech

Reconnaissance de la parole

Synthèse de la parole

Travaux pratiques (cycle master) qui peuvent être utiles