[Exelvision] Emulation de la synthèse du son

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Répondre
Daniel
Messages : 17318
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

[Exelvision] Emulation de la synthèse du son

Message par Daniel »

L'émulation du synthétiseur TMS5220 de l'EXL100 comporte deux volets :
- La composition des buffers envoyés à la carte son, à partir de la chaîne de commande et des échantillons de son.
- L'extraction des échantillons de son de la rom

Pour la composition des buffers, deux approches sont possibles :
1) Emuler finement le comportement électronique du synthétiseur. C'est la méthode utilisée par les développeurs de Mess (vraissemblablement Raphaël Nabet). Le module existant pourrait éventuellement être utilisé tel quel.
2) Considérer le synthétiseur comme une boîte noire, recevant en entrée les octets de commande et produisant en sortie des buffers pour la carte son. C'est à mon avis plus facile, et à priori je choisirais plutôt cette méthode.

L'extraction des échantillons de son est un problème intéressant. Il n'y a vraissemblablement pas de solution simple pour lire physiquement la rom interne. Par programmation, l'accès au TMS5220 est indirect, puisqu'il passe par le TMS7041, et il n'est peut-être pas possible d'accéder aux échantillons. Si cette impossibilité est avérée, il faudra les reconstituer en observant la sortie obtenue pour chaque commande élémentaire. Pratiquement, c'est créer un programme EXL100 pour envoyer une par une toutes les commandes possibles, enregistrer la sortie dans un fichier wav, et analyser le résultat pour reconstituer l'échantillon utilisé. Très intéressant, mais aussi très difficile...

Sur ces deux points, toute aide sera la bienvenue.
Daniel
L'obstacle augmente mon ardeur.
jvernet
Messages : 2454
Inscription : 12 avr. 2007 10:59
Localisation : France 69
Contact :

Message par jvernet »

Il y a des echantillons de sons dans la ROM ? Ou est ce un synthètiseur pur ?

Vu la complexité des commandes CALL SPEECH, ça va être coton, la deuxième méthode !!


Jerome
Daniel
Messages : 17318
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel »

Le synthétiseur est décrit dans le "TMS5220 Data Manual"
La méthode de compression des chaînes de commande est décrite dans le brevet US #4335277
Les deux documents sont à la page documentation du site dcexel : http://dcexel.free.fr/doc/index.html

Pour l'utilisation à partir d'un programme EXL100, il faut se reporter aux différents manuels, et aussi à quelques articles d'Exelement Votre. Il faut être bien conscient que c'est difficile, et que personne n'y est encore arrivé. Mais à mon avis nous avons assez d'informations maintenant pour réussir. Exactement comme pour le TMS3556. Sauf que les sons seront peut-être plus difficiles à capturer que le papillon :wink:
Daniel
L'obstacle augmente mon ardeur.
jvernet
Messages : 2454
Inscription : 12 avr. 2007 10:59
Localisation : France 69
Contact :

Message par jvernet »

l'avantage, c'est qu'il y a enormement de docs sur ce TMS 5220, et qu'il est utilisé aussi dans le TI99, non ?

Si j'ai bien lu, les sons sont stockés dans un VSM TMS 6100. est ce que l'on est sur que l'EXL100 a des sons stockés en ROM ? Ce n'est pas l'EXLETEL qui en a ?
Fabrice Montupet

Message par Fabrice Montupet »

jvernet a écrit :l'avantage, c'est qu'il y a enormement de docs sur ce TMS 5220, et qu'il est utilisé aussi dans le TI99, non ?
Exact.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Message par 6502man »

Quel est le nombre d'echantillons dans le synthetiseur ?

et quel sont leur longueur en octets et leur durée ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
dyter
Messages : 43
Inscription : 28 sept. 2008 14:22
Localisation : Rhône

Message par dyter »

Walter (Alias Editions PUSSY)
http://miniordi.free.fr/EXL100.htm
Daniel
Messages : 17318
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel »

C'est une bonne synthèse de ce qui existe sur internet. J'ajouterai aussi le brevet américain mentionné dans un post précédent et disponible sur le site dcexel. Il y a deux domaines principaux à explorer :

1) Récupération des échantillons de son de l'EXL100. Puisque c'est fait pour le TI/99, il faudrait se renseigner sur la méthode utilisée et voir si elle est applicable à l'EXL100. Ou sinon trouver une autre solution.

2) Programmation de l'émulation du synthétiseur. Le module de MAME est une excellente base de départ, et j'ai déjà cherché comment l'intégrer à dcexel. Ce n'est pas facile car il fait appel à de nombreux autres modules. Dans l'état il n'est utilisable que dans le contexte de MAME. J'hésite encore entre deux solutions : soit le modifier pour qu'il s'intègre à dcexel, soit réécrire un nouveau programme en s'inspirant du programme existant.

Dans tous les cas ce sera très long à réaliser, mais je pense qu'avec beaucoup de persévérance ce n'est pas impossible.
Daniel
L'obstacle augmente mon ardeur.
humeur
Messages : 1875
Inscription : 11 août 2008 13:13
Localisation : la roche sur yon
Contact :

Message par humeur »

Daniel a écrit :Dans tous les cas ce sera très long à réaliser, mais je pense qu'avec beaucoup de persévérance ce n'est pas impossible.
je vais regarder dans mon bor.... si j'ai quelque chose pour la parole, de memoire ce n'est pas certain.

bonnes fêtes

jean louis
Recherche Tout sur le TI99/4a que ce soit materiel Texas ou Atronic, Mechatronic, Vidéopac, victor hector
figurine Kinder
Daniel
Messages : 17318
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel »

Nouvelle démonstration de Wizord avec en première mondiale l'émulation (encore imparfaite) du synthétiseur de l'exl100. J'ai également tenté de corrigé le bug de blocage dans le champ d'astéroïdes, mais comme c'était aléatoire je ne suis pas certain du résultat. Je compte sur les hard-gamers que vous êtes pour me le dire :wink:

http://dcexel.free.fr/tmp/wizord_demo.zip (72 Ko)

Rappels :
- Fin-D puis 1, 2 ou 3 pour le mode démo
- Dans les version de démo les menus de dcexel ne sont pas actifs
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17424
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Message par fneck »

Héhé, bravo Daniel 8)
Comme je ne connais absolument pas le jeu original sur l'Exelvision je n'ai aucune idée de la fidélité de la reproduction sonore.
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Message par 6502man »

SUPERBE !


BRAVO DANIEL.
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Daniel
Messages : 17318
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel »

Finalement je n'ai pas réussi à extraire la rom du TMS5220, mais j'ai trouvé des informations dans la documentation de l'Acorn BBC Microcomputer System. J'ai recopié les tables de valeurs de l'énergie, du pitch et des coefficients de réflexion. Les échantillons (chirptable) et la table des coefficients d'interpolation viennent du module 5220 de l'émulateur Mame, dont je me suis un peu inspiré.

Le résultat devrait être réaliste, mais à l'oreille je ne suis pas très satisfait. C'est bon dans l'ensemble, mais il y a probablement de petites erreurs d'arrondis dans le calcul des filtres, et au bout du compte la distorsion est audible. J'essaierai d'améliorer tout ça pour la prochaine version de dcexel.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Message par Carl »

Beau travail !
carl
Avatar de l’utilisateur
Rhod
Messages : 12143
Inscription : 09 avr. 2007 09:54
Localisation : Orléans
Contact :

Message par Rhod »

les compétences de certains me laissent sans voix :wink:

Bravo
Répondre