Aller au contenu
Module 6 : Messages, refrains et fonctions personnalisées

Approfondissements

Approfondissement A : Inviter un·e invité·e

  • Invitez un·e invité·e à parler de la musique autochtone — un·e batteur·se, jigger, danseur·se de powwow, chanteur·se de gorge, musicien·ne ou danseur·se autochtone.
  • Demandez aux élèves de créer à l’avance une liste de questions à poser à l’orateur·rice invité·e.

Approfondissement B : Créer des fonctions personnalisées avec des variables

Les fonctions que nous avons créées sont « codées en dur », ce qui signifie que chaque fois que vous appelez la fonction, elles font EXACTEMENT la même chose. En utilisant des variables, nous pouvons transmettre des valeurs pour modifier ce qui se passe lorsque la fonction est appelée. Les variables transmises aux fonctions sont appelées paramètres.

Suivez les instructions ici ou dans vos cahiers de l'élève activités de codage pour créer une fonction personnalisée avec des variables


Tutoriels vidéo associés 

  1. Le refrain d'une chanson se répète souvent, alors répéter le refrain de votre chanson en appelant la fonction chorus deux fois dans le menu. # section musique

# section musique

intro()

refrain()

refrain()

  1. EXECUTEZ (RUN) votre code et Jouez (Play) votre chanson. 
  2. Le refrain joue-t-il deux fois ?

Le code s'exécute et la chanson est jouée, mais vous n'entendez le refrain qu'une seule fois. 


Lorsque vous sélectionnez EXÉCUTER (RUN), un message apparaît en bas de votre écran pour vous donner un indice.

Warning message duplicates

Lorsque vous appelez refrain() la deuxième fois, il exécute à nouveau EXACTEMENT les mêmes commandes. Cela signifie qu'il a essayé d'ajouter les mêmes sons sur les mêmes pistes et mesures deux fois !

  1. Ajoutez des variables appelées debut et fin à la définition de votre fonction entre les parenthèses à côté du nom de la fonction.

def refrain(debut,fin):

  1. Lorsque vous appelez fitMedia() dans la fonction refrain(debut,fin), utilisez les variables debut et fin au lieu de « coder en dur » les valeurs des mesures de début et de fin.

def refrain(debut,fin):

fitMedia(batterieRefrain,6,debut,fin)

fitMedia(vocalRefrain,7,debut,fin)

  1. Chaque fois que vous appelez refrain(), indiquez les numéros à utiliser pour les mesures de début et de fin. Pour jouer le refrain à différents moments de la chanson, transmettez simplement différentes valeurs de début et de fin. Le code ci-dessous jouerait le refrain trois fois : une fois des mesures 5 à 9 ; une seconde fois de la mesure 15 à 19 ; une troisième fois des mesures 24 à 30

# SECTION MUSIQUE

intro()

refrain(5,9)

refrain(15,19)

refrain(24,32)

  1. Exécutez votre code et regardez le STATION DE TRAVAIL AUDIONUMERIQUE (DIGITAL AUDIO WORKSTATION) . Faites défiler pour voir le refrain supplémentaire. Jouez la chanson et laissez-la jouer jusqu'à la fin, entendez-vous le refrain recommencer après une pause.
Le code final ressemblerait à ce qui suit

# description: 

from earsketch import *

setTempo(120)


# BANQUE DE SONS

#batteries

batterie = SAMIAN_PEUP_BEAT_FULL

#basse

basse = TFLAMES_OC_BASS_CHOR

#flute

flute = SAMIAN_PEUP_THEME_FLUTE

#instruments a corde

corde = SAMIAN_PEUP_THEME_STRINGS_3

#vocals

vocal1 = TFLAMES_OC_VOX_BKUP_CHOR_1

# Sons de refrain

batterieRefrain = JWOLF_COTG_BEAT_FULL

vocalRefrain = TFLAMES_OC_VOX_BKUP_CHOR_1

#DEFINITIONS DE FONCTIONS

# Fonction refrain

def refrain(debut,fin):

fitMedia(batterieRefrain,6,debut,fin)

fitMedia(vocalRefrain,7,debut,fin)


# Fonction intro

def intro():

    fitMedia(batterie, 1,1,5)

    fitMedia(basse,2,1,5)

    fitMedia(flute,3,1,3)

    fitMedia(corde,4,1,3)

    fitMedia(vocal1,5,3,5)


#SECTION MUSIQUE

#ajouter l’intro

intro()


# ajouter le refrain trois fois debutant et terminant a different mesures

refrain(5,9)

refrain(15,19)

refrain(24,30)


La maîtrise des fonctions personnalisées avec des variables est le concept de codage le plus avancé de Ta Voix est Puissante. Il vous faudra donc peut-être un peu de temps pour le comprendre. C'est normal d'y revenir plus tard.

Approfondissement C: Créer de fonctions personnalisées avec des variables et des mesures de début et de fin décalées

Et si nous ne voulons pas que les sons de notre refrain commencent et se terminent en même temps ? Par exemple, que se passe-t-il si, pour notre refrain, nous voulons que la batterie joue pendant tout le refrain, mais que nous souhaitons attendre une mesure avant que le chant ne commence.

Si nous avons codé en dur les appels fitMedia(), nous pourrions spécifier une mesure de départ différente pour le chant, nous pouvons spécifier une mesure de départ de 5 pour la batterie et une mesure de départ de 6 pour le chant afin qu'ils commencent peu de temps après la batterie.

fitMedia(batterieRefrain ,6, 5, 9)

fitMedia(vocalRefrain ,7, 6, 9)

Dans notre fonction refrain(), nous utilisons des variables pour spécifier la mesure de départ

def refrain(debut, fin):

    fitMedia(batterieRefrain ,6, debut, fin)

    fitMedia(vocalRefrain ,7, debut, fin)

Si vous souhaitez qu'un son démarre sur une mesure différente, vous pouvez utiliser des opérateurs mathématiques sur la variable de début (start) lorsque vous l'utilisez dans la fonction.

def refrain(debut, fin):

    fitMedia(batterieRefrain ,6, debut, fin)

    fitMedia(vocalRefrain ,7, debut+1, fin)

Exercice 1. Faites le calcul des mesures de départ

Avec cette fonction refrain(), dans vos cahiers de l'éleve activités écrites, écrivez la valeur que utilisera fitMedia() pour la mesure de départ (start) pour batterieRefrain ? et vocalRefrain ?

Si nous appelons refrain() avec

refrain(5,9)

refrain(15,19)

refrain(24,30)

Si vous souhaitez avoir une fin (end) de l’extrait sonore sur une mesure différente, vous pouvez utiliser des opérateurs mathématiques sur les variables de fin (end) transmises à la fonction.

def refrain(debut, fin):

    fitMedia(batterieRefrain ,6, debut, fin)

    fitMedia(vocalRefrain,7, debut, fin-1)

Exercice 2. Faites le calcul des mesures finales

Avec cette fonction refrain(), dans vos cahiers de l'éleve activités écrites, écrivez la valeur que utilisera fitMedia() pour la mesure de fin(end) pour batterieRefrain ? et vocalRefrain ?

Si nous appelons refrain() avec

refrain(5,9)

refrain(15,19)

refrain(24,30)

Exercice 3. Essayez-le dans votre code !

Modifiez votre fonction de refrain() pour qu'un des extrait sonores commence ou se termine sur une mesure différente des autres sons du refrain.

Le code final ressemblerait à ce qui suit

# description: 

from earsketch import *

setTempo(120)

# BANQUE DE SONS

#batteries

batterie = SAMIAN_PEUP_BEAT_FULL

#basse

basse = TFLAMES_OC_BASS_CHOR

#flute

flute = SAMIAN_PEUP_THEME_FLUTE

#instruments a corde

corde = SAMIAN_PEUP_THEME_STRINGS_3

#vocals

vocal1 = TFLAMES_OC_VOX_BKUP_CHOR_1

# Sons de refrain

batterieRefrain = JWOLF_COTG_BEAT_FULL

vocalRefrain = TFLAMES_OC_VOX_BKUP_CHOR_1


# DEFINITIONS DE FONCTIONS

# Fonction refrain

# transmettre les valeurs de mesure de début et de fin

# démarre le vocalRefrain 1 mesure après le début de la batterie

# terminer le vocalRefrain 1 mesure avant la fin de la batterie

def refrain(debut,fin):

fitMedia(batterieRefrain,6,debut,fin)

fitMedia(vocalRefrain,7,debut+1,fin-1)

# Fonction intro

def intro():

    fitMedia(batterie, 1,1,5)

    fitMedia(basse,2,1,5)

    fitMedia(flute,3,1,3)

    fitMedia(corde,4,1,3)

    fitMedia(vocal1,5,3,5)


#SECTION MUSIQUE

#ajouter l’intro

intro()

# ajouter le refrain trois fois 

# debutant et terminant a different mesures

refrain(5,9)

refrain(15,19)

refrain(24,30)

Approfondissement D : Participer à un cercle de partage (20 minutes)

À tour de rôle, faites circuler l’objet de parole.

  1. Connaissez-vous des modèles autochtones?
  2. Que font-ils/elles?

À propos du Cercle de partage :

  • Celui qui a l’objet de parole est l’orateur·rice. 
  • L’orateur·rice peut parler aussi longtemps qu’il/elle le souhaite, tout en respectant le temps des autres.
  • Le silence est une réponse acceptable à la question. 
  • Si un·e étudiant·e ne se sent pas à l’aise pour s’exprimer, « Je passe » est une réponse acceptable.
  • Parler dans un cercle de partage est volontaire. 
  • Tous ceux et toutes celles qui ne parlent pas sont des auditeurs·rices.
  • Les auditeurs·rices écoutent avec respect et apportent leur soutien à la personne qui parle. 
  • Écoutez de la même façon que vous aimeriez que les autres vous écoutent. 
  • Ce qui est dit dans le cercle reste dans le cercle — ne répétez jamais tout ce qui est dit dans le cercle, sauf si vous avez la permission de l’orateur·rice.

Facultatif :

Invitez un·e aîné·e, un·e gardien·ne des connaissances traditionnelles ou un·e conteur·se autochtone à venir dans la salle de classe pour parler de l’importance des contes ou du savoir autochtone.