fais parler ton VG5000µ
Modérateurs : Papy.G, fneck, Carl
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
fais parler ton VG5000µ
Vous cherchez un moyen pour obtenir un fichier binaire de musique et bien voila c'est fait. Si dessous le logiciel executable qui converti un son au format WAV en serie de 1 et zeros au format .BIN.
OUPS !, Comme à mon habitue je n'ai pas changé, j'ai oublié de donner les sources et informations indispensables et des fichiers qui marche !
Attention 45ko requis ! Alors pour commencer on enregistre un son, une partie d'un son que l'on va augmenter la vitesse au maximum avec "audacity" au format wav avec une durée de 1 seconde. Ensuite on lance l'exécutable qui va convertir le fichier wav en une série de 1 et 0. Voila pour répondre à des questionnements en silence radio lol. Je vous propose en télécharement mon petit logiciel qui ne fait rien d'autre que séquencer un son et le convertir en binaire. On implante le fichier binaire " programme " à partir de l'adresse 5000 hex et " sample " binaire de 42ko en 5023 h. Ou tapez : CLOAD puis CALL 20480 c'est tout !
Si dessous les fichiers wav et k7 et les sources.
Si il y a encore un soucis dites le moi svp. allez je vais reprendre un verre ...
Si dessous un autre fichier binaire d'un sample audio qui dit ; VG5000 BASIC
OUPS !, Comme à mon habitue je n'ai pas changé, j'ai oublié de donner les sources et informations indispensables et des fichiers qui marche !
Attention 45ko requis ! Alors pour commencer on enregistre un son, une partie d'un son que l'on va augmenter la vitesse au maximum avec "audacity" au format wav avec une durée de 1 seconde. Ensuite on lance l'exécutable qui va convertir le fichier wav en une série de 1 et 0. Voila pour répondre à des questionnements en silence radio lol. Je vous propose en télécharement mon petit logiciel qui ne fait rien d'autre que séquencer un son et le convertir en binaire. On implante le fichier binaire " programme " à partir de l'adresse 5000 hex et " sample " binaire de 42ko en 5023 h. Ou tapez : CLOAD puis CALL 20480 c'est tout !
Si dessous les fichiers wav et k7 et les sources.
Si il y a encore un soucis dites le moi svp. allez je vais reprendre un verre ...
Si dessous un autre fichier binaire d'un sample audio qui dit ; VG5000 BASIC
Dernière modification par rendomizer le 25 févr. 2022 17:36, modifié 1 fois.
Je ne suis qu'un utilisateur pas un pro
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: fais parler ton VG5000µ
Oups j'ai encore merdé sur mon post si dessus j'ai mis un fichier qui n"ai pas opérationel.... je vais prendre mes medicaments et me coucher tiens.
Je ne suis qu'un utilisateur pas un pro
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: fais parler ton VG5000µ
Et sur un vrai VG5000, comment fais-tu pour injecter le binaire à l'adresse souhaitée?
C'est le problème avec TOUS tes programmes. Il faut toujouts bidouiller pour espérer obtenir qualque chose. Je pense que c'est la raison pour laquelle personne ne teste tes programme. Tu DOIS partager un fichier prêt à l'emploi où pour utiliser ton programme, un CLOAD "VG5000 est suffissant.
Et ton programme doit fonctionner sur un vrai VG5000 (à la limite tu peux demander l'extension mêmoire, manettes ou carte SD...)
C'est le problème avec TOUS tes programmes. Il faut toujouts bidouiller pour espérer obtenir qualque chose. Je pense que c'est la raison pour laquelle personne ne teste tes programme. Tu DOIS partager un fichier prêt à l'emploi où pour utiliser ton programme, un CLOAD "VG5000 est suffissant.
Et ton programme doit fonctionner sur un vrai VG5000 (à la limite tu peux demander l'extension mêmoire, manettes ou carte SD...)
Re: fais parler ton VG5000µ
J'ai enfin fini par comprendre ce que rendomizer appelle un fichier binaire. C'est un fichier permettant de jouer un son avec un buzzer 1 bit.
Ce n'est pas le sens habituel utilisé par les informaticiens. Pour moi un fichier .wav stéréo 16 bits à 44100 échantillons/seconde est un fichier binaire.
Quand à la conversion, elle est trop simpliste pour produire un son correct. Pas de PWM, pas de diffusion d'erreur, un arrondi brutal en tout ou rien en fonction du niveau du signal. On ne peut rien espérer de bon.
Essai du programme dans dcvg5k 2021.11.02 (BASIC 1.1, extension mémoire 16K) :
- Chargement de l'exécutable en &"5000" (fichier "programme en 5000 h.bin")
- Chargement de l'échantillon en &"5023" (fichier "sample en 5023 h.Bin")
- Exécution par CALL &"5000"
Le VG5000 n'émet aucun son et reboote immédiatement. J'ai raté quelque chose ?
[EDIT] J'ai peut-être compris : Il y a un ret juste avant l'étiquette _sample. La boucle ne s'exécute pas. C'est ça ? Pourtant l'instruction précédente devrait brancher à _sample. Il y a peut-être autre chose qui m'échappe...
Autre bizarreries :
- Les échantillons sont chargés en &"5023" et on commence à les lire en &"5025" (20516 + 1). Pourquoi ?
- Il y a deux temporisations, une avec a=010 et une avec a=002. Pourquoi pas une seule ?
Et comme joaopa je pense qu'une cassette (fichier .k7 pour dcvg5k et fichier .wav pour le vrai VG5000) faciliterait les tests.
Ce n'est pas le sens habituel utilisé par les informaticiens. Pour moi un fichier .wav stéréo 16 bits à 44100 échantillons/seconde est un fichier binaire.
Quand à la conversion, elle est trop simpliste pour produire un son correct. Pas de PWM, pas de diffusion d'erreur, un arrondi brutal en tout ou rien en fonction du niveau du signal. On ne peut rien espérer de bon.
Code : Tout sélectionner
For i=t+1 To 11000 Step 1
y=num(i)/(2048000*6)
If y>0 Then y=2048*6:b=1
If y<=0 Then y=0:b=0
WriteInt(herewego,b)
Next
- Chargement de l'exécutable en &"5000" (fichier "programme en 5000 h.bin")
- Chargement de l'échantillon en &"5023" (fichier "sample en 5023 h.Bin")
- Exécution par CALL &"5000"
Le VG5000 n'émet aucun son et reboote immédiatement. J'ai raté quelque chose ?
[EDIT] J'ai peut-être compris : Il y a un ret juste avant l'étiquette _sample. La boucle ne s'exécute pas. C'est ça ? Pourtant l'instruction précédente devrait brancher à _sample. Il y a peut-être autre chose qui m'échappe...
Code : Tout sélectionner
_init:
ld bc,20516
_debut:
inc bc
ld a,b
cp $ef
jp nz,_sample
ret;jp _init ; pour arreter ou boucler la sequence
_sample:
ld a,(bc)
out ($af),a
LD a,010
_temps1:
dec a
jp nz,_temps1
inc bc
ld a,(bc)
out ($af),a
LD a,002
_temps2:
dec a
jp nz,_temps2
jp _debut
- Les échantillons sont chargés en &"5023" et on commence à les lire en &"5025" (20516 + 1). Pourquoi ?
- Il y a deux temporisations, une avec a=010 et une avec a=002. Pourquoi pas une seule ?
Et comme joaopa je pense qu'une cassette (fichier .k7 pour dcvg5k et fichier .wav pour le vrai VG5000) faciliterait les tests.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: fais parler ton VG5000µ
J'ai fait un nouvel essai sans charger le fichier "sample en 5023 h.Bin". Le programme fonctionne, mais il joue bien évidemment n'importe quoi.
Si on charge le fichier en &"5023" le VG5000 reboote. C'est donc le fichier des échantillons qui écrase quelque chose.
[Edit] J'ai réussi ! Il faut une extension mémoire de 32K ! Je ne sais pas si tous les utilisateurs de VG5000 la possède.
Le résultat sonore est, comme je l'avais prévu, complètement nul. A oublier...
En regardant le fichier des échantillons, on s'aperçoit qu'il y a 31 bits inutilisés pour 1 bit utile. Ce n'est pas très économique, surtout quand il faut stocker tout ça en RAM. Je me demande quelle est la raison de ce gaspillage de mémoire.
Il faudrait peut-être s'inspirer des essais de musique 1 bit effectués sur Thomson (ceux de __sam__ et les miens).
Il y a plusieurs sujets dans le forum qui en parlent.
https://forum.system-cfg.com/viewtopic.php?f=25&t=4499
https://forum.system-cfg.com/viewtopic. ... 7&p=192050
Si on charge le fichier en &"5023" le VG5000 reboote. C'est donc le fichier des échantillons qui écrase quelque chose.
[Edit] J'ai réussi ! Il faut une extension mémoire de 32K ! Je ne sais pas si tous les utilisateurs de VG5000 la possède.
Le résultat sonore est, comme je l'avais prévu, complètement nul. A oublier...
En regardant le fichier des échantillons, on s'aperçoit qu'il y a 31 bits inutilisés pour 1 bit utile. Ce n'est pas très économique, surtout quand il faut stocker tout ça en RAM. Je me demande quelle est la raison de ce gaspillage de mémoire.
Code : Tout sélectionner
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001F0 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000210 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
00000220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000230 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000002A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000002B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000002C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000002D0 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
000002E0 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
000002F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000360 01 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000370 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
00000380 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000390 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000003A0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000003B0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000003C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000003D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000003E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000003F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000420 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000430 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000440 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000450 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000460 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000004A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000004B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000004C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000004D0 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
000004E0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000004F0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000500 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000510 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000540 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000580 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000590 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000005A0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000005B0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000005C0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000005D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000005E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000005F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000630 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000640 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000650 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000660 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000670 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000690 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000006A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000006B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000006C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000006D0 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
000006E0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000006F0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000700 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000710 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000730 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000740 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000750 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000760 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
00000770 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000780 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000790 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000007A0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000007B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000007C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000007D0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000007E0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000007F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000800 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000810 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000820 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000830 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000860 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000870 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000890 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
000008A0 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
000008B0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000008C0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
000008D0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000008E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000008F0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000900 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000910 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000920 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000930 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000940 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00
00000950 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000970 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000980 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000009A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000009B0 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
000009C0 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
000009D0 01 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
000009E0 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
000009F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000A00 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000A10 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000A20 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000A30 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000A40 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000A50 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000A60 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
00000A70 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000A80 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000A90 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000AA0 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000AB0 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000AC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000AD0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000AE0 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
00000AF0 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000B00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000B10 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000B20 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000B30 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000B40 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000B50 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000B60 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000B70 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000B80 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000B90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000BA0 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
00000BB0 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
00000BC0 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000BD0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000BE0 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000BF0 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000C00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
00000C10 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000C20 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000C30 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000C40 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000C50 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000C60 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000C70 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000C80 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000C90 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000CA0 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000CB0 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000CC0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000CD0 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000CE0 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000CF0 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
00000D00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000D10 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000D20 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
00000D30 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000D40 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00
00000D50 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000D60 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000D70 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000D80 00 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
00000D90 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
00000DA0 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
00000DB0 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
Il y a plusieurs sujets dans le forum qui en parlent.
https://forum.system-cfg.com/viewtopic.php?f=25&t=4499
https://forum.system-cfg.com/viewtopic. ... 7&p=192050
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: fais parler ton VG5000µ
Faites mieux et on en reparlera...
Je ne suis qu'un utilisateur pas un pro
Re: fais parler ton VG5000µ
A titre de comparaison, voici ce qu'on fait en PWM avec un MO5 (6809 à 1 MHz) :
Executable Windows, avec les sources du programme 6809 : Fichier mp3 :
La fréquence de base du PWM est 19608 Hz (1000000 / 51) et les échantillons sont codés sur 2 bits.
Avec le Z80 du VG5000 on doit pouvoir faire aussi bien, et peut-être mieux.
Executable Windows, avec les sources du programme 6809 : Fichier mp3 :
La fréquence de base du PWM est 19608 Hz (1000000 / 51) et les échantillons sont codés sur 2 bits.
Avec le Z80 du VG5000 on doit pouvoir faire aussi bien, et peut-être mieux.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: fais parler ton VG5000µ
et tu trouve que c'est mieux Daniel !. Peut être que tu utilise l'encien post ou j'ai merdé !
Dernière modification par rendomizer le 04 déc. 2021 16:32, modifié 1 fois.
Je ne suis qu'un utilisateur pas un pro
Re: fais parler ton VG5000µ
Je ne suis pas très familier avec la programmation du Z80.
Je laisse volontiers les spécialistes tenter le coup. Ce n'est pas difficile, d'autant plus que je peux expliquer en détail comment j'ai fait pour le MO5.
Je laisse volontiers les spécialistes tenter le coup. Ce n'est pas difficile, d'autant plus que je peux expliquer en détail comment j'ai fait pour le MO5.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: fais parler ton VG5000µ
S'il est question de faire parler, au sens littéral, avec du PWM, il y a ici des démonstrations intéressantes, y compris sur Z80: http://www.pastbytes.com/apps/tav/en_videos.html
Sin on ne veut pas lire et qu'on préfère les vidéos du résultat:
Ca reste très synthétique quand même. Mais tout développement expérimental est le bienvenu et ne peut qu'aider à progresser et maitriser la technique.
Sin on ne veut pas lire et qu'on préfère les vidéos du résultat:
Ca reste très synthétique quand même. Mais tout développement expérimental est le bienvenu et ne peut qu'aider à progresser et maitriser la technique.
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
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: fais parler ton VG5000µ
oui Daniel si tu peux m'expliquer ce qu'est le PWM ça serait interessent
Je ne suis qu'un utilisateur pas un pro
Re: fais parler ton VG5000µ
Ben là j'aurais moins entendu quelque chose comme "Wow fantastic!" sans effet de "priming" avec l'exemple de Daniel, donc félicitation si c'est bien ça. C'est un léger progrès je trouve.
"Priming" : terme anglais de psychologie. Ici je parle du fait que le mot entendu peut être reconnu grace à la lecture de ce même mot à l'écran, ce qui biaise la qualité réelle du son.
PWM (ou MLI en français) : Pulse Width Modulation (Modulation de Largeur d'Impulsion). C'est un signal carré avec un duty (rapport cyclique) que l'on varie. Si le signal commence avec un état haut, un 0% veut dire état bas durant toute la période du signal (énergie négative au maximum) et un 100% veut dire un état haut durant toute la période du signal (énergie positive au maximum) et un 50% veut dire que l'on alterne de l'état au haut à l'état bas à la moitié de la période du signal (énergie nulle).
Avec une très haute fréquence (inaudible), on a donc une période courte sur laquelle on fait varier le rapport cyclique d'un signal carré de façon à créer une variation d'énergie proche du signal sinusoïdale que l'on souhaite imiter.
Un exemple est le MLI « intersective » (MLI analogique) :
Le signal PWM du bas (rose) tente de reproduire le signal sinusoïdal d'en haut (rouge) par un découpage avec un signal triangle (signal bleu). Plus la fréquence de la porteuse (les signaux bleu et rose ont la même fréquence) est grande, mieux c'est reproduit car la sortie sonore a plus de chance d'être lissée.
"Priming" : terme anglais de psychologie. Ici je parle du fait que le mot entendu peut être reconnu grace à la lecture de ce même mot à l'écran, ce qui biaise la qualité réelle du son.
PWM (ou MLI en français) : Pulse Width Modulation (Modulation de Largeur d'Impulsion). C'est un signal carré avec un duty (rapport cyclique) que l'on varie. Si le signal commence avec un état haut, un 0% veut dire état bas durant toute la période du signal (énergie négative au maximum) et un 100% veut dire un état haut durant toute la période du signal (énergie positive au maximum) et un 50% veut dire que l'on alterne de l'état au haut à l'état bas à la moitié de la période du signal (énergie nulle).
Avec une très haute fréquence (inaudible), on a donc une période courte sur laquelle on fait varier le rapport cyclique d'un signal carré de façon à créer une variation d'énergie proche du signal sinusoïdale que l'on souhaite imiter.
Un exemple est le MLI « intersective » (MLI analogique) :
Le signal PWM du bas (rose) tente de reproduire le signal sinusoïdal d'en haut (rouge) par un découpage avec un signal triangle (signal bleu). Plus la fréquence de la porteuse (les signaux bleu et rose ont la même fréquence) est grande, mieux c'est reproduit car la sortie sonore a plus de chance d'être lissée.
Dernière modification par hlide le 04 déc. 2021 17:09, modifié 1 fois.
Re: fais parler ton VG5000µ
C'est expliqué ici : https://en.wikipedia.org/wiki/Pulse-width_modulation
Dans mon exemple, j'utilise un signal rectangulaire à 19608 Hz. Le signal audio est à 19608 échantillons/seconde, avec chaque échantillon codé sur 2 bits.
Pour chaque échantillon, je modifie (en plus ou en moins) la largeur du créneau positif et je fais la modification inverse pour le créneau négatif, de façon à conserver la même période. C'est aussi simple que ça, et le résultat me semble plutôt bon. Notez que c'est la sortie de l'émulateur, le son est bien meilleur en sortie d'un vrai MO5. Je suis mauvais juge puisque c'est mon programme.
Si d'autres membres du forum veulent écouter le fichier mp3 et le comparer à ce qui se fait sur d'autres machines l'avis sera plus objectif.
Dans mon exemple, j'utilise un signal rectangulaire à 19608 Hz. Le signal audio est à 19608 échantillons/seconde, avec chaque échantillon codé sur 2 bits.
Pour chaque échantillon, je modifie (en plus ou en moins) la largeur du créneau positif et je fais la modification inverse pour le créneau négatif, de façon à conserver la même période. C'est aussi simple que ça, et le résultat me semble plutôt bon. Notez que c'est la sortie de l'émulateur, le son est bien meilleur en sortie d'un vrai MO5. Je suis mauvais juge puisque c'est mon programme.
Si d'autres membres du forum veulent écouter le fichier mp3 et le comparer à ce qui se fait sur d'autres machines l'avis sera plus objectif.
Dernière modification par Daniel le 04 déc. 2021 17:17, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: fais parler ton VG5000µ
J'ai comparé le wow de Daniel et le mien mais je reste dubitatif car celui de Daniel coupe comme un dolby les haute frequences !
rendomizer https://soundcloud.com/sergiomax2/sans- ... 7f31ab3f18
Daniel PWM https://soundcloud.com/sergiomax2/danie ... 7f31ab3f18
rendomizer https://soundcloud.com/sergiomax2/sans- ... 7f31ab3f18
Daniel PWM https://soundcloud.com/sergiomax2/danie ... 7f31ab3f18
Dernière modification par rendomizer le 04 déc. 2021 18:39, modifié 4 fois.
Je ne suis qu'un utilisateur pas un pro