Logicielsmoto.com

Nous sommes le 21 Sep 2020, 04:00

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 273 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5, 6 ... 19  Suivante
Auteur Message
 Sujet du message: Re: MOD ?
MessagePosté: 26 Jan 2017, 21:27 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1054
Localisation: France (24)
Samuel Devulder a écrit:
Plus gros ca va être un poil plus dur car très vite on sature en RAM. Avec les MODULES de la démo "interference" (de sanity je crois) on avoisine les 32ko. J'arrive même pas à charger dans assembler ca ca écrase la page 0.

Le mieux que tu puisses, alors ;)

Samuel Devulder a écrit:
Bon en plus... je viens de réaliser que j'ai un bug dans la lecture du MOD: les échantillons sont signés et je les traitres comme non-signés! Ca explique le ronflement qu'on entend ainsi que certaines distorsions.

La musique va être encore plus claire. C'est une très bonne nouvelle :good:

_________________
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é: 26 Jan 2017, 22:49 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1261
Localisation: Brest
C'est ROCK-N-ROLL!!! :sol: :tourne:
Fichier(s) joint(s):
chuck-rock.gif
chuck-rock.gif [ 6.57 Kio | Vu 5216 fois ]
Fichier(s) joint(s):
Commentaire: Dezipper. Mettre le fichier disk.sap dans un émulateur. Appuyer sur B (boot AUTOEXEC.BAT). Ecouter
chuckrock.zip [164.92 Kio]
Téléchargé 217 fois

[EDIT] j'essaye des musiques de http://www.nemmelheim.de/cgs_small/index2.php, et c'est de la balle. ShadowOfTheBeast passe tout juste dans 28ko. Avec l'assembleur on peut l'écouter et remarquer que certains effets ne sont pas supportés par le convertisseur (mais c'est pas grave. Les formats trackers sont une jungle et rares sont les outils sachant lire tous les effets). Pour un test, ca dépasse de loin mes espérances de la qualité audio sur thomson. En paufinant ca avec un slidehow, il y aurait matière à faire de jolies choses.

Le plus gros problème est quand même la taille 32ko c'est tout petit en comparaison du fichier MOD initial (~200ko), mais c'est trop gros pour thomson. Les échantillons sur 16 bits ne demandent qu'à être compressés. Reste à trouver un truc efficace et malin (plus facile à dire qu'à faire).

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 27 Jan 2017, 08:53 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 421
Localisation: France
Sur TO8, je mettrais 1 sample par banque de RAM. Avec une RAM de 512K on pourrait donc avoir 32 samples, il me semble que c'est justement la limite du format MOD. Et ils seraient tous à la même adresse en RAM, mais dans des banks différentes. Pour choisir un sample, il suffit alors de connecter la bonne page de RAM.

Par contre c'est sur que ça demande un peu d'organisation pour loger autre chose dans la RAM qui reste...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 27 Jan 2017, 10:17 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1261
Localisation: Brest
Oui c'est une excellente idée :D Comme la commutation est assez facile sur TO8/TO9+ ca ne devrait pas être pénalisant. Pour le dispatch en RAM cela peut se faire au chargement du MOD. Oui c'est une bonne idée. Il faut aussi que la partie pattern tienne dans les 16k de $6000 à $9FFF, ou alors faire aussi de la commutation à chaque frame (20ms). C'est possible aussi. A garder dans un coin pour plus tard (quand on aura des mods avec des instruments de 3-6secs voir plus ;) ).

Pour ma part j'entrevois une facon rigolotte de compacter les samples. L'idée naïve serait de mettre deux échantillons audio consécutifs à chaque adresse. Ok c'est logique, mais cela aura un impact sur le player qui doit, pour chaque échantillon, regarder la partie fractionnaire de l'addresse pour savoir si c'est la partie haute ou basse de l'octet qu'il faut utiliser. Le temps d'execution va se ralonger énormément et la fréquence de sortie descendre appauvrissant sérieusement la qualité. :voyons:

Or on peut être un poil plus malin :p et se dire que la partie haute des octets appartient par exemple aux instruments pairs et la partie basse aux impairs. Donc au lieu qu'un octet appartienne à un seul instrument, il supperpose 2 instruments: l'un pair, l'autre impair. Comme si on avait un monde parallèle permettant de stocker le double de données. Ca fait penser à la supperposition d'états quantiques.. (au secours, il est fou! :bouffon: ).

:voyons: Et c'est mieux ca ? Oui car la décision se fait au moment de l'attribution d'un instrument dans une voix (par modification du code en temps réel). Une fois de temps en temps et pas à chaque échantillon, ca change tout. Mais pour le player ca ne change pas beaucoup ;) . Cela ajoute seulement une instruction de 2 cycles par voix à la partie mixage :bien: :
Code:
LDB   $nnnnn  ; récupération échantillon
ANDB  #$0F    ; pour ne travailler que sur la partie basse. $F0 pour l'autre partie <== C'EST LE SEUL AJOUT
ORB   #$v0    ; volume (ou $0v pour les instruments sur l'autre moitié) 
ADDA  B,U     ; ou B,Y pour l'autre moitié (U contient un table $vx (v=>volume, x=>échantillon), Y une table $xv où les indexes sont renversés)

A noter qu'à ce moment là on a un joli problème d'optimisation algorithmique à résoudre pour faire en sorte d'utiliser ce double rangement de façon optimale. En effet, il faut décider quels instruments mettre en partie haute et lesquels en partie basse, tout en minimisant la quantité de mémoire utilisée. C'est un problème voisin du bin packing ou du sac à dos. Ce sont des problèmes difficiles à résoudre algorithmiquement dans le cas général, aussi il faudra se contenter d'une approximation pas trop mauvaise de la solution optimale.

Mais même sans avoir recours à la superposition d'échantillons, il existe pas mal de MODs de tailles raisonnables (surtout issu des cracktros) qui sonnent très très bien. Il y a ~10 ans j'avais aspiré une partie du site http://amigamusic.tripod.com (tripod, vous vous en souvenez?). Ca trainait au fin-fond de mon disk-dur du PC de l'époque (celui que j'utilise en ce moment: c'est dans les vieux pots qu'on fait les meilleures soupes!). Je les ai retrouvés, et il y a une plétore de MODs à explorer: 782 fichiers pour un total de 27Mo, soit des MODs de ~50ko environ ce qui est une bonne taille pour la conversion (les samples sont divisés par 4 pour s'accomoder de la fréquence du thomson).

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 28 Jan 2017, 22:29 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1054
Localisation: France (24)
Tu es absolument sûr de ton coup pour la conversion des samples ? Je trouve qu'il y a encore une petite distorsion qui traîne. Je sais bien que ça n'est que du 5000Hz, mais tu devrais avoir quand même un meilleur rendu. Au pire du souffle.

_________________
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é: 29 Jan 2017, 08:43 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1261
Localisation: Brest
Normalement tout est bon, mais comme la partie décimale n'est que sur 8 bits, il peut y avoir une perte précision particulièrement sensible quand les frequences sont faibles (<64 par ex.) car le compteur n'utilse alors plus que 6 des 8 bits. Mais ca doit être rare.

Pour vérifier cette hypothèse, aurais-tu noté l'instant (en min:sec) et le morceau où tu entends cela pour que je vérifie la traduction pour ces instants là?

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 29 Jan 2017, 09:01 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1054
Localisation: France (24)
Pour tout dire, c'est un peu partout du grésillement. Au début, par exemple, quand on n'entend que la percussion. Mais bon, vu à quoi le sample pourrait ressembler, il est plutôt normal que ces grésillements apparaissent plutôt sur la fin que sur le coup lui-même.
Je n'ai pas trop regardé ton code de conversion, mais fais-tu un resampling ou un filtrage quelconque sur les samples ?

_________________
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é: 29 Jan 2017, 10:14 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1261
Localisation: Brest
Pour les samples, je réduis leur taille par 4 en sommant 4 échantillons consécutifs et en divisant le tout par 4. Ca réalise une moyenne. Du coup les hautes fréquences des percussions sont forcément un peu gommées.

Pour gagner plus de place j'avais essayé de faire une moyenne sur 8 échantillons d'origine, mais alors certains instruments se transformaient en truc bruité méconnaissable. Du coup je suis resté à la valeur de 4 qui est un bon compromis.

Plus tard j'ajusterais peut-être ce paramètre suivant l'octave dans lequel est joué cet instrument. Les graves pourront alors être compressés d'un facteur 8, et les aigus d'un facteur 3 ou 4 par exemple. Il y a pas mal de possibilité à explorer, mais c'est vrai que 5khz c'est pas de la hi-fi et qu'on sera forcément loin de reproduire exactement le son d'origine. Déjà là je trouve la qualité de sortie vraiment exceptionnelle pour du 8bits.

En ce moment je traque un bug dans les "portamento". Je sais pas ce que ca signifie pour les musiciens, mais en fait c'est une montée automatique d'une fréquence qui fait un truc bizzare à peu après le début de ce morceau (au 2e pattern plus précisément):
Fichier(s) joint(s):
bug-1xx.zip [29.39 Kio]
Téléchargé 197 fois

[EDIT] trouvé! C'est une différence entre la commande "3" (https://www.youtube.com/watch?v=aMH22ACuq68) et la commande "1" (https://www.youtube.com/watch?v=IQr8X1Yv0ao). Hum ces glissades sont mal traduites par le player de Gasman (le 3 fait monter jusqu'à une note précise et ca ne bouge plus après, le 1 ne fait monter que pendant un "Row"). Pfff c'est vraiment pas simple de traduire toutes ces commandes (http://coppershade.org/articles/More!/T ... _Commands/).

Bon j'ai corrigé le cas des commandes "1xx" et "2xx". C'est bien mieux. La commande "3xx" n'est pas supportée. Je vais faire sortie une erreur quand cette commande apparait, ca sera mieux.
Fichier(s) joint(s):
bug-1xx-corrigé.zip [27.27 Kio]
Téléchargé 193 fois

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 29 Jan 2017, 11:45 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1054
Localisation: France (24)
Samuel Devulder a écrit:
Pour gagner plus de place j'avais essayé de faire une moyenne sur 8 échantillons d'origine, mais alors certains instruments se transformaient en truc bruité méconnaissable. Du coup je suis resté à la valeur de 4 qui est un bon compromis.

As-tu essayé avec... seulement 1 ? Tu prends 1 échantillon tous les 8.
Sans ça, continue comme ça, c'est excellent ! :good:

_________________
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é: 29 Jan 2017, 12:44 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1261
Localisation: Brest
1 tous les 4/8 ? Non j'ai pas essayé, ca va faire moche puisqu'on oublie certaines valeurs. Ca ne coute rien essayer. allez zou!
Fichier(s) joint(s):
Un sur 4.zip [27.69 Kio]
Téléchargé 215 fois
Bon j'ai du mal à juger si c'est mieux ou moins bien. J'entends plus de souffle/gresillement, ce qui est logique puisque le signal n'est pas lissé. Les hautes fréquences sont moins atténuées, mais cela laisse passer du bruit. Donc bof. T'en penses quoi?

_________________
Good morning, that's a nice Tnetennba


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

Inscription: 27 Juin 2006, 19:44
Messages: 1054
Localisation: France (24)
Comme tu dis : un peu plus de souffle mais des instruments un peu plus présents. À toi de voir.
Il faut dire que la musique de Shadow Of The Beast est presque exclusivement composée de "pipes", donc très soufflée à l'origine. Tu devrais essayer avec des MOD dont les instruments sont un peu plus vibrants. Et éventuellement laisser le choix à l'utilisateur.

_________________
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é: 29 Jan 2017, 13:28 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1054
Localisation: France (24)
Tu peux même faire un petit analyseur d'onde, et appliquer automatiquement à chaque instrument une méthode d'extrapolation, selon la complexité de la courbe.
De plus, une extrapolation sonore a toujours tendance à réduire le volume, donc rien ne t'empêche de l'augmenter un peu par contrecoup, éventuellement en atténuant les valeurs faibles et en augmentant les valeurs fortes, puisque ce sont les variations qui définissent l'intensité.

EDIT: Mais bon, au bout du compte, ça va peut-être trop altérer le sample aussi :L

_________________
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é: 29 Jan 2017, 18:28 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1261
Localisation: Brest
Au fur et à mesure de mes essais de conversion de modules de démo j'ajoute le support pour les commandes manquantes par rapport au format.

Le moins que je puisse dire c'est que c'est une tache très très difficle. :L Le format PROTracker n'est pas des plus logiques ni simples, et je me demande comment traduire certaines commandes. Par exemple les 9xx qui font débuter un instrument ailleurs qu'à son début. Je n'ai pas prévu d'instructions pour ca dans le player et il n'y a plus d'encodage de libre. Je crois que je vais devoir créer des instruments fictifs pour faire cette command. Ou encore les Exx qui font pleins de trucs sans rapport les uns aux autres (voir la liste ici pour toutes les commandes).

Il est clair qu'il sera impossible de pouvoir tout supporter, mais je voudrais au moins ajouter le support pour les 4xy (vibrato) et 7xy (tremolo) qui sont fréquents. Ces trucs là m'ont l'air super compliqués à comprendre à partir de la spec (ca parle de moduler la fréquencce par un sinus?!?), aussi je suis obligé d'analyser les codes sources de players ASM et once_upon_src/cool_mzx/pt.c (fichier avec commentaires en finlandais.. misère :voyons: ).

Certes on peut se passer de ces effets, mais ca sonne nettement moins bien :(

Bon disons que j'arrive à coder 4xy, 7xy et 9xx. Peut-on dire que ce sera fini? Non pas encore. Je voudrais compacter les instruments pour n'avoir que des incréments<=255, c'est à dire ne pas avancer de plus d'un échantillon par boucle. D'une part les données seront plus courtes, mais surtout je pourrais remplacere le SUBD dans la boucle par un LDD et ajouter le ANDB permettant le stockage de 2x plus d'échantillons en RAM. Lle player tournera alors à 201us. C'est un cycle de trop par rapport aux 5khz, mais ce sera tout à fait acceptable. Avec de telles caractéristiques je pense que la plupart des morceaux amiga connus tiendront dans ~24ko ce qui sera une très belle prouesse (c'est environ 10x plus compact que les mods d'origine qui sont considérés comme très compacts). J'espère ne pas avoir d'ambition trop élevée avec cet objectif.

Concernant le volume, j'ai déjà une bidouille qui marche bien. Je calcule la puissance moyenne (RMS) de tous les échantillons et de tous les instruments, et dans le fichier produit je m'arrange pour que ce RMS corresponde à 86% du volume max. Ca gonfle le volume suffisamment sans introduire de grosse diistorsions (on déborde de 20% par rapport au RMS d'un sinus pur).

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 30 Jan 2017, 09:13 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 421
Localisation: France
Pour resampler les samples, il vaut peut-être mieux regarder du côté des outils existants. Je pense à sox, qui a plein d'algorithme pour faire quelque chose d'un peu plus propre: http://sox.sourceforge.net

Pour le vibrato, c'est une "vibration" de la fréquence autour de celle de la note, plus ou moins forte selon le paramètre de l'effet. Donc au lieu d'être à 440Hz, la fréquence est à 440, puis 441, puis 442, puis 441, 440, 339, 338, 339, ...

Pour le tremolo, c'est la même chose, mais sur le volume.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: MOD ?
MessagePosté: 31 Jan 2017, 16:12 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 1261
Localisation: Brest
Groumph :( :cry: La chasse est ouverte!

J'ai ajouté un truc bien pratique: la possibilité de pouvoir couper ou allumer certaines voix avec les touches du clavier:
  • 0 => coupe toutes les voix
  • 1 => active/désactive la voix 1
  • 2 => active/désactive la voix 2
  • 3 => active/désactive la voix 3
  • 4 => active/désactive la voix 4
Jusque là tout va bien :)

Mais là où je ne comprends plus c'est qu'à présent tout est joué désaccordé! Essayez le fichier suivant, appuyez sur 0 puis 1 pour n'activer que la voix 1 et dites moi si a sonne juste ou pas chez vous. Moi je n'entends que des canards :orni:
Fichier(s) joint(s):
désaccordé.zip [24.6 Kio]
Téléchargé 188 fois

Je suis perplexe. :voyons: Qu'est-ce que j'ai cassé ???? :mad:

[EDIT] en fait je crois que je n'ai rien cassé, mais que c'est une particularité de ce morceau "chiptune". Certains instruments n'ont qu'entre 9 et 11 échantillons, ce qui me semble un peu faible. Si je fais en sorte que ces instruments ont de l'ordre de 10 fois plus d'échantillons (80-120), alors on entends beaucoup moins de trucs dissonnants.
Fichier(s) joint(s):
avec_100échantillons_par_instru.zip [49.85 Kio]
Téléchargé 199 fois

Mais malgré cela, la version d'origine de ce post: viewtopic.php?p=4822#p4822 présente nettement moins de canards. Est-ce lié au fait que les samples étaient traités comme no-signés et donc introduisent du bruit qui empêche les oreilles non expertes d'entendre le désaccordement.

[EDIT2] Oui c'est bien ca. J'ai découpé la partie instru de la version initialle (celle où ils étaient incorrectement non-signés) et je l'ai injectée dans la version avec les canards. D'une part c'est un peu plus bruité, mais surtout: je n'entends plus les canards. Donc ma théorique que le bruit atténue les canards est validée. Et cela explique aussi ta remarque Préhisto sur le fait que ca ne sonnait pas juste dans ce 1er morceau. Moi, comme non musicien, je n'entends pas ces dissonances quand il y a du bruit dans le son, mais toi je pense que tu as l'oreille absolue ou pas loin et tu perçois les dissonnances au travers du bruit. Tout s'explique! :D
Fichier(s) joint(s):
échantillons_non_signés=pas_de_canards.zip [23.91 Kio]
Téléchargé 189 fois

_________________
Good morning, that's a nice Tnetennba


Dernière édition par Samuel Devulder le 31 Jan 2017, 19:31, édité 2 fois.

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

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 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