Logicielsmoto.com

Nous sommes le 28 Mar 2024, 13:31

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 280 messages ]  Aller à la page Précédente  1 ... 4, 5, 6, 7, 8, 9, 10 ... 19  Suivante
Auteur Message
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 13:58 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Je me réponds à moi-même car je viens de lire tout le fil de discussion et franchement, je suis bluffé.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 14:45 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Pratiquement tous les effets sont supportés à présent:
  • 0xy Arpeggio OUI
  • 1xx Portamento Up OUI
  • 2xx Portamento Down OUI
  • 4xy Vibrato OUI
  • 5xy Volume Slide + Tone Portamento OUI
  • 6xy Volume Slide + Vibrato OUI
  • 7xy Tremolo OUI
  • 8xx Set Panning IGNORE (n'a pas de sens en mono)
  • 9xx Sample Offset OUI
  • A0x Volume Slide Down OUI
  • Ax0 Volume Slide Up OUI
  • Bxx Position Jump OUI
  • Cxx Set Volume OUI
  • Dxx Pattern Break OUI
  • E00 Filter on IGNORE (n'a pas de sens vue la fréquence où l'on joue.. Pourrait éventuellement allumer la LED caps lock?)
  • E01 Filter off IGNORE (n'a pas de sens vue la fréquence où l'on joue.. Pourrait éventuellement éteindre la LED caps lock?)
  • E1x Fine Portamento Up OUI
  • E2x Fine Portamento Down OUI
  • E3x Glissando Control OUI
  • E4x Set Vibrato Waveform OUI
  • E5x Set Finetune OUI
  • E60 Pattern Loop Start OUI
  • E6x Pattern Loop OUI
  • E7x Tremolo Waveform OUI
  • E8x Set Panning IGNORE (n'a pas de sens en mono)
  • E9x Retrigger OUI
  • EAx Fine Volume Slide Up OUI
  • EBx Fine Volume Slide Down OUI
  • ECx Note Cut OUI
  • EDx Note Delay OUI
  • EEx Pattern Delay OUI
  • EFx Invert Loop NON
    (et ne le sera probablement jammais tant je ne comprends pas l'intéret: un sample et son opposé (+v devient -v) sonnent pareil, auf qu'ici on peut inverser qu'une partie des octets de l'intrument. Comprends pas :???: on joue avec la phase ou quoi? )

Le truc pour toutes ces effects est qu'il sont trompeurs. Le format est mal conçu. Si au lieu de décrire le morceau au niveau ROW, on le décrit au niveaux FRAME (1 ROW = n FRAMES (n = 6 souvent), une FRAME = 1vbl = 20ms fixe), alors tout est beaucoup plus simple et toute cette plétore de commandes se réduisent à seulement 3 par canal:
  • démarrer un intrument
  • changer le volume
  • changer la fréquence
auquels s'ajoute le plus important
  • attendre 20ms et jouer le sons pendant ce temp là
C'est simple vu comme ca. :)

Après on peut enrichir avec des truc pour rendre ces commandes compactes et façilement décodables, mais ce n'est que du détail. Tout le boulot de traduction du MOD niveau ROW à notre format niveau FRAME est fait par le programme LUA mod2mp.lua. C'est lui qui se tape les subtilité (comprendre complications) du format PROTRACKER. Le player lui en reste à ces 3+1 instructions.

Cette dernière commande et celle sur laquelle j'ai écrit le premier message de ce fil car c'est là dedans que se joue la "magie". Elle fait tourner 4 compteurs (un par voix) 24 bit au format 16+8 bits. Les 16bits de la partie entière sont l'adressse de l'échantillon pour ce canal et les 8 derniers sont la partie fractionnaire de la fréquence ("pour jouer juste"). Puis les échantillons sont cherchés en mémoire à partir de la partie entière des compteur, modulés en volume, et additionnés pour sortir la valeur finale au DAC. Cela se fait en 200µs (ce qui fait 50ms par voix) et donc pour faire 20ms il suffit de boucler exactement 100fois. Voilà toute l'idée. Ca marche relativement bien car à 200µs par sortie sur le DAC on atteint 5khz ce qui est plus la qualité audio de la parole dans la téléphonie mobile. Evidemment si on pouvait réduire la durée de la boucle, on augmenterait la fréquence de sortie et par là même la qualité, mais j'ai peu d'espoirs de ce coté (1mhz c'est pas rapide quand on y pense).

_________________
Good morning, that's a nice Tnetennba


Dernière édition par Samuel Devulder le 15 Fév 2017, 10:13, édité 4 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 15:01 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Nice ! Et donc on pourrait tout à fait imaginer une commande F0 pour changer une couleur de palette et une commande F1 pour changer toute une palette, quelque chose dans ce gout la ...

Au final, il n'y a pas de problème particulier de RAM si ce n'est la taille des echantillons, c'est cela ? Car rien n'est unrollé ou précalculé au chargement (dans le convertisseur, c'est une autre histoire).

C'est techniquement transposable à un MO5 ou même a un TO7, si ce n'est le manque de RAM pour les echantillons. Juste ?

Edit: les echantillons sur 4 bits c'est pour stocker deux samples par octet mais surtout pour eviter la division par 4 dans le mix ? Ou il y a une autre raison ? la vision par 4 se fait en 4 cycles (deux shifts), est-ce vraiment si pénalisant, compte tenu de la perte de qualité sur les echantillons ? par exemple en dedoublant la boucle, on recupererait peu ou prou ces cycles sur le jump, non ? Enfin, il faudrait que je vois le code final actuel pour juger.


Dernière édition par Fool-DupleX le 13 Fév 2017, 15:13, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 15:10 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 454
Localisation: France
Pour la commande EF, ça semble prévu pour l'exploiter sur des samples très courts et très simples.
Par exemple si on a un sample comme ça:

Code:
FF FF FF FF


La commande EF va le transformer successivement en:

Code:
00 FF FF FF
00 00 FF FF
00 00 00 FF
00 00 00 00
FF 00 00 00
FF FF 00 00
FF FF FF 00
FF FF FF FF


Le résultat est un signal rectangle de largeur variable, qui ressemble assez à ce qu'on trouve souvent sur C64. Cela dit, la commande semble peu exploitable en dehors de ce cas bien particulier.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 15:14 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
@Pulko: ah merci pour les explications. C'est vraiment un cas très spécial en effet.

@Fool: Oui tout à fait. On peut parfaitement changer la palette à chaque fin de FRAME. Par exemple on peut lui faire prendre un gris/blanc dépendant du dernier échantillon envoyé au DAC. On aurait ainsi une couleur qui pulserait avec la musique. :bien: Je dis la palette, mais on peut aussi faire changer la couleur tour de l'écran avec les 4 bits du DAC. Avec une palette bien choisie ca peut faire de l'effet.
Fichier(s) joint(s):
Commentaire: Avec un petit effet graphique
xenon2_opt.zip [90.59 Kio]
Téléchargé 429 fois

Ca marche sans aucun soucis sur MO5 si ce n'est la l'organisation mémoire différente (voir les fichiers sources tst.ass). Pour l'instant je n'utilise pas encore le remapping de mémoire ni le timer.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 17:06 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Pardonne mon incompétence crasse, mais il y a quelque chose qui m'échappe dans le code. Le mix prend pile 200 cycles et il est réalisé Y fois, puis ensuite vient le code d'interpretation du mod, mais tel que je le comprends, le code d'interpretation est long et prend pas mal de cycles, sans compter le test clavier et pendant ce temps là rien ne sort sur le dac. Intuitivement, ca devrait faire des trous, bref je ne comprends pas pourquoi la musique sort nickel. Il y a un silence court toutes les 20 ms qu'on ne perçoit pas ? :???:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 17:17 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Fool-DupleX a écrit:
Il y a un silence court toutes les 20 ms qu'on ne perçoit pas ? :???:

Oui, exactement! La pause dure 100µs maxi (au pif). Un retard de 100µs fait un déphasage de 5%. C'est tellement petit que l'oreille ne l'entends pas. Ou pluitôt il recrée la continuité tout comme avec la persitance rétinienne. Le cerveau est très fort pour resynchronier l'audio. C'est une illusion auditive. Plus d'info sur ce genre de truc ici: https://www.youtube.com/watch?v=K4vyRvMASPU

[EDIT] correction des 's' que mon clavier mange de temps en temps.

_________________
Good morning, that's a nice Tnetennba


Dernière édition par Samuel Devulder le 13 Fév 2017, 19:32, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 19:16 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Ca c'est plus fort que du Roquefort !

Mais le code pour interpreter le MOD aussi court soit-il n'est pas time constant, si ? Et ça ne gêne pas ? Vraiment très fort ...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 19:27 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Oui le code d'interprétation des commandes ne se fait pas en temps contant et c'est mieux, ca reste ainsi un bruit irrégulier que le cerveau gomme. Tout ca tant que le retard reste petit par rapport à la période de la note jouée (autour de la ms). Pour rappel le LA440 a une période de 2.3ms. Donc on peut prendre sans problème quelques cycles 6809 de temps en temps. Le cerveau gomme tout ca parce que c'est très occasionnel tout compte fait. Après tout seule une période sur 10 est allongées de quelques petits pourcents tout au plus au plus. Les autres périodes sont régulières. Le cerveau (non entrainé) corrige ce défaut sans le faire parvenir au seuil de perception consciente. Le cerveau aime la régularité, il répare les légères irrégularités. C'était déjà visible (enfin, non-audible) avec le karaoké de l'an dernier: on peut faire appel au moniteur pour afficher pas mal de lettres entre deux "row" sans que ca perturbe l'écoute. Et pourtant PUTC est un truc d'une lenteur affolante.

Je trouve ca très cool de tirer parti des imperfection humaines pour pousser les limite de nos 8 bits. :cool: C'est ausi grace à cela que certaines images thomson ont l'air d'avoir plus de couleurs qu'en réalité:
Fichier(s) joint(s):
zzz.gif
zzz.gif [ 13.26 Kio | Vu 10573 fois ]
Fichier(s) joint(s):
xxx.gif
xxx.gif [ 12.38 Kio | Vu 10573 fois ]
Fichier(s) joint(s):
yyy.gif
yyy.gif [ 8.43 Kio | Vu 10573 fois ]

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 13 Fév 2017, 21:29 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Ces images sont très jolies, mais décidément, c'est personnel, le mode 160x200, j'accroche pas. Je préfère largement le mode 320x200x16 avec contraintes.

Tu as travaillé sur l'optimisation de la partie interpretation du MOD aussi j'imagine. Si c'est là qu'on va mettre le code pour le graphique, c'est là qu'il faut gagner des cycles. Personnellement, je remplacerais le JSR KTSTH en réécrivant directement un bout de routine clavier. Je sais qu'il y a un micro-controleur sur TO8, mais sur MO5, d'une part le SWI est super-lent et d'autre part, c'est un scan de matrice, on peut optimiser en ne scannant que les lignes des touches qui nous intéressent par exemple.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 14 Fév 2017, 00:03 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Bon je viens de terminer la mise au point de l'extension mémoire en $0000. Ca marche bien, et il est très appréciable d'avoir 2x16 ko de plus pour les instruments (2x parce qu'on met deux échantillons par octet). A présent "State Of The Art" passe à 100% et sans aucun défaut notable pour mes oreilles!
Fichier(s) joint(s):
Commentaire: SOTA sans trop de perte de qualité.
sota.zip [141.92 Kio]
Téléchargé 445 fois
On peut à présent réver convertir la plupart des MODs des démos amiga/st bref es 16bits qui nous faisaient baver d'envie! :D
Fichier(s) joint(s):
Commentaire: La soundtrack de la démo INTERFERENCE par Sanity (pas complètement débuggé: il y a des effets que je trouve chelou à l'écoute)
sanity-interference.zip [53.51 Kio]
Téléchargé 428 fois
Nota: sur ce dernier exemple on voit bien que baser la couleur du cadre sur la valeur de l'échantillon toute les 20ms n'est pas bon. On devrait intégrer le volume de tous le échantillons sur la période. Or cela peut être fait en prétaitement par le convertisseur. A voir pour plus tard.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 14 Fév 2017, 06:26 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1061
Localisation: France (24)
Samuel Devulder a écrit:
A présent "State Of The Art" passe à 100% et sans aucun défaut notable pour mes oreilles!

Il y en a un petit encore : Dans Condom Corruption (musique de State Of The Art), les mesures à 2:10 et 2:25 sont incorrectes. On a l'impression que la lecture fait 2 fois le morceau de partition entier alors qu'elle devrait faire 3 fois la première partie du morceau de partition et ne faire qu'une fois la deuxième . En d'autres termes, alors que les mesures devraient être sous la forme "aaab", elles ressemblent plutôt à "abab". Par contre, les mesures à 2:28, étrangement, sont correctes, alors qu'elles sont de même nature (enfin, je pense).

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 14 Fév 2017, 06:55 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1061
Localisation: France (24)
La trille à 3:18 est aussi trop rapide.

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 14 Fév 2017, 08:14 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Merci pour ces retours. Je vais rechercher l'effet mal supporté. C'est la partie la plus ardue avec le code compressé

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 14 Fév 2017, 11:54 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1802
Localisation: Brest
Fool-DupleX a écrit:
Edit: les echantillons sur 4 bits c'est pour stocker deux samples par octet mais surtout pour eviter la division par 4 dans le mix ?

A la base les échantillons sur 4 bits étaient lié au fait que ca simplifiait le mix en effet. La somme de ces 4 échantillons sur bits arrivent exactement sur les 6 bits du DAC. L'un de premiers tests que j'ai fait c'est tester la qualité du rendu. Et force est de constater que 4bits c'est largement suffisant. Ca n'est qu'après, bien après que j'ai réussi à exploiter le fait qu'on pouvait mettre 2 échantillons par octet sans ralentissements signficatifs (critère: toujours au desssus de 5khz).

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 280 messages ]  Aller à la page Précédente  1 ... 4, 5, 6, 7, 8, 9, 10 ... 19  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 26 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com