Musique1-bit sur VG5000
Modérateurs : Papy.G, fneck, Carl
Musique1-bit sur VG5000
Bonjour,
mon interpréteur Lisp étant presque terminé, je souhaiterais faire une petite démo de son 1-bit sur VG5000. Je suis au commencement du début de la compréhension de ce sujet
Commençons par le matériel: le VG5000. Il n'y a rien sur la gestion matérielle du son dans les documents techniques. En lisant la ROM, je crois avoir compris que le beeper est activé par le port $AF du Z80. Les valeurs possibles données au port $AF ne semblent avoir que deux possibilités: 0 et 8. Est-ce bien le cas? J'ai essayé de passer d'autres valeurs au port $AF, mais mes problèmes auditifs ne me permettent pas de vérifier si il y a une différences dans les sons émis.
Les sons compexes semblent être réalisés en jouant sur la fréquences d'envoi des données au beeper. Toujours exact?
Merci d'avance pour les réponses que vous pourrez m'apporter.
mon interpréteur Lisp étant presque terminé, je souhaiterais faire une petite démo de son 1-bit sur VG5000. Je suis au commencement du début de la compréhension de ce sujet
Commençons par le matériel: le VG5000. Il n'y a rien sur la gestion matérielle du son dans les documents techniques. En lisant la ROM, je crois avoir compris que le beeper est activé par le port $AF du Z80. Les valeurs possibles données au port $AF ne semblent avoir que deux possibilités: 0 et 8. Est-ce bien le cas? J'ai essayé de passer d'autres valeurs au port $AF, mais mes problèmes auditifs ne me permettent pas de vérifier si il y a une différences dans les sons émis.
Les sons compexes semblent être réalisés en jouant sur la fréquences d'envoi des données au beeper. Toujours exact?
Merci d'avance pour les réponses que vous pourrez m'apporter.
Dernière modification par joaopa le 23 janv. 2016 03:59, modifié 1 fois.
Re: Musique1-bit sur VG5000
Je n'ai pas un vrai VG5000. Quelqu'un peut-il essayer sur une vraie machine pour vois si le sifflement y est aussi présent?
Sur dcvg5k, c'est très audible au début. A un certain moment ca s'atténue et ca reprend
Dernière modification par joaopa le 24 janv. 2016 18:45, modifié 1 fois.
Re: Musique1-bit sur VG5000
Salut Joaopa,
Je viens de faire le transfert sur un VG5000 "stock", le son est de façon un peu surprenante très bon (j'avais un à priori négatif sur la musique 1 bit) ! Pas d'effet de souffle, on distingue bien la batterie et la basse (même si un poil faible). Les arpèges ressemblent à ce que l'on peut faire avec une puce AY.
Bref, c'est une vraie réussite ! Tu as repris du code Spectrum ?
Je vais à tout hasard faire un test avec une autre télé, je suppose que le résultat dépend aussi de cet appareil vu que c'est son haut parleur qui fait le boulot.
Je viens de faire le transfert sur un VG5000 "stock", le son est de façon un peu surprenante très bon (j'avais un à priori négatif sur la musique 1 bit) ! Pas d'effet de souffle, on distingue bien la batterie et la basse (même si un poil faible). Les arpèges ressemblent à ce que l'on peut faire avec une puce AY.
Bref, c'est une vraie réussite ! Tu as repris du code Spectrum ?
Je vais à tout hasard faire un test avec une autre télé, je suppose que le résultat dépend aussi de cet appareil vu que c'est son haut parleur qui fait le boulot.
Re: Musique1-bit sur VG5000
En effet, c'est une adaptation d'un code spectrum. Donc tu confirmes que sur une vraie machine il n'y a pas les défauts entendus sur dcvg5k?
Ca serait assez génial...
Ca serait assez génial...
Re: Musique1-bit sur VG5000
J'ai essayé sur deux autres télévision, aucun problème.
Afin de pouvoir comparer, j'ai lancé le programme sur l'émulateur de Daniel. Je peux te dire que ça n'a rien à voir avec la vraie machine ! On entend bien une fréquence résiduelle asses infâme, le volume se réduit à certains moment, c'est largement moins bon que sur un VG5000. J'ai aussi l'impression qu'il y a une petite différence de vitesse (la musique est plus rapide sur l'émulation).
Bref, Daniel, va falloir retaper le code de l'émulation sonore .
Afin de pouvoir comparer, j'ai lancé le programme sur l'émulateur de Daniel. Je peux te dire que ça n'a rien à voir avec la vraie machine ! On entend bien une fréquence résiduelle asses infâme, le volume se réduit à certains moment, c'est largement moins bon que sur un VG5000. J'ai aussi l'impression qu'il y a une petite différence de vitesse (la musique est plus rapide sur l'émulation).
Bref, Daniel, va falloir retaper le code de l'émulation sonore .
Re: Musique1-bit sur VG5000
Tous les émulateurs ont le même problème, qui est lié à la fréquence d'échantillonnage. Avec un téléviseur, le son est analogique. Avec un PC le son est numérique. On envoie un échantillon à chaque période d'échantillonnage. Quand le son est généré à une fréquence supérieure à cette fréquence d'échantillonnage, il est complètement dénaturé. Quand il est proche de cette fréquence il y a des battements, qui se traduisent par des sifflements dans le haut-parleur.
Dans dcvg5k la sortie son n'est pas aussi sophistiquée que dans dcmoto. Dans dcmoto la valeur du bit est intégrée sur la durée de la période d'échantillonnage. Dans dcvg5k on utilise la valeur instantanée, ce n'est pas tout à fait conforme à la réalité.
Reste à savoir à quelle fréquence le bit son est calculé par le programme. En fonction de cette fréquence, je pourrais adapter celle de dcvg5k pour supprimer les sifflements, et éventuellement remplacer la valeur instantanée par une valeur intégrée.
Dans dcvg5k la sortie son n'est pas aussi sophistiquée que dans dcmoto. Dans dcmoto la valeur du bit est intégrée sur la durée de la période d'échantillonnage. Dans dcvg5k on utilise la valeur instantanée, ce n'est pas tout à fait conforme à la réalité.
Reste à savoir à quelle fréquence le bit son est calculé par le programme. En fonction de cette fréquence, je pourrais adapter celle de dcvg5k pour supprimer les sifflements, et éventuellement remplacer la valeur instantanée par une valeur intégrée.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Musique1-bit sur VG5000
Bravo pour ce portage. Vas-tu publier le code prochainement ?
Je n'ai pu entendre que via l'émulateur, c'est déjà pas mal. Ça serait possible de l'enregistrer en mp3 ou autre sur un vrai VG5000 ?
Pour comparer, voici la version du même morceau sur spectrum : https://soundcloud.com/irrlicht-project ... opic-test1
Je n'ai pu entendre que via l'émulateur, c'est déjà pas mal. Ça serait possible de l'enregistrer en mp3 ou autre sur un vrai VG5000 ?
Pour comparer, voici la version du même morceau sur spectrum : https://soundcloud.com/irrlicht-project ... opic-test1
Re: Musique1-bit sur VG5000
Content que le programme fonctionne sur une vraie machine.
J'ai calculé (un peu à l'arrache il faut avouer) que le programme lit sur 15625Hz. Ca a l'air de coller avec l'auteur du moteur qui dit mixer à 15.6Khz
J'ai calculé (un peu à l'arrache il faut avouer) que le programme lit sur 15625Hz. Ca a l'air de coller avec l'auteur du moteur qui dit mixer à 15.6Khz
Re: Musique1-bit sur VG5000
Dans fuse (émulateur pour zx spectrum qui peut rejouer ce type de routine 1-bit), le son est assez proche de la réalité.
Le code source est dispo ici : http://fuse-emulator.sourceforge.net/
Le code source est dispo ici : http://fuse-emulator.sourceforge.net/
Re: Musique1-bit sur VG5000
En intégrant le niveau du buzzer sur la période d'échantillonnage il y a une amélioration dans dcvg5k. Si ce n'est pas suffisant, il faudrait poster un fichier .wav généré par le vrai VG5000 pour que je puisse essayer de le reproduire avec l'émulateur.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Musique1-bit sur VG5000
Merci Daniel pour cette nouvelle version de dcvg5k. Avec mes pauvres oreilles, je n'entends plus le bruit de fond.
-
- Messages : 7909
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Musique1-bit sur VG5000
Whaaaaa, ca sonne super bien! Je suis jaloux
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Musique1-bit sur VG5000
Il y a du mieux (moins de bruit de fond effectivement), mais cela n'a pas encore la qualité du son sur un vrai VG5000. Cela semble plus "métallique". On perçoit aussi à certains moments des petits claquements qu'il n'y a pas sur la musique.
Concernant la source Spectrum, c'est un player avec la musique codée en dur ou le gars utilise un tracker ? Ca pourrait être rigolo de faire un musiK7 (bon, j'en ai déjà un sur le feu exploitant la carte de TotO, faut vraiment que je le finisse... ).
Concernant la source Spectrum, c'est un player avec la musique codée en dur ou le gars utilise un tracker ? Ca pourrait être rigolo de faire un musiK7 (bon, j'en ai déjà un sur le feu exploitant la carte de TotO, faut vraiment que je le finisse... ).
Re: Musique1-bit sur VG5000
Le son rend bien mieux avec cette version, merci beaucoup Daniel !
il y a un modèle pour utiliser avec un tracker type milkytracker (format .xm), ensuite on utilise un convertisseur vers asm puis pasmo pour générer un fichier .tap. Voir ce fil :
http://randomflux.info/1bit/viewtopic.php?pid=469#p469
Sur VG5000 je ne sais pas comment faire, ça serait sympa d'indiquer la procédure et le code adapté (je viens d'enregistrer un morceau avec quattropic, j'aimerai entendre ce que ça donne sur le vg5000, même émulé)
il y a un modèle pour utiliser avec un tracker type milkytracker (format .xm), ensuite on utilise un convertisseur vers asm puis pasmo pour générer un fichier .tap. Voir ce fil :
http://randomflux.info/1bit/viewtopic.php?pid=469#p469
Sur VG5000 je ne sais pas comment faire, ça serait sympa d'indiquer la procédure et le code adapté (je viens d'enregistrer un morceau avec quattropic, j'aimerai entendre ce que ça donne sur le vg5000, même émulé)
Re: Musique1-bit sur VG5000
Pour faire cours, remplacer les ligne
and #10
out (#fe),a
par
and #8
out (#af),a
et supprimer les lignes
rdptn
in a,(#1f) ;read joystick
maskKempston equ $+1
and #1f
ld c,a
in a,(#fe) ;read kbd
cpl
or c
and #1f
jp nz,exit
exit
oldSP equ $+1
ld sp,0
pop hl
exx
ei
ret
J'essaie de voir si donner des autres valeurs au port $AF amène un autre son.
Dernière modification par joaopa le 24 janv. 2016 17:54, modifié 3 fois.