Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
Faites de la musique avec votre TI. - Page 1 / 2
alexvire le 05/07/2010 à 16:11
Bonjour, en m'inspirant d'un programme déjà existant, j'avais fais un programme en ASM permettant de produire des sons, le voilà: (Pour entendre les sons, voir
ici.)
ZSOUND: (Ne faites pas d'erreurs !)
Code
F306D078D300CD8E42213A803641CDEC4ECDFC4E43C5CD8E42213A803642CDEC4ECDFC4E63C1C53E
FFD300440010FD3EFCD300440010FDC110ECFBC9
End
0000
End
Pour le faire fonctionner, entrez une valeur comprise entre 0 et 255 dans les variables A et B puis faites Envoi(9prgmZSOUND) pour produire un son. Biensûr vous pouvez créer un programme (A l'aide des boucles "For(" par exemple.) qui change les valeurs des variables tout en lançant le programme ASM. Les valeurs de A sont le tempo tandis que celles de B sont la sonorité. (Grave ou aigu.)
Akmdad le 05/07/2010 à 17:53
bravo pour ton prog!
voici Piano, qui va avec!
a utiliser en tournant la calto écran a droite et les toutes les touches!
Code
100->A
Lbl 1
codetouche->C
C/10->C
partDéc(C)×2->D
partEnt(C)+D->C
C×10->C
C×2+20->B
If C>20
Envoi(9prgmZSOUND
Goto 1
Akmdad le 06/07/2010 à 03:49
c'est génial l'ASMAkmdad le 06/07/2010 à 16:40
pas de remerciements???Rézus le 06/07/2010 à 19:59
Je crois que personne n'a encore testé.Akmdad le 06/07/2010 à 20:40
testez-le alorsRézus le 08/07/2010 à 11:37
J'ai pas les écouteurs qui vont avec.Akmdad le 08/07/2010 à 11:48
moi non plus mais t'as une radio reglable am, fm?Rézus le 08/07/2010 à 11:50
Oui mais la fréquence ne va que jusqu'à 160 en AM.
Et puis ici il faut brancher des écouteurs ou des hauts parleurs à la TiAkmdad le 08/07/2010 à 11:53
faux, tu peux utiliser l'AM enfin si t'y arrive...moi sa marche a 702Mégaforce22 le 19/11/2011 à 19:21
j'ai les écouteurs mais j'attends d'être sur ordi(je suis sur téléphone là) pour télécharger l'ASM car c'est risqué à la main et que j'ai pas de backup à jour.
Edit: cela ne marche pas.Sangohan38 le 19/11/2011 à 20:21
Double post, remontage de sujet ... Toi tu commence mal.
Sinon, essaye avec la radio en mode AM.
Sangohan38charlesjean le 05/11/2012 à 18:49
je vous met tous au défi d' écrire une belle mélodie avec
ce prgm en mettant les numéros correspondant aux notes dans une liste(pas plus de 999 notes!)
Code
dim(La->c
200->A
for(e,1,c
La(e)->b
Envoi(9prgmNOM DU PRGM
End
(La=liste a)
ld le 05/11/2012 à 19:05
Bravo pour ton prgm ! Excellent !
Pour ma part j'ai les écouteurs avec la prise Jack compatible.
Charlesjean je relève le défis de faire jouer Für Elise à cette calto !

charlesjean le 05/11/2012 à 20:16
bonne idée,voici quelqu'un de courageux!ld le 06/11/2012 à 18:07
Charlejean ?

Euh... L’intervalle entre deux valeurs de B ne semble pas proportionnel à la fréquence.
Si on imagine par exemple:
B=100 alors F=400Hz
alors la suite:
B=200 alors F=800HZ
n'est pas vrai.
De plus la durée des notes semble aussi se raccourcir en allant pour une même valeur de A.
Cà ne va pas être simple.
C'est normal tout çà ?
Question qui n'a aucun rapport:
Comment fait'on sur ce forum pour mettre des liens vers ses programmes, de façon a ce que l'adresse n'apparaisse pas s'il vous plait ? Du genre cliquer "ici".
linkakro le 06/11/2012 à 19:00
Il me semble probable que les fréquences soient générées par une division de la fréquence de la calculatrice par B+constante ou 2^B. (on effectuerait une temporisation entre deux impulsions de son)
[url=http]ici[*/url]ld le 06/11/2012 à 19:16
Non je ne pense pas que ce soit "B + constante"...
Pour l'autre c'est probable mais d'où sors-tu 2^B ? Comme çà ??
Merci pour [url=http]ici[/url]

Tu as fait une erreur il y avait une étoile * en trop.
linkakro le 06/11/2012 à 21:29
2^B parce qu'imbriquer des boucles ou utiliser de la récursivité permet de simuler un diviseur de fréquence.
En électronique logique on utilise des bascules Toggle synchrones en série, chaque bascule divisant la fréquence de l'horloge par 2. B bascules divisent par 2^B.
f=F/2^B
(ici je néglige la durée d'execution des instructions qui simuleraient le diviseur)
B+constante parce qu'une boucle peut temporiser de B cycles, et qu'il faut tenir compte des cycles d'execution de la boucle.
Cependant je me suis trompé en l'énonçant, ce serait f=1/(B+cst)
EDIT: il est encore plus simple d'incrémenter un/des registres/variables et de tester le bit B pour arriver à une division de fréquence par 2^B.
Ou bien les exeperts de l'assembleur on trouvé une autre méthode.
Dans tous les cas je manque d'expérience.
Cependant on peut chercher expérimentalement des notes.
L'étoile permettait d'être sûr que tu visses (verbe voir) le code source. Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.