Son et musique en Python

, par Jean-Charles Moreau-Trouvé

Cet article illustre un exemple d’usage proposé par le GEP de l’académie de Versailles présentant quelques plus-values du numérique en enseignement scientifique, notamment l’utilisation du langage de programmation Python et du logiciel Audacity.

Professeur expérimentateur

  • Jean-Charles Moreau-Trouvé
  • Lycée George-Sand – Domont (Val d’Oise)

Niveau – Thème

  • Lycée
  • Niveau : Première (enseignement scientifique)
  • Thème : Son et musique, porteurs d’information

Introduction

Contenus disciplinaires

  • Notions et contenus : Un son pur est associé à un signal dépendant du temps de façon sinusoïdale.
    Un signal périodique de fréquence f se décompose en une somme de signaux sinusoïdaux de fréquences multiples de f. Le son associé à ce signal est un son composé.
    f est appelée fréquence fondamentale, les autres fréquences sont appelées harmoniques.
    Une gamme est une suite finie de notes réparties sur une octave.
    Une quinte est un intervalle entre deux fréquences de rapport 3/2.
    La connaissance des nombres irrationnels a permis, au XVIIe siècle, de construire des gammes à intervalles égaux.
    Plus la fréquence d’échantillonnage est élevée et la quantification est fine, plus la numérisation est fidèle, mais plus la taille du fichier audio est grande.
  • Compétences exigibles : Utiliser un logiciel pour produire des sons purs et composés.
    Utiliser la racine douzième de 2 pour partager l’octave en douze intervalles égaux.
    Estimer la taille d’un fichier audio.
    Calculer un taux de compression.

Compétences

  • S’APPROPRIER : S’approprier des documents.
  • ANALYSER : Exploiter le spectre en fréquence d’un son pour déterminer ses grandeurs caractéristiques.
    Comprendre des programmes simples en Python.
  • RÉALISER : Produire des sons, les écouter et les représenter graphiquement grâce à des programmes simples en Python.
    Estimer la taille d’un fichier audio, calculer un taux de compression.
  • VALIDER : Confronter la valeur de fréquence déterminée par le calcul à partir d’une représentation temporelle à la détermination à partir d’un spectre en fréquence.
    Confronter l’estimation par le calcul de la taille d’un fichier audio à la taille réelle du fichier généré.

CRCN – Compétences Numériques

  • 1.3. « Traiter des données » : Traiter des données pour analyser une problématique.
  • 3.4. « Programmer » : Développer un programme pour répondre à un problème à partir d’instructions simples d’un langage de programmation.
  • 5.2. « Évoluer dans un environnement numérique » : Se connecter à un environnement numérique. Utiliser les fonctionnalités élémentaires d’un environnement numérique. Retrouver des ressources et des contenus dans un environnement numérique.

Objectif(s) pédagogique(s)

  • Réinvestir des connaissances sur le spectre en fréquence d’un son et sur les caractéristiques d’un signal périodique.
  • Mettre en évidence l’apport d’un langage de programmation.
  • Confronter une estimation par un calcul à une valeur de référence.

Objectifs disciplinaires et/ou transversaux

  • Produire des sons purs et composés.
  • Représenter graphiquement des signaux sonores.
  • Construire une gamme musicale.
  • Valider l’estimation de la taille d’un fichier audio.
  • Visualiser l’influence de la compression.

Description de l’activité

Cette séquence a été conçue et testée avec la plate-forme Éléa développée par la Dane de l’académie de Versailles. Un export du parcours est disponible ci-dessous pour une intégration facile et complète sur Éléa.

Une importation partielle sur une autre plate-forme Moodle est possible moyennant quelques adaptations.

Plusieurs activités illustrant la plus-value du numérique dans le cadre de l’enseignement scientifique sont proposées. Elles utilisent le langage de programmation Python ou le logiciel Audacity.

Lors de ces activités, ces deux solutions seront exploitées comme outils :

  • de production ;
  • d’écoute ;
  • de représentation graphique ;
  • de validation.

Pré-requis

  • Pour le module 1 : Spectre en fréquence d’un son.
  • Pour le module 2 : Notion de gamme musicale.

Outils utilisés – Matériel

Ordinateur muni :

  • d’un environnement de développement Python ;
  • du logiciel Audacity ;
  • d’un casque audio.

Scénario pédagogique de la séquence

Le carnet de bord ci-dessous renseigne sur le scénario global. Il comprend toutes les activités et ressources (papiers ou numériques) proposées aux élèves :

 

Séance 1Séance 2Séance 3Séance 4
Travail en salle informatique Travail en salle informatique Travail en salle informatique Travail en salle informatique
40 minutes 30 minutes 30 minutes 20 minutes
Objectifs visés :

Produire des sons purs.
Objectifs visés :

Produire des sons composés.
Objectifs visés :

Construire une gamme musicale.
Objectifs visés :

Estimer la taille d’un fichier audio.

Calculer un taux de compression.

Descriptif des contenus et liens utiles :

Premier module du parcours Éléa :PNGQuelle est cette mélodie ?

Programme Python
Descriptif des contenus et liens utiles :

Premier module du parcours Éléa :PNGQuel est cet instrument ?
PNGProgramme Python
Descriptif des contenus et liens utiles :

Deuxième module du parcours Éléa :PNGConstruction de la gamme tempérée

Programme Python
Descriptif des contenus et liens utiles :

Troisième module du parcours Éléa :PNGLes paramètres de numérisation

La compression d’un son
Liste des actions individuelles et/ou collectives :

Produire des sons purs en Python de durée et de fréquence correspondant à une partition.

Identifier la mélodie jouée.
Liste des actions individuelles et/ou collectives :

Analyser le spectre en fréquence d’un son composé.

Produire le son correspondant en Python.

Identifier l’instrument pouvant produire ce son composé.

Pour les plus rapides : retrouver la valeur de la fréquence du son à partir de sa représentation temporelle.
Liste des actions individuelles et/ou collectives :

Construire en Python la gamme tempérée sur une octave.

Jouer plusieurs notes simultanément pour discuter de leur harmonie.
Liste des actions individuelles et/ou collectives :

Produire un son avec Audacity et estimer sa taille par le calcul.

Valider le résultat à partir des propriétés du fichier.

Générer le même son compressé et calculer le taux de compression.
Liste des actions d’encadrement :

Suivre la progression du parcours.

Relancer les élèves si nécessaire.

Vérifier le programme complété par les élèves et écouter la mélodie générée.
Liste des actions d’encadrement :

Suivre la progression du parcours.

Relancer les élèves si nécessaire.

Vérifier le programme complété par les élèves et écouter le son généré.

Diriger les élèves les plus rapides vers la partie « Pour les plus rapides... ».
Liste des actions d’encadrement :

Suivre la progression du parcours.

Relancer les élèves si nécessaire.

Vérifier le programme complété par les élèves et écouter les sons générés.

Questionner les élèves sur l’harmonie des différents sons.
Liste des actions d’encadrement :

Suivre la progression du parcours.

Relancer les élèves si nécessaire.

Vérifier les fichiers générés par les élèves.

Retour d’expérience

Les plus-values pédagogiques (enseignants / élèves)
MéthodeNiveau SAMRCommentaire
Production de sons purs A (Augmentation) La génération de sons purs à l’aide du langage de programmation Python permet d’associer une fonction mathématique dépendant d’un paramètre en particulier (la fréquence) à un signal sonore.
Production de sons composés A (Augmentation) La génération de sons composés à l’aide du langage de programmation Python permet de mieux visualiser que mathématiquement, un son composé est la somme de plusieurs sons purs.
Production d’associations de sons A (Augmentation) La génération de sons à l’aide du langage de programmation Python permet de réaliser toutes les associations de notes souhaitées, et de les écouter facilement.
Influence des paramètres de numérisation A (Augmentation) La génération de fichiers audio avec Audacity permet de confronter l’estimation de leur taille par le calcul à la réalité. De nombreuses combinaisons de paramètres peuvent être étudiées.
Influence de la compression A (Augmentation) La génération de fichiers audio avec Audacity permet d’exporter des fichiers compressés et de visualiser l’influence sur leur taille.
Les plus values pour la discipline
  • Cette séquence a permis de remobiliser les compétences acquises en classe de seconde sur les caractéristiques d’un signal périodique, et celles travaillées en début de thème sur l’analyse d’un spectre en fréquence.
  • Les élèves ont mieux compris la notion de son composé comme une somme mathématique de plusieurs sons purs. Certains ont testé la génération d’autres sons composés pour tenter de reproduire le son d’autres instruments de musique.
  • Le langage de programmation Python, redouté par quelques élèves en début de séquence, n’a pas posé de problème particulier. Aucun élève ne suivait la spécialité NSI, certains suivaient la spécialité physique-chimie.
Les points de vigilance
  • Pour la production des sons composés, on se limite au cas où la différence de phase entre les différents sons purs le constituant est nulle.
  • La vidéo de l’épisode de la série Kaamelott n’est ici pas fournie. Il appartient au professeur de s’assurer de disposer des droits de diffusion.
  • Il convient de s’assurer au préalable que l’environnement de développement Python intègre bien les bibliothèques wave, os et maths.
  • On vérifiera également que la bibliothèque Lame est bien installé avec le logiciel Audacity pour permettre l’export au format MP3. Elle est normalement présente par défaut dans Audacity.
Les pistes pour aller plus loin ou généraliser la démarche
  • Considérant les nombreuses combinaisons de paramètres de numérisation permises par Audacity (fréquence d’échantillonnage et nombre de bit utilisés), il est possible de faire étudier des combinaisons différentes à chaque groupe d’élèves.
  • Il est intéressant d’essayer différents formats de compression avec Audacity (AAC par exemple) et de comparer les qualités sonores des fichiers compressés, à taille égale. Là encore, il peut être nécessaire d’installer une bibliothèque supplémentaire.

Partager

Imprimer cette page (impression du contenu de la page)