Tous les articles par Jean-Claude Dufourd

jcd

Module : Reconnaissance vocale simple

Titre du module : Reconnaissance vocale
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Mathieu Labeau (mathieu.labeau_at_telecom-paristech.fr)

 

Descriptif
Ce module permet de construire un système simple de reconnaissance de la parole d’une dizaine de mots. Il repose sur les modules « descripteurs audio MFCC » et « Programmation dynamique pour la reconnaissance de parole par DTW » qui seront réalisés au préalable.

 

Ressources dont le module dépend

 

Exemples d’utilisation du module
  • Pour faire une interface homme-machine naturelle de style « commande vocale ».

 

Résultats attendus
  • connaissances :  Compréhension des modules « descripteurs audio MFCC » et « Programmation dynamique pour la reconnaissance de parole par DTW,
  • compétence :  Savoir réaliser un système simple de reconnaissance voacle mono locuteur, savoir le rendre plus robuste aux variations de prononciations et aux différents locuteurs
  • livrable 1 : notice descriptive précise (choix de paramètres, justifications des choix, description mathématique, description informatique) contenant le pseudo-code à mettre en oeuvre
  • livrable 2 : code java commenté et structuré de manière à être lisible.
  • livrable 3 : tests du système de reconnaissance sur une base de 10 répétitions de 10 chiffres (base fournie); test du système de reconnaissance avec vocabulaire défini pour le projet

Volume

  • 7 TH programmées pour un binôme

Signatures :

Module : Mise en oeuvre d’une interface Web par PHP, node.js ou python/flask

Module: Mise en oeuvre d’une interface Web par PHP ou node.js ou python/flask
proposé par :

  • Jean-Claude Dufourd (dufourd_at_telecom-paris.fr, 9691, dufourd_at_telecom-paris.fr)
Descriptif
Le JavaServer Pages ou JSP est une technique basée sur Java qui permet aux développeurs de créer dynamiquement du code HTML, XML ou tout autre type de page web. Cette technique permet au code Java et à certaines actions prédéfinies d’être ajoutés dans un contenu statique.
La syntaxe du JSP ajoute des balises XML, appelées actions JSP, qui peuvent être utilisées pour appeler des fonctions.
Les JSP sont compilées par un compilateur JSP pour devenir des servlets Java. Pour ceux qui connaissent PHP, on peut dire que les Java Server Pages (JSP), c’est PHP en Java.
Le module consiste à concevoir et à mettre en oeuvre une interface web avec des JSP, utilisant un serveur open source comme Tomcat.Ou alors à faire du PHP, mais seulement si vous savez déjà l’utiliser.
Ressources dont le module dépend
Exemples d’utilisation du module
  • faire une interface web évolutive en fonction des données
Résultats attendus
  • livrable 1: installer Tomcat sur une machine du groupe, et créer deux JSPs dont l’une affiche la date et l’heure, la seconde cherche trois images (differentes à chaque exécution) sur le web et les affiche.
  • livrable 2: créer une page de consultation d’une recette de cuisine stockée dans un format fixe (pur texte) à définir.
  • livrable 3: créer un système de compte utilisateur avec inscription d’un utilisateur, envoi d’un email de vérification, validation du compte quand l’utilisateur clique sur le lien dans l’email, une page de changement de mot de passe + consultation des caractéristiques du compte.
  • livrable 4: créer une interface de gestion des comptes utilisateurs, permettant de chercher un utilisateur, le modifier, le détruire.

Module : Estimation de périodicité / hauteur

Titre du module : Estimation de périodicité / hauteur
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)
Descriptif
Dans la nature et dans un contexte musical, on rencontre de nombreux signaux périodiques ou quasi-périodiques. Les phonèmes voisés, les chants d’oiseaux ou encore les phénomènes saisonniers tels les émissions de CO2 sont des exemples de tels signaux.Dans des applications comme l’estimation du tempo, la transcription automatique de musique ou le codage de la parole, il est nécessaire d’estimer la période de ce type de signal ou son inverse, la fréquence fondamentale.Dans ce module, 2 possibilités sont proposées :

  • l’estimation de période à l’aide de l’autocovariance, qui s’appuie sur une analyse temporelle du signal,
  • une estimation de fréquence fondamentale qui utilise une représentation spectrale du signal par transformée de Fourier : la somme spectrale ou le produit spectral.
Ressources dont le module dépend
Exemples d’utilisation du module
  • dans des composants pact :
    • détection de hauteur
    • détection du rythme
  • dans des systèmes existants :
    • logiciels d’analyse de la voix (ex : PRAAT)
    • codeurs
Résultats attendus
  • connaissances : autocovariance, fréquence fondamentale, spectre de signaux quasi-périodiques, transformée de Fourier
  • compétence : savoir lire la fréquence fondamentale sur un spectre ou un spectrogramme de signal, savoir expliquer le principe de l’estimation par autocovariance ou par somme/produit spectral
  • PAN2 : Apprentissage des bases de traitement signal nécessaires. Pour une des méthodes (ex: autocovariance) 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.  Définition et enregistrement d’un corpus de test.
  • PAN3 : Implémentation matlab/octave et test sur le corpus. Code java correspondant  commenté et structuré de manière à être lisible. Test unitaire du code JAVA pour vérifier le fonctionnement par comparaison avec le code matlab validé. Mesure des performances sur données de test.
  • PAN4 : amélioration et/ou mise en place d’une autre méthode avec même protocole de test

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

Revue planification du 15-11-2010

Deux points importants dans cet article.

1-organisation des revues
l’organisation générale des revues est données sur la page https://pact.wp.imt.fr/dispositif/revues/revues-de-genie-logiciel/

Les salles et les heures de passage pour demain sont les suivantes :

Amphi Jade : Patrick Bellot
8h30- 10h : groupes 1-1 et 1-2
10h15 – 11h45 : groupes 1-3 et 1-4

Amphi Grenat : Laurent Pautet
8h30- 10h : groupes 2-1 et 2-2
10h15 – 11h45 : groupes 2-3 et 2-4

ATTENTION groupes 3-1 à 3-4 : James Eagan est absent ce jeudi. Votre revue aura lieu le Lundi 19/11.

Amphi Emeraude : Etienne Borde
8h30- 10h : groupes 4-1 et 4-2
10h15 – 11h45 : groupes 4-3 et 4-4

Amphi B312 : Rémi Sharrok
8h30- 10h : groupes 5-1 et 5-2
10h15 – 11h45 : groupes 5-3 et 5-4

2-Impératif : envoyer vos documents préalables, tel que précisés ici, a **votre encadrant GL** et à **votre tuteur**

Merci à tous d’être a l’heure (arriver 5′ en avance sur votre horaire est une bonne politique et les retards/absences seront pris en note).

Organisation des revues

Le menu Dispositif de PACT a été modifié.
La partie Revues inclut désormais l’Organisation détaillée (encadrant, groupes, etc).

Une revue se découpe en 20 minutes de présentation, les documents préparatoires ayant été envoyés à l’avance, et en 20 minutes de questions / réponses.

Les revues sont programmées comme suit :

  • Revue Planification le 15/11 de 08h30 à 11h30
  • Revue Analyse le 26/11 de 15h15 à 18h15
  • Revue Spécification le 03/01 de 08h30 à 11h30
  • Revue Implémentation le 15/01 de 08h30 à 11h30
  • Revue Intégration le 05/02 de 13h30 à 16h30

Les groupes de 1.1 à 1.4 sont encadrés par Patrick Bellot
Les groupes de 2.1 à 2.4 sont encadrés par Laurent Pautet
Les groupes de 3.1 à 3.4 sont encadrés par James Eagan
Les groupes de 4.1 à 4.4 sont encadrés par Etienne Borde
Les groupes de 5.1 à 5.4 sont encadrés par Remi Sharrock

Chaque groupe passe seul dans une salle avec son encadrant. La présence du tuteur n’est pas souhaitable. Le groupe d’élèves doit pouvoir présenter l’avancement de son projet de manière autonome.

Le groupe X.1 passe de 08h30 à 09h15
Le groupe X.2 passe de 09h15 à 10h00
Le groupe X.3 passe de 10h00 à 10h45
Le groupe X.4 passe de 10h45 à 11h30

Lorsqu’un groupe présente sa revue, les autres groupes se trouvent dans une autre salle soit pour peaufiner leur revue à venir, soit pour finaliser les discussions de la revue passée. Les différentes salles sont disponibles dans l’emploi du temps de EOLE. Naturellement, comme 2 groupes passent en 1 TH, ils sont alors programmés  dans deux salles différentes pendant cette TH.

Pour certaines revues, les encadrants peuvent être indisponibles. Dans ce cas, les revues seront re-programmées au cas par cas.