Ces fonctions utilisent les applications sound.play et pygame.mixer.Sound du module pygame du langage python.
def playtextetabla(ntrans,texte,tabla,rythme,volume,tempo) : itab=[] for i in range(256) : itab.append("-1") itexte=[] for i in range(256) : itexte.append("-1") nryt=[] for i in range(256) : nryt.append(4) nvol=[] for i in range(256) : nvol.append(5) ntemp=[] for i in range(256) : ntemp.append(120) trans=str(ntrans) itab=degtabla(trans,tabla) itexte=degtabla(trans,texte) nryt=ndegrythme(trans,rythme) nvol=ndegvolume(trans,volume) ntemp=ndegtempo(trans,tempo) for k in range(256) : if itab[k] != "-1" : playnote(ntrans,itab[k],nryt[k],nvol[k],ntemp[k]) for k in range(256) : if itexte[k] != "-1" : fic=trad(ntrans,itexte[k]) if fic[0]==" " : fic=fic[1:len(fic)] if len(fic)>1 : playfic(fic[0],1,5,120) playfic(fic[1],1,5,120) else : playfic(fic,nryt[k],nvol[k],ntemp[k]) return texte def playtextegrille(ntrans,texte,grille,rythme,volume,tempo) : itexte=[] for i in range(256) : itexte.append("-1") nryt=[] for i in range(256) : nryt.append(4) nvol=[] for i in range(256) : nvol.append(5) ntemp=[] for i in range(256) : ntemp.append(120) trans=str(ntrans) nryt=ndegrythme(trans,rythme) nvol=ndegvolume(trans,volume) ntemp=ndegtempo(trans,tempo) itexte=degtabla(trans,texte) k=0 acc="" grille=normaliser(grille) grille=grille+" " for i in range(len(grille)) : l1=grille[i] if l1==" " : playficmp3(acc,nryt[k],nvol[k],ntemp[k]) k=k+1 acc="" else : acc=acc+l1 for k in range(256) : if itexte[k] != "-1" : fic=trad(ntrans,itexte[k]) if fic[0]==" " : fic=fic[1:len(fic)] if len(fic)>1 : playfic(fic[0],1,5,120) playfic(fic[1],1,5,120) else : playfic(fic,nryt[k],nvol[k],ntemp[k]) return texte def playfic(fic,nryt,nvol,ntemp) : delay=120000/ntemp delay=int(delay/nryt) nvol=nvol/10 if fic=="" : return fic="wav/"+fic+".wav" sound = pygame.mixer.Sound(fic) sound.set_volume(nvol) sound.play() pygame.time.delay(delay) sound.stop() return def playficmp3(fic,nryt,nvol,ntemp) : delay=120000/ntemp delay=int(delay/nryt) nvol=nvol/10 if fic=="" : return fic="mp3/"+fic+".mp3" sound = pygame.mixer.Sound(fic) sound.set_volume(nvol) sound.play() pygame.time.delay(delay) sound.stop() return def playnote(ntrans,inote,ndur,nvol,ntempo) : delay=120000/ntempo delay=int(delay/ndur) nvol=nvol/10 if int(inote)<=12 : inote="30" nvol=0 fic="wav/"+inote+".wav" sound = pygame.mixer.Sound(fic) sound.set_volume(nvol) sound.play() pygame.time.delay(delay) sound.stop() return def play(ntrans,tabla,rythme,volume,tempo) : itab=[] for i in range(256) : itab.append("-1") nryt=[] for i in range(256) : nryt.append(4) nvol=[] for i in range(256) : nvol.append(5) ntemp=[] for i in range(256) : ntemp.append(120) trans=str(ntrans) itab=degtabla(trans,tabla) nryt=ndegrythme(trans,rythme) nvol=ndegvolume(trans,volume) ntemp=ndegtempo(trans,tempo) icro=0 nrytval=4 nvolval=.5 ntempval=120 provcro="" tabla=tabla+" " for k in range(len(tabla)) : l1=tabla[k] if l1=="[" : icro=1 l1="" nrytvol=nryt[k] nvolval=nvol[k] ntempval=ntemp[k] elif l1=="]" : icro=0 l1="" if provcro != "" : playcrochet(ntrans,provcro,nrytval,nvolval,ntempval) provcro="" if icro==1 : provcro=provcro+l1 if icro==0 : playnote(ntrans,itab[k],nryt[k],nvol[k],ntemp[k]) return def playtabla(ntrans,tabla,rythme,volume,tempo) : itab=[] for i in range(256) : itab.append("-1") nryt=[] for i in range(256) : nryt.append(4) nvol=[] for i in range(256) : nvol.append(5) ntemp=[] for i in range(256) : ntemp.append(120) trans=str(ntrans) itab=degtabla(trans,tabla) nryt=ndegrythme(trans,rythme) nvol=ndegvolume(trans,volume) ntemp=ndegtempo(trans,tempo) for k in range(256) : if itab[k] != "-1" : playnote(ntrans,itab[k],nryt[k],nvol[k],ntemp[k]) return