ça dépend duquel tu parles. J'ai mis le tien (duke3d.psm) et le midi original (dn3d.psm)
Je comprend pourquoi dn3d.psm est pas très bien.
C'est parce que je ne connais pas la signification exacte du tempo
Ah oui bien sûr, la voici:
Comme tu le sais j'ai codé les durées avec des valeurs spécial sur la base d'une noire, PolySnd interpéte une noire avec un cycle de 32 fois tempo, Tempo est aussi transformé.
Pour avoir la liste des durées en fonction des notes, regarde un header de PolySnd.
Ses valeurs ne change pas en focntion de l'hardware des TI et encore heureux.
Par contre pour le tempo c'est autre choses:
Bande audio sur:
HW1=11 569 Hz
HW2=8192 Hz
Pour avoir la valeur correcte pour que PolySnd applique un certain nombre de cycles tempo qui correspondent à une durée précise.
;15360=(8192*60)/32
;21692=(11569*60)/32
La variable tempo ce traduit de cette façon:
HW2:
15360/tempo_bpm=tempo_polysnd
HW1:
21692/tempo_bpm=tempo_polysnd
Donc si je prend un tempo de 120 bpm avec 120 noire, je doit avoir un temps de 60 secondes (je suis sur HW2)???
Tempo=15360/120=128 (128 cycles tempo correspondent à une décrementation de 1 de durée...)
Donc 8192*60=491 520 passage de l'interruption audio soit bien sûr 1 minute.
Donc (32*120)*128=491 520
Au final, suivant la vitesse de la bande passante audio, il faudrat plus ou moins de cylces tempo pour décrémenter une durée de PolySnd.