SoundEngine Un serveur d ’effets sonore en temps réel Juillerat Nicolas.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

PLL Boucle à Verrouillage de Phase Phase Locked Loop
La Cyclostationnarité Aspects théoriques et application au Diagnostic
Analyse Spectrale de Fourier
Analyse temps-fréquence
Numérisation du signal principes
PRINCIPE SIMPLIFIE DE LA COMPRESSION MP3
Cours 5 – Comment bien échantillonner le signal audio
4. La transformée en z Un formalisme adapté au filtrage et à l’analyse en fréquence des signaux échantillonnés et à l’automatique numérique x(t) signal.
Calcul de la composition fréquentielle du signal audio
La Méthode TRIZ en Agroalimentaire?
Du signal continu au numérique
Mesures dans le domaine fréquentiel
Modulation numérique.
La transformée de Fourier en pratique

CPMOH, Université Bordeaux 1
Introduction à limagerie numérique Acquisition, Caractéristiques, Espaces couleurs, Résolution.
3. Systèmes L.I.T Systèmes LIT, introduction
1. Introduction 1.1. Modélisation des signaux
Module 1 : Préparation de l'administration d'un serveur
Analyse fréquentielle
Traitement Numérique du Signal
Calcul et implantation des filtres numériques RIF et RII dans un DSP
5. Echantillonnage Introduction
Traitement du signal TD0 : Introduction.
Configuration de Windows Server 2008 Active Directory
Le cahier de charge d'un système de RAP
Algorithmique et Programmation
Transformée de Fourier discrète et transformée de Fourier rapide
1 par Jean-Paul Stromboni, octobre 2008 Un autobilan pour réviser le devoir surveillé n°1 du cours S.S.I.I., par Jean-Paul Stromboni, octobre 2008 Elève.
Filtrer le signal audio numérique
Les fichiers indexés (Les B-arbres)
Structures de données IFT-10541
Module 2 : Préparation de l'analyse des performances du serveur
Module 1 : Installation de Windows 2000 ou mise à niveau vers Windows 2000.
Introduction au calcul quantique
Traitement Numérique du Signal
Procédures et fonctions
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
Théorie de l'Échantillonnage
Soutenance de stage Lieux: CITI – INSA Lyon Marcel Pierrick Année IUT Valence – 51, rue B. de Laffemas VALENCE – Département GTR Développement.
ELECTRICITE Hervé BOEGLEN IUT de Colmar Département R&T 2007.
Introduction.
INTRODUCTION.
Recherche de solutions Leçon 3 0. Modules 3.1 Résumé de la semaine dernière 3.2 Recherche de solutions 3.3 Développement de la clientèle 3.4 Taille du.
DU TRAITEMENT DU SIGNAL
Transformée de Fourier en Temps Continu (TFTC)
Partie 2 : Acquisition de données avec une carte Daqmx
Transducteur d’entrée EnergieacoustiqueEnergieélectrique Console Transducteur de sortie Energieacoustique Oreille Stockage Périphériques→→ → → → → → ↕
Vue d'ensemble Préparation de l'installation
DU TRAITEMENT DU SIGNAL
Traitement de son Chapitre 2 : Exploitation de logiciels Leçon1:
Logiciel de création de livrets scolaires
Reconnaissance automatique de la parole
Les différentes sortes de filtre
Modélisation d'un modulateur et démodulateur OFDM
Transformée de Hartley
Calcul numérique de la transformée de Fourier Applications:
Calcul de la composition fréquentielle du signal audio
ANALYSE DES SERIES CHRONOLOGIQUES METHODES ET APPLICATIONS EN HYDROLOGIE Danièle VALDES-LAO
I Qu’est ce que le son? Éléments de M.A.O. – support de cours
Scénario Les scénarios permettent de modifier la position, taille … des calques au cours du temps. Son fonctionnement est très proche de celui de Macromedia.
SSII, séance n°13, bilan du cours 15 décembre 2015 Dernière séance 2015 Résumé des chapitres et notions abordées en 2015.
Guillaume AUDIBERT & Thomas DERIVE Présentent dans le cadre de l’UV si28.
Audacity Landais Grégory Lettron Guilhem Printemps 2008 Exposé SI28.
Audacity Edition de son Amélie Parmentier SI28 28 Mai 2007.
Audacity DA SILVA Patrick GP02 Printemps 2006 Exposé SI28.
Audacity CLERZAU David Printemps 2006 Exposé SI28.
Du temporel au fréquentiel Transformée de Laplace Transformée de Fourier.
Transcription de la présentation:

SoundEngine Un serveur d ’effets sonore en temps réel Juillerat Nicolas

Objectifs du projet Modifier des sons en temps réel –Micro  Transformation  Hauts- parleurs Modifier la transformation en temps réel –Modification des paramètres –Modification des effets Temps réel = 1/10 secondes

Plan de la présentation 1. Noyau du programme 2. Effets sonores 3. Conclusion

1. Noyau du programme

Composantes principales –1.1 Effets –1.2 Graphe d’effets –1.3 Remarques

1.1 Effets Boîtes noires constituées d’entrées et de sorties Structure d’un effet –Nom, type, description –Ports d’entrée et de sortie –Fonction (inconnue du noyau et du client)

1.1 Effets Structure d’un port –Nom, description, capacité –Attributs –Formats acceptés

1.1 Effets Exemples de formats –2048 échantillons 16 bit, 44100Hz, linéaire, Mono (Qualité CD) –1024 bandes de fréquence (amplitude et phase) –Un nombre à virgule flottante –Un choix parmi une liste État (Stop, Play, Pause) Interrupteur (On, Off) –Un nom de fichier

1.1 Effets Fonctionnement d’un effet –Lis les données dans les ports d’entrées –Applique une ou plusieurs transformations –Renvoie les résultats dans les ports de sortie

1.1 Effets Trois types d’effets –sources : produisent des sons Lecture depuis un fichier Lecture depuis le microphone Génération de signaux simples –effets : transforment des sons –puits : diffusent des sons Diffusion dans les hauts-parleurs Enregistrement dans un fichier

1.2 Graphe d’effets But –Combiner plusieurs effets simples entre eux pour créer des effets complexes –Isoler chaque problème –Exemple : 1 effet pour lire depuis un microphone 1 ou plusieurs effets pour transformer le son 1 effet pour diffuser le résultat dans les hauts-parleurs

1.2 Graphe d’effets Structure –Noeuds: Effets –Arcs: Connexions entre le port de sortie d’un effet et le port d’entrée d ’un autre effet –Lorsque deux ports sont connectés, les données produites dans le port de sortie sont transmise au port d ’entrée

1.2 Graphe d ’effets Fonctionnement interne depth-first search –Similaire à un « depth-first search » partant des puits –Les puits demandent des informations à intervalles réguliers –Les autres effets répondent aux demandes –Les données sonores sont traitées et circulent par blocs de 50ms

1.2 Graphe d ’effets

–Remarques Les cycles sont permis –Ils induisent un retard dépendant des effets Les effets inatteignable depuis un puit ne travaillent pas

1.3 Remarques Le programme permet de créer et de connecter des effets entre eux pour créer un graphe quelconque La création et la manipulation d ’effets et de connexions est effectuée par des appels RPC

1.3 Remarques Utilise un Scheduler pour répartir les tâches suivantes : –Réception des appels RPC (tâche de fond) –Exécution des appels RPC depth-first-search –« depth-first-search » du graphe des effets (tâche périodique) –Autres événements utilisés par certains effets temps-réel

1.3 Remarques Le noyau est indépendant des types d’effets –Effets sonores –Effets vidéos –Portes logiques –etc

2. Effets sonores

Présentation d’un exemple concret: le décalage fréquentiel (pitch shifting)

2. Effets sonores 2.1 Définition du pitch shifting 2.2 Problèmes 2.3 Solution proposée 2.4 Intégration

2.1 Définition du pitch shifting Définition intuitive –Modifier la fréquence d’un son sans en changer la vitesse Définition formelle –Multiplier par une constante l’ensemble des fréquences de base du spectre instantané à tout instant

2.1 Définition du pitch shifting Définition du spectre instantané –Ensemble des fréquences de base présente dans un son à un instant donné

2.1 Définition du pitch shifting Définition d ’une fréquence de base –signal cosinusoïdal, A * cos(2  f +  ) A: amplitude f: fréquence  : phase Remarque infini –Tout son périodique est la somme d’un ensemble (généralement infini ) de fréquences de base (théorie de Fourier)

2.1 Définition du pitch shifting Illustration

2.2 Problèmes –A) Impossible de traiter un ensemble infini de fréquences –B) Impossible de modifier une fréquence sans changer la phase –C) Impossible de calculer le spectre instantané (principe d’incertitude d’Heisenberg)

2.3 Solution proposée Principes –A) Se limiter à un ensemble de fréquences audibles –B) Ignorer les modifications de phase intervalle –C) Se contenter du spectre local (ensemble des fréquences de bases sur un intervalle de temps)

2.3 Solution proposée Méthode –Diviser le son en intervalles consécutifs –Calculer et modifier le spectre local sur chaque intervalle –Regrouper les intervalles modifiés pour reconstruire le résultat final

2.3 Solution proposée Calcul du spectre local –Utiliser la transformation de Fourier discrète (DFT) Remarques (choix pratiques) Les sons sont échantillonnés à 44100Hz 2048La taille choisie des intervalles est de 2048 échantillons (environ 50ms) => Analyse des fréquences entre 22Hz (environ) et 22kHz => Permet d ’utiliser la FFT

2.3 Solution proposée Calcul du spectre local Problème: périodique –La DFT analyse le spectre d’un son périodique –Problème de dispersion pour les fréquences qui n’apparaissent pas un nombre entier de fois dans l’intervalle Domaine temporel: discontinuités Domaine spectral: apparition de hautes fréquences

2.3 Solution proposée Calcul du spectre local Illustration

2.3 Solution proposée Calcul du spectre local Illustration

2.3 Solution proposée Calcul du spectre local Solution : le fenêtrage –Atténuer les bords des intervalles par une multiplication par une fonction fenêtre

2.3 Solution proposée Fenêtrage : Illustration

2.3 Solution proposée Fenêtrage : Problèmes –L ’information est perdue sur les bords des intervalles –Le son est modulé –La transformation peut modifier la fenêtre –La fenêtre modifiée peut ne plus être atténuée sur les bords de l ’intervalle

2.3 Solution proposée Fenêtrage : Solutions –Utiliser des intervalles qui se chevauchent –Appliquer une fenêtre de correction lors de la reconstruction –Tenir compte de la modification de la fenêtre pour la reconstruction après –Appliquer une seconde fenêtre après la transformation et tenir compte des deux fenêtres pour la reconstruction

2.3 Solution proposée Résumé

2.4 Intégration

1ere idée –Créer un effet « pitch shifting » qui effectue toutes ces opérations

2.4 Intégration Meilleure solution –Créer un effet différent pour chaque étape: Division en intervalles et fenêtrage DFT Modification des fréquences et de la fenêtre DFT inverse Second fenêtrage et reconstruction du signal

2.4 Intégration Désavantages –Plusieurs effets pour un effet sonore

2.4 Intégration Avantages –Isole chaque problème –Les effets de fenêtrage et de DFT peuvent être réutilisés indépendamment pour d ’autres effets sonores –Deux effets travaillant sur le spectre peuvent être regroupés entre la DFT et la DFT inverse => optimisation

3. Conclusion

Le temps de réaction dépend de nombreux facteurs –Retard du au tampon du périphérique d ’entrée (0 - 25ms) –Taille des blocs traités (50ms) –Fenêtrage ( ms) –Temps de calcul (0 - 50ms) –Retard du au tampon du périphérique de sortie (0 - 25ms)

3. Conclusion Temps de réaction (total) –Intervalle ( ms) –En pratique: Décalage de la tonalité sans fenêtrage: env. 80ms Décalage de la tonalité avec fenêtrage: env. 150ms

Questions ?

Demonstration !

Coffee break Merci de votre attention