[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

jvernet
Messages : 2460
Inscription : 12 avr. 2007 10:59
Localisation : France 69
Contact :

Message par jvernet »

J'ai rien compris, mais c'est super si ça marche !

lol
Fabrice Montupet

Message par Fabrice Montupet »

:lol:
balou
Messages : 1824
Inscription : 09 avr. 2007 15:51
Localisation : Macon Saone et Loire

Message par balou »

jvernet a écrit :J'ai rien compris, mais c'est super si ça marche !
Pas mieux, à lire Jester et Daniel on dirait une partie de ping pong :D
Jean-Yves votre vg5000 n'est pas fragile
poumabaatwanadoo.fr
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17533
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Message par fneck »

Pour ma part, je suis plus que jamais confiant :D :D :D
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel »

Résumé pour vous éviter de relire les 4 pages de posts :

- Le synthétiseur de parole est émulé dans dcexel. Il y a encore quelques améliorations à faire avant la diffusion de la nouvelle version. Peut-être en février...

- Dans la foulée j'ai cherché et trouvé le moyen de créer les fameuses chaînes au format LPC utilisées pour jouer un son avec l'exl100. Depuis 25 ans beaucoup ont cherché, personne n'avait réussi. En fait, j'ai seulement déniché le programme QBOXPRO, tout le mérite revient à jester qui a su le comprendre et l'utiliser. Il a gagné le premier prix du concours que j'avais organisé :wink:

- Pour permettre de jouer les chaînes LPC sur PC, j'ai écrit un émulateur autonome du TMS5220

En attendant vos compositions originales, voici quelques chaînes de commandes LPC extraites de Capitaine Menkar http://dcexel.free.fr/tmp/menkar_lpc.zip
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17533
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Message par fneck »

Ce que je n'ai pas compris c'est comment on peut créer une chaîne de commandes LPC? Et d'où sort ce format au final?
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
jvernet
Messages : 2460
Inscription : 12 avr. 2007 10:59
Localisation : France 69
Contact :

Message par jvernet »

Et surtout, pourquoi "ça cause". Pourquoi Jester obtient "un bonhomme qui chante le son de démarrage de Windows".

Mais, il doit "suffire" de lire les docs du TMS5220, ce qu'ai j'ai arrété très vite après les premiers posts sur ce topic.

Il faudra faire un "how to" convertir un .WAV en un truc jouable facilement par DCEXEL ou un vrai EXL100 !

Chapeau messieurs quand même.
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel »

Non, ne cherchez pas dans la doc, il n'y a rien. Ou alors il disent qu'il faut envoyer le fichier son à exelvision, qui le fait traiter par Texas Instruments aux Etats-Unis. Pour comprendre comment faire il suffit de visionner la video de youtube dont j'ai donné le lien quelques posts plus haut.

Le format LPC est expliqué en détail dans le brevet américain dont j'ai donné les références (et consultable à la page documentation de dcexel).

Pour la musique, jester n'a pas encore trouvé le moyen de mettre le pitch à zéro pour produire des sons (unvoiced samples), alors QBOXPRO ne génère que de la parole (voiced samples). Au final tout est parlé, même les explosions. Et la musique instrumentale est transformée en chant :D
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13297
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Message par Carl »

Bravo à vous 2 pour le travail d'investigation !

si ça peut aider, un lien sur le sujet mais chez Commodore qui utilise aussi le LPC ...

http://www.stefan-uhlmann.de/cbm/MVM/MVM_WAV2MVM.html

carl
jvernet
Messages : 2460
Inscription : 12 avr. 2007 10:59
Localisation : France 69
Contact :

Message par jvernet »

Carl a écrit :Bravo à vous 2 pour le travail d'investigation !

si ça peut aider, un lien sur le sujet mais chez Commodore qui utilise aussi le LPC ...

http://www.stefan-uhlmann.de/cbm/MVM/MVM_WAV2MVM.html

carl
Ce dernier lien doit être une mine d'or, non ? Avec des sources C....
Fabrice Montupet

Message par Fabrice Montupet »

Peu d'information en effet...
Tout ce que contiennent mes documents internes d'Exelvision sous des listes interminables de DATA (effets sonores et synthèse vocale) extraits des cartouches et k7 éditées par Exelvision, ainsi que quelques lignes de code avec routine en ASM permettant de se libérer de la fonction CALL SPEECH pour envoyer au TMS5220 des tables de données de longueur importante.
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel »

En assembleur c'est beaucoup plus facile qu'en Basic : il suffit de mettre l'adresse des commandes LPC dans R10 et d'appeler le TRAP 4. Le CALL SPEECH du Basic a comme principal inconvénient la limite de longueur des chaînes de caractères.

Comment je l'ai écrit plus haut je prépare un article sur le fonctionnement et l'utilisation du TMS5220 dans l'EXL100, pour combler les grosses lacunes de la documentation officielle. Mais c'est plus long que prévu car il y a beaucoup de concepts à expliquer. En plus les protocoles de communication ne sont pas simples. La communication n'est pas directe entre le TMS7020 et le TMS5220, elle passe par le TMS7041, ce qui complique un peu les choses...

Dans le site indiqué par Carl il y a entre autres choses, ce lien : http://www.irisa.fr/metiss/guig/spro/
Ce n'est pas à proprement parler un convertisseur de wav en LPC, mais il contient tous les modules nécessaires pour construire son propre programme. Attention, ce n'est peut-être pas aussi trivial qu'ils le disent :wink:
The library does not provide for high-level feature extraction functions which directly converts a waveform into features, mainly because such functions would require a tremendous number of arguments in order to be versatile. However, it is rather trivial to write such a function for your particular needs using the SPro library.
Magic Voice n'est pas un générateur de LPC. Il permet de combiner des phonèmes de la rom pour constituer des phrases. Dans l'exl100 il n'y a pas de phonèmes préenregistrés, donc il faut coder toute la phrase.
Daniel
L'obstacle augmente mon ardeur.
Fabrice Montupet

Message par Fabrice Montupet »

Une fonction amusante , mais qui s'écarte complètement du sujet TMS5220:
Il est possible de faire jouer des notes de musique à l'EXL100 sans passer par le synthétiseur... mais en utilisant le port K7 (le signal émis par la K7 est envoyé au TV)
Si on donne alternativement des valeurs 0 et 1 au bit 3 du port périphérique 6, on obtient une fréquence. Cela peut-êre fait en jouant avec le TIMER du TMS7000 qui génère une interruption sur le port K7.
Daniel
Messages : 17424
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Message par Daniel »

Fabrice Montupet a écrit :Il est possible de faire jouer des notes de musique à l'EXL100 sans passer par le synthétiseur... mais en utilisant le port K7 (le signal émis par la K7 est envoyé au TV)
Nous avons déjà tout dit sur ce sujet quelques posts plus haut :roll:
Plus précisément j'ai expliqué comment produire plusieurs voix sur le port cassette en générant une fréquence inaudible modulée par plusieurs signaux audio.
Daniel
L'obstacle augmente mon ardeur.
balou
Messages : 1824
Inscription : 09 avr. 2007 15:51
Localisation : Macon Saone et Loire

Message par balou »

Vi mais alors pour les gars comme moi qui comprennent vite mais à qui il faut expliquer longtemps c'est bien :D
Jean-Yves votre vg5000 n'est pas fragile
poumabaatwanadoo.fr
Répondre