| 
			   
			  from pylab
			  import * 
			  import pygame 
			  from pygame.locals
			  import *
  
			  # Cette fonction gère l'interface 
			  pygame def
			  maj():     
			  fenetre.fill((40,80,120))     font=pygame.font.Font(None, 
			  36)     monTexte = font.render("Fréquence 
			  : " + str(frequence) +
			  " Hz",1,(255,255,255))     
			  fenetre.blit(monTexte,(10, 10))      font=pygame.font.Font(None, 
			  24)     monTexte = font.render("Le 
			  son que vous entendez est pur de fréqunce ajustable.",1,(250, 
			  180, 0))     fenetre.blit(monTexte,(10, 40))      
			  monTexte = font.render("Pour augmenter 
			  ƒ, utiliser la flêche vers le haut du clavier",1,(200,200,200))     
			  fenetre.blit(monTexte,(10, 65))      monTexte = 
			  font.render("Pour diminuer ƒ, utiliser 
			  la flêche vers le bas du clavier",1,(200,200,200))     
			  fenetre.blit(monTexte,(10, 85))      monTexte = 
			  font.render("Quelle est la plus haute 
			  fréquence que vous pouvez entendre ?",1,(255, 100, 100))     
			  fenetre.blit(monTexte,(10, 120))      monTexte = 
			  font.render("Jusqu'à 2 000 Hz : vont 
			  oreilles ont 90 ans !",1,(155, 155, 155))     
			  fenetre.blit(monTexte,(30, 150))      monTexte = 
			  font.render("Jusqu'à 4 000 Hz : vont 
			  oreilles ont 80 ans !",1,(165, 165, 165))     
			  fenetre.blit(monTexte,(30, 170))      monTexte = 
			  font.render("Jusqu'à 8 000 Hz : vont 
			  oreilles ont 70 ans !",1,(175, 175, 175))     
			  fenetre.blit(monTexte,(30, 190))      monTexte = 
			  font.render("Jusqu'à 10 000 Hz : vont 
			  oreilles ont 60 ans !",1,(185, 185, 185))     
			  fenetre.blit(monTexte,(30, 210))      monTexte = 
			  font.render("Jusqu'à 12 000 Hz : vont 
			  oreilles ont 50 ans !",1,(195, 195, 195))     
			  fenetre.blit(monTexte,(30, 230))      monTexte = 
			  font.render("Jusqu'à 15 000 Hz : vont 
			  oreilles ont 40 ans !",1,(205, 205, 205))     
			  fenetre.blit(monTexte,(30, 250))      monTexte = 
			  font.render("Jusqu'à 16 000 Hz : vont 
			  oreilles ont 30 ans !",1,(215, 215, 215))     
			  fenetre.blit(monTexte,(30, 270))      monTexte = 
			  font.render("Jusqu'à 17 000 Hz : vont 
			  oreilles ont 26 ans !",1,(225, 225, 225))     
			  fenetre.blit(monTexte,(30, 290))      monTexte = 
			  font.render("Jusqu'à 18 000 Hz : vont 
			  oreilles ont 24 ans !",1,(235, 235, 235))     
			  fenetre.blit(monTexte,(30, 310))      monTexte = 
			  font.render("Jusqu'à 20 000 Hz : vont 
			  oreilles ont 20 ans !",1,(245, 245, 245))     
			  fenetre.blit(monTexte,(30, 330))      monTexte = 
			  font.render("Jusqu'à 22 000 Hz : vont 
			  oreilles ont 18 ans !",1,(255, 255, 255))     
			  fenetre.blit(monTexte,(30, 350))      
			  pygame.display.set_caption("Quel âge 
			  ont vos oreilles ?")      
			  pygame.display.flip() 
  # Cette 
			  fonction génère le son def
			  geneSon(k):  
			      global sound
			       if k == 
			  1: sound.stop()     duration = 1 / frequence     
			  n_samples = int(round(duration*sample_rate))    
			  # On crée un tableau 2D et on le 
			  remplit de zéros     buf = zeros((n_samples, 
			  2), dtype = int16)     
			  for s 
			  in range(n_samples):         
			  t = float(s)/sample_rate        
			  # On complète le tableau pour l'oreille 
			  gauche          buf[s][0] 
			  = int(round(ampli*sin(2*math.pi*frequence*t)))        
			  # Oreille droite = oreille gauche         
			  buf[s][1] = buf[s][0]     
			  # Le tableau devient un son     sound = 
			  pygame.sndarray.make_sound(buf)      sound.play(loops 
			  = -1)     return 
			  sound
  frequence = 440 size = (550, 400) fenetre = 
			  pygame.display.set_mode(size, pygame.HWSURFACE | pygame.DOUBLEBUF) 
			   nbBits = 16 pygame.mixer.pre_init(44100, nbBits, 2) 
			  pygame.init() sample_rate = 44100
  ampli = 2**(nbBits - 
			  1) - 1 maj() geneSon(0) _running =
			  True 
  
			  # La fin du code gère les évènements 
			  clavier et la sortie du programme pygame.key.set_repeat(400, 
			  1) while _running: 
			      for event
			  in pygame.event.get():        
			  if event.type == KEYDOWN:            
			  if event.key == K_UP:                 
			  if frequence < 22000: frequence+=1
			                   
			  geneSon(1)                 
			  maj()             
			  if event.key == K_DOWN:                 
			  if frequence > 20: frequence-=1
			                   
			  geneSon(1)                 
			  maj()          
			  if event.type == pygame.QUIT:             
			  _running = False            
			  break pygame.quit() 
			   |