Module : Spatialisation

Titre du module : Spatialisation
proposé par :

  • ce module n’est plus proposé

 

Descriptif
La spatialisation désigne l’ensemble des techniques permettant de proposer à un auditeur une perception spatiale des sons. Deux techniques existent:

  1. la technique binaurale dans laquelle l’auditeur écoute au casque les signaux qui ont été mis en forme pour être spatialisés
  2. la technique binaurale dans laquelle l’écoute se fait au travers de deux enceintes ce qui complique le dispositif puisqu’il faut d’une part spatialiser les sons, c’est à dire fabriquer les deux signaux destinés à l’oreille gauche et à l’oreille droite de l’auditeur, d’autre part fabriquer les signaux à émettre sur les enceintes pour que l’auditeur reçoive sur chacune de ses oreille le signal qui lui est destiné.

Le module aura pour objet d’étudier la technique de base binaurale. Cette technique repose sur le concept de HRTF (Head Related Transfer Function): un signal provenant d’un azimuth et une élévation donnée est reçu par un auditeur après un filtrage différent sur son oreille droite et son oreille gauche. Ce filtrage dépend de l’azimuth et de l’élévation et ce sont ces deux filtrages qui permettent à l’auditeur de localiser la source.

 

Ressources dont le module dépend
  • wikipédia : HRTF, Head Related Transfer Function, cours oasis (SI101) filtrage
  • bibliothèques JAVA à mettre en oeuvre : math common api
  • compléments : un cours de 2003 par Gaël Richard, Cours ACOUS, chapitre 6.
  • biblio et slides : sur cette page (cours de Gaël Richard dans le master MVA)

 

Exemples d’utilisation du module
  • dans des composants pact :
    • pour spatialiser des sons
  • dans des systèmes existants :
    • jeux vidéo
    • logiciels de mixage audio
Résultats attendus
  • connaissances : filtrage RIF, HRTF
  • compétence : savoir utiliser une base de HRTF (exemples: la base LISTEN de l’IRCAM ou la base CIPIC)
  • PAN 2 : notice descriptive précise, un exemple de mise en œuvre, éventuellement implémenté en matlab/octave sous forme de fonction.
  • PAN3 :
    • code java commenté et structuré de manière à être lisible.
    • tests de la fonction de spatialisation sur quelques sons spatialisés
    • évaluation de la capacité à percevoir la distance et pas seulement la direction de la source
  • PAN 4 (éventuel) :
    • assurer la restitution en temps réel d’une source avec la position de l’auditeur qui évolue.

PAN2: Dates et heures

Le deuxième PAN a lieu le 20 Janvier de 8h30 à 11h45.

Votre rapport d’avancement doit être mis à jour en tenant compte des remarques de votre jury suite au PAN1 et en suivant les consignes du modèle donné. Vous aurez rendu ce rapport  à M. Guillaume Duc au plus tard le dimanche 17 janvier à 23h, en PDF par email ayant pour titre « [PACT] Rapport d’avancement PAN 2 groupe x.y ».

L’ordre de passage est:

  • groupe x.2 à 8h30
  • groupe x.3 à 9h15
  • groupe x.4 à 10h15
  • groupe x.1 à 11h00

Les salles sont:

  • jury des 1.* en F601
  • jury des 2.* en F603
  • jury des 3.* en F605
  • jury des 4.* en F609
  • jury des 5.* en F703

Il y a dans chaque jury un membre du copil, un encadrant SES et un encadrant GL (cf liste des encadrants), mais les tuteurs et experts sont encouragés à assister aux soutenances s’ils sont disponibles.

Module: Communication Client Serveur

Contact pour le module :

Jean-Claude Dufourd (at telecom-paris.fr), 5D30
Jean-Claude Moissinac, 5D26

Description du module :

Dans tous les cas où plusieurs entités informatiques discutent entre elles au sein d’un projet, une communication « client-serveur » est mise en oeuvre (même quand les deux entités sont des pairs).

Ce module permet d’explorer les aspects simples de la communication entre deux programmes et/ou entre deux machines par le réseau, avec pas mal d’options:

  • communication entre deux programmes Java tournant sur la même machine
  • les options ci-dessus entre deux PC différents, ou entre un appareil Androïd et un PC, ou entre deux appareils Androïd
  • les options ci-dessus avec plus de 2 entités communicantes
  • les options ci-dessus utilisant Internet/Wifi ou bluetooth
  • une communication simple commande/réponse en texte
  • une communication plus complexe incluant aussi des transferts de ressources
  • une communication à débit plus élevé nécessitant l’utilisation d’un format binaire…

Objectifs du module :

  • Savoir communiquer entre deux programmes tournant sur la même machine ou sur des machines différentes par le réseau.
  • Définir le bon niveau de communication et les éléments du dialogue entre les deux (ou plus) entités.

Livrables envisageables :

En fonction de la complexité du module à réaliser tout ou partie des points suivants pourrait être considéré comme des étapes réaliste de la mise au point de votre application concurrente ou répartie :

  • PAN1 :
    • Ecrire la description de toutes les commandes et de toutes les réponses possibles entre le client et le serveur.
  • PAN2 :
    • Livrable: identification des interface utilisées et des bibliothèques offrant le motif socket + socket server; premier squelette de code réalisant la connexion entre nœuds du réseau.
  • PAN3 :
    • Livrable : code Java / Android réalisant une communication de messages entre les deux nœuds (initialisation de l’interface, formatage et décodage de messages simples).

Ressources :

PAN1: heure et salles

Le premier PAN a lieu le 7 décembre de 8h30 à 11h45.

Vous aurez rendu votre rapport d’avancement, respectant le modèle donné, à M. Guillaume Duc au plus tard le mercredi 2 décembre à 23h, en PDF par email ayant pour titre « [PACT] Rapport d’avancement PAN 1 groupe x.y ».

Après tirage au sort, l’ordre de passage est:

  • groupe x.1 à 8h30
  • groupe x.2 à 9h15
  • groupe x.3 à 10h15
  • groupe x.4 à 11h00

Les salles sont:

  • jury des 1.* en F601
  • jury des 2.* en F603
  • jury des 3.* en F605
  • jury des 4.* en F609
  • jury des 5.* en F703

Il y a dans chaque jury un membre du copil, un encadrant SES et un encadrant GL (cf liste des encadrants), mais les tuteurs et experts sont encouragés à assister aux soutenances s’ils sont disponibles.

Module : Conception et impression 3D

Conception et impression 3D
  • Ulrich Kühne, ulrich.kuhne_at_telecom-paris.fr
Descriptif
ultimaker2

L’arrivée des imprimantes 3D a permis la simplification du processus de prototypage pour les produits industriels. L’impression 3D permet aussi la réduction des coûts pour la fabrication de pièces qui ne sont pas destinées à la production de masse. Parallèlement, la Conception Assistée par Ordinateur (CAO, CAD en anglais) s’est démocratisée avec l’émergence de logiciels gratuits/open source et/ou de logiciels simplifiés destinés à des utilisateurs non spécialistes.

Le processus de création d’une pièce en impression 3D se sépare en 3 étapes :

  • La conception

Il s’agit de créer le modèle 3D de la pièce à réaliser. Le fichier créé est vectoriel, il est donc modifiable ce qui permet d’itérer rapidement entre différentes phases de test.

  • Le « slicing »

Un slicer est un programme qui permet de convertir un fichier 3D généré par le logiciel de CAO en instructions compréhensibles par l’imprimante (le Gcode). L’impression se faisant couche par couche, l’objet est sectionné en tranches. Pour chacune, le code dit où et à quelle vitesse déplacer la buse et quand déposer du plastique.

Les paramètres du slicing dépendent de l’imprimante mais aussi de la qualité d’impression souhaitée. On peut par exemple changer le taux de remplissage en plastique pour obtenir un objet plus robuste ou encore diminuer la taille des tranches pour obtenir une meilleure précision. Ces paramètres influencent grandement le temps d’impression.

  • L’impression

Une fois le code généré, il peut être envoyé sur l’imprimante par connexion USB ou via une carte SD. Au préalable, l’imprimante doit être calibrée et réglée. La planéité du support et la distance entre la buse et la base doivent être précisément réglées. La surface doit être préparée pour maximiser l’adhésion du thermoplastique. La température de chauffe et le diamètre du filament plastique doivent être renseignés.

Ressources

FreeCAD est un outil gratuit, open-source et très complet de CAO. De nombreux tutoriels sont disponibles sur internet. Le wiki de Freecad fournit les bases de l’utilisation du logiciel.

L’imprimante à disposition est une Ultimaker 2 permettant des impressions avec des couches jusqu’à 20 microns d’épaisseur. Cura, est un slicer gratuit et très simple d’utilisation. Un guide assez complet des solutions aux défauts possibles d’impression est disponible ici.

Objectifs Pédagogiques
  • Conception Assistée par Ordinateur : savoir concevoir et modifier un objet 3D réaliste pour l’impression 3D. Savoir intégrer des pièces mécaniques et associer plusieurs pièces imprimées.
  • Slicing : savoir configurer l’étape de slicing en fonction du cahier des charges.
  • Configuration et utilisation de l’imprimante: Connaître les principales étapes de configuration, d’utilisation et d’entretien de l’imprimante pour un usage autonome ainsi que les règles de sécurité.
Résultats attendus
  • PAN1 :
    • Compréhension des étapes de l’impression 3D et de ses limitations.
    • Bases de CAO sur FreeCAD.
  • PAN2 :
    • Savoir réaliser des formes complexes avec FreeCAD.
    • Savoir paramétrer le slicer (Cura).
    • Livrable: Génération d’un fichier 3D utilisant les principales fonctions à maîtriser.
  • PAN3/4 :
    • Apprendre à surpasser les limitations de l’impression 3D par l’intégration des pièces non imprimées et/ou par combinaison de plusieurs pièces imprimées.
    • Livrable : Fabrication d’un objet composite.

Faire son poster pour la foire aux experts

Un poster = 1 titre + description brève sous forme de mini-scénario (rédigé ou dessiné)(*) + techno envisagée (cartes modules identifiées) + questions aux experts.

(*) mini-scénario : il consiste à expliquer en 2 phrases quel est le contexte d’usage et à quoi sert l’objet proposé sans préciser les technologies utilisées (il s’agit de comprendre l’idée générale et à qui cela sert et pour faire quoi). Il sera indiqué en dessous du titre de l’idée.  Si toutefois, certaines technologies sont connues, ne pas hésiter à les signaler) après le descriptif. Par exemple (à titre indicatif):

  • titre = le T-Shirt intelligent
  • Descriptif (mini-scénario): Il permet de récupérer des informations sur l’état de santé du sportif après son effort (ou faire un dessin d’un sportif qui court avec le T-shirt et ensuite le sportif qui regarde sur une interface (montre, mobile, vêtement connecté intelligent) les informations).
  • Technologies envisagées : capteurs, reconnaissance audio, connexion avec un écran, etc.
  • Questions: est-il possible de fabriquer un vêtement connecté dans le cadre de PACT ? comment capter un battement cardiaque avec des capteurs ? etc..

PAN3: salles et heures

Voici les salles et horaires pour le PAN3. Les soutenances ont lieu avec deux groupes présents dans la salle.

Groupes 1

  • en B543 1.3 et 1.4: 8h30/9h15 (vous resterez ensuite dans la salle)
  • en B316 (l’installation des 12 le nécessite)  1.1 et 1.2: 10h15/11h

Groupes 2 en B555

  • 2.3 et 2.4: 8h30/9h15
  • 2.1 et 2.2: 10h15/11h (les groupes 2.3 et 2.4 vont travailler en B551 exceptionnellement)

Groupes 3 en B567

  • 3.3 et 3.4: 8h30/9h15
  • 3.1 et 3.2: 10h15/11h (les groupes 3.3 et 3.4 vont travailler en B559 exceptionnellement)

Groupes 4 en C47

  • 4.3 et 4.4: 8h30/9h15
  • 4.1 et 4.2: 10h15/11h (les groupes 4.3 et 4.4 vont travailler en C46 exceptionnellement)

Groupes 5 en C49

  • 5.3 et 5.4: 8h30/9h15
  • 5.1 et 5.2: 10h15/11h (les groupes 5.3 et 5.4 vont travailler en C48 exceptionnellement)

 

PAN2: salles et heures

Le second PAN a lieu le 19 janvier de 8h30 à 11h45.

L’ordre de passage est:

  • groupe x.2 à 8h30
  • groupe x.3 à 9h15
  • groupe x.4 à 10h15
  • groupe x.1 à 11h00

Les salles sont:

  • jury des 1.* en F900
  • jury des 2.* en E800-1
  • jury des 3.* en F503
  • jury des 4.* en F603
  • jury des 5.* en B549

Il y a dans chaque jury un membre du copil, un encadrant SES et un encadrant GL, mais les tuteurs et experts sont encouragés à assister aux soutenances s’ils sont disponibles.

Les attendus sont:

1- présentation : elle durera entre 10′ et 15′ (au dessus elle sera coupée) avec les points suivants :
* rappel très succinct du sujet
* modification apportées depuis le PAN1
* avancement global dont en particulier l’avancement des modules (en % par rapport aux attendus du PAN2 tels que décrits),
difficultés identifiées le cas échéant
* point module ses
* point GL
* point matériel
l’ordre n’est pas imposé.
A l’issue de la présentation, le jury discutera avec vous et vous fera un retour à chaud.

2- les modules
au PAN2 une évaluation de l’avancement des modules sera faite par les experts (Ils ont reçu un formulaire pour cela).
Il s’agira notamment d’une note A,B,C ou F.
IMPORTANT : il vous incombe de rencontrer/contacter les experts pour qu’ils effectuent cette évaluation et discutent cela avec vous.

3- le document évolutif d’avancement
les modifications par rapport à PAN1 concerneront notamment :
– les corrections demandées par le jury
– la mise à jour du diagramme temporel, accompagnée d’un commentaire (rapide) des ajustements
– le détail des tests pour le GL
– l’ajout des fiches modules manquantes le cas échéant
– en annexe, une description rapide de l’avancement de chaque module avec éventuellement une analyse des difficultés.

Date limite de retour  : Mercredi 14/01 à minuit
+ par email à bertrand dot david at telecom-paristech dot fr avec pour sujet [PACT][Doc PAN2][GXX] où XX est votre numéro de groupe.
+ en pdf uniquement

Le site pédagogique de PACT