Apprendre Max "from Scratch"

Depuis le 22 juin, j'enseigne (comme "Teaching Assistant") pour le cours Grandes Idées en Informatique avec Java ("Great Ideas in Computer Science with Java") à la "Harvard Summer School".

Pendant les deux premiers cours, Pr. Henry Leitner a introduit d'important concepts en programmant dans l'environnement Scratch. Avec Scratch, les étudiants peuvent se concentrer sur les notions d'algorithme, conditions, boucles, variables, sans être dépassés par une syntaxe compliquée. Scratch est très ludique et rend cela facile d'incorporer images, sons et interaction avec le clavier ou la souris. Jetez un oeil à quelques exemples de programmes Scratch dans ces Galleries.

Au MIT et à Harvard, vous entendrez souvent que "Anybody Can Learn To Program" - Tout le monde peut apprendre à programmer (dans l'excellent livre How to Design Programs: An Introduction to Programming and Computing, les auteurs poussent un peu plus loin : "Everybody Should Learn To Program" - Tout le monde devrait apprendre à programmer). Avec Scratch, Tout le monde peut apprendre à programmer rapidement.


Versions Scratch et Max MSP d'un simple programme musical interactif (cliquer pour agrandir)

Apprendre Max "from Scratch" - Plan de Cours

Tout comme c'est une bonne introduction à Java, Scratch serait une bonne introduction à Max MSP. Je viens de concevoir ce plan pour un premier semestre de cours qui pourrait être intitulé Musique & électronique temps réel avec Max 5, ou peut-être Apprendre Max "from Scratch" (from scratch est une expression équivalente à partir d'une page blanche, de zéro). C'est un brouillon, on peut améliorer : n'hésitez pas à commenter !

  1. Introduction à Scratch
    • algorithme
    • condition, boucle, variable
  2. De Scratch à Max
    • introduction à MIDI
    • Projet 1 : programmer une application audio-visuelle en Scratch
  3. Introduction à Max/MSP
    • bases de Max : patcher, messages, ordre de droite à gauche, et plus
    • bases du son numérique : entrée & sortie audio, jouer un fichier son, et plus
    • un "toggle" n'est pas un "toggle"
    • Max Help vous aide
  4. Synthèse Sonore Numérique
    • synthèse additive
    • synthèse soustractive
    • modulation de fréquence
    • table d'onde
  5. Traitement du Son en Temps Réel & La Puissance d'Abstraction
    • transposition en temps réel
    • lignes de retard ("delay lines")
    • modulation en anneau
    • "wishful thinking" (difficile à traduire en français - google me dit "un voeux pieux", yahoo propose "un rêve" - si vous avez une traduction dans ce contexte, merci de laisser un commentaire !)
    • encapsulation et abstractions
    • dcumentation des patchers
  6. Échantillonnage ("Sampling")
    • le vinyle n'est pas mort
    • "buffers" audio pour enregistrer et jouer
    • Projet 2 : doit utiliser un échantillonnage
  7. MIDI n'est Pas Mort
    • effets & générateurs
    • surfaces de contrôle & interfaces humaines ("human interfaces")
  8. Polyphonie & Panoramique
    • construire un synthétiseur polyphonique
    • panoramique
    • Projet 3 : doit utiliser un traitement du son numérique polyphonique
  9. Interface Utilisateur & Travailler Avec des Fichiers
    • le design des choses de tous les jours
    • simple n'est pas si simple
    • mode présentation
    • dossiers & fichers
  10. Granulation
    • granulation analogique
    • fenêtrage de grains de sons
    • retour à la transposition en temps réel
  11. "Presets"
    • "preset ideas"
    • interpolation en temps réel entre n'importe quel nombre de presets
    • Projet 4 : doit utiliser MIDI et presets
  12. Temps dans Max
    • planifier des événements
    • transport
    • oscillateurs basse fréquence & synchronisation
  13. Concert & Répétitions
    • répéter
    • écrire la partition
    • Projet 5 : doit être cool !

Commentaires

Posts les plus consultés de ce blog

Geler un son avec Max/MSP/Jitter - Freeze!

Compositeurs, publiez vos partitions !

60/60 - Join the Creation!