SE CONNECTER
1,2,3... codez ! | Le site de la Fondation La main à la pâte
Module 123 Codez | Programmer | Informatics and Digital Creation

Projet (EPI) « Synthétiseur » – Séance 5 Programmer

1, 2, 3, codez ! - Activités cycle 4 - Projet (EPI) « Synthétiseur » - Séance 5 : Programmer

Discipline dominante

Mathématiques ou technologie

Résumé

Maintenant qu’ils savent traduire leur partition en langage MIDI, les élèves peuvent passer à la programmation de leur synthétiseur avec Scratch.

Notions

Machines

  •  un synthétiseur imite les sons d'un autre instrument
  •  un synthétiseur peut jouer des morceaux enregistrés
  •  Les ordinateurs ne font qu'exécuter des ordres (instructions) exprimés dans des langages particuliers.

Langages

  •  Scratch est un environnement de programmation graphique.
  •  Un programme est l'expression d'un algorithme dans un langage de programmation.

Algorithmes

  •  Un algorithme peut contenir des instructions, des boucles, des tests, des variables.

Matériel

Par binôme :

  •  un ordinateur avec Scratch

Durée :

Cette étape peut durer de 2 à 3 séances de 55min.

Avant-propos

Si les élèves sont débutants en programmation Scratch, nous conseillons d’insérer une séance de prise en main (familiarisation avec l’interface, exercices d’initiation, etc.) au début de cette séquence. Nous renvoyons le lecteur au chapitre « Introduction générale à Scratch ». Ce chapitre propose, outre cette séance de prise en main, une discussion générale (pourquoi le choix de Scratch, quels sont ses avantages et ses limites, comment l’installer, etc.) et quelques conseils pour un usage en classe.
Au besoin, on pourra enrichir cette séance d’introduction par quelques exercices simples sur les variables et les messages.

La durée de cette séance de programmation  couvrira probablement, selon l’aisance de la classe, entre 2 et 3 créneaux de 55min. Comme tout projet, les groupes évolueront à des vitesses différentes. À ce sujet, nous renvoyons vers l’éclairage pédagogique.
Elle est découpée en étapes qu’il faudra réaliser séquentiellement afin de construire progressivement le programme. Il y aura autant de programmes que de binômes, mais tous passeront nécessairement par ces étapes. Ce découpage permettra de réaliser régulièrement des mises en commun pour comparer les solutions proposées par les élèves et débloquer les binômes qui ont des difficultés.

  Étape 1 : créer un lutin chanteur

Un lutin seul émet une note de musique quand on clique sur lui ou quand on appuie sur une touche.  Pour l’instant nous utilisons les sons MIDI pré-enregistrés de Scratch.

Note pédagogique :
Si les élèves sont des débutants en Scratch, cette étape peut être sous-découpée en tâches plus élémentaires :

  •  faire jouer une note en cliquant sur le lutin ;
  •  faire jouer une note en cliquant sur une touche ;
  •  faire jouer une note dans l’un ou l’autre cas.

Étape 2 : permettre au lutin chanteur de varier la durée de sa note

Par exemple en appuyant sur des touches différentes, le lutin chantera plus ou moins longtemps.
Astuce : il faut définir des variables globales pour définir le rythme. Au moins quatre variables (duree croche, duree noire, duree blanche, duree ronde) permettront de s’assurer que les enchaînements et les durées des notes seront normalisés sur la totalité du programme. Ainsi, si on veut changer de tempo, il n’y aura qu’une seule ligne à changer…

Note pédagogique :
Si les élèves découvrent les variables pour la première fois, il conviendra de prendre le temps nécessaire à leur bonne compréhension de ce concept abstrait. Ici, les élèves n’ont besoin que de savoir créer et initialiser une variable (elles ne sont plus modifiées dans le corps du programme).

Programme du lutin chanteur

Étape 3 : créer un chef d’orchestre pour lancer la lecture automatique

En cliquant sur ce lutin, on déclenchera une mélodie préenregistrée. Pour l’instant, la mélodie se résume à diverses combinaisons de la même note avec des durées différentes. Cela nécessite de modifier le sous-programme du lutin chanteur pour accepter les réceptions de messages.

  • Astuce 1 : il faut temporiser l’envoi des messages pour ne pas déclencher tous les envois simultanément.
  • Astuce 2 : autant centraliser sur ce lutin l’initialisation des durées des notes (et donc, supprimer cette initialisation du programme du lutin chanteur, ce qui permettra de le dupliquer).

Programme du lutin chef d’orchestre

Étape 4 : créer la chorale de lutins chanteurs MIDI

Les élèves dupliquent le lutin chanteur autant de fois que nécessaire pour accéder aux octaves nécessaires. Cela suppose de multiplier d’autant le nombre de messages échangeables.
N.B. : les sons MIDI  de Scratch ne couvrent que deux octaves.

Variante 4b : créer la chorale de chanteurs WAV

Cette variante de l’étape 4 s’adresse aux classes qui voudraient utiliser leurs propres sons (qu’ils les téléchargent, les enregistrent ou les créent eux-mêmes : voir la Séance 7). La gestion de la durée des sons est différente de celle autorisée par les sons MIDI de Scratch. Il faut charger (ou éditer au vol, mais ce serait moins précis) quatre fichiers son pour chaque note (pour en régler la durée : croche, noire, blanche, ronde), attribuée à un lutin en particulier. Néanmoins, le tempo de la mélodie sera fixé une fois pour toutes (si l’on change le tempo, il faut redécouper tous les sons !).
N.B. : Attention, le bloc « arrêter tous les sons » stoppe tous les sons de tous les lutins !
 

Programme d’un des lutins chanteurs

Étape 5 : programmer des mélodies simples

Les élèves reprennent leur traduction en logique MIDI des exercices de la Fiche 4 (cf. séance précédente, où sont également fournis les corrigés). Cela permet de vérifier que le programme fonctionne bien, avant qu’ils ne se lancent dans la programmation de leur propre mélodie.

Étape 6 : programmer sa propre mélodie

Après les tests unitaires de l’étape 5 réussis, les élèves peuvent désormais implémenter dans le sous-programme du « chef d’orchestre » la mélodie qu’ils avaient choisie et retranscrite à la Séance 4.

Étape 7 : parachever son synthétiseur

Maintenant, les élèves terminent leur programme en autonomie. Ils peuvent changer les apparences des lutins pour qu’ils changent de costume quand ils chantent ou quand ils sont muets, créer une scène, d’autres déclencheurs, etc…