Page 1 sur 2

fais parler ton VG5000µ

Publié : 02 oct. 2021 16:38
par rendomizer
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 ...
pour vg5000 avec extention 32k.zip
(779.14 Kio) Téléchargé 28 fois
Si dessous un fichier binaire d'un sample audio, à implanter à l'adresse $5023 avec le programme en $5000.
VG5000 BASIC parle.zip
(1.8 Kio) Téléchargé 31 fois
capture system cfg.png
capture system cfg.png (877.37 Kio) Consulté 638 fois

Re: fais parler ton VG5000µ

Publié : 19 nov. 2021 18:07
par rendomizer
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.

Re: fais parler ton VG5000µ

Publié : 01 déc. 2021 05:50
par rendomizer
son binaire sur vg5000.zip
(766.25 Kio) Téléchargé 40 fois

Re: fais parler ton VG5000µ

Publié : 02 déc. 2021 16:58
par joaopa
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...)

Re: fais parler ton VG5000µ

Publié : 02 déc. 2021 17:40
par Daniel
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.

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  
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...

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
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.

Re: fais parler ton VG5000µ

Publié : 02 déc. 2021 18:26
par Daniel
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.

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 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

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 14:16
par rendomizer
Faites mieux et on en reparlera...

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 15:47
par Daniel
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 :
pwm_mo5.zip
(61.53 Kio) Téléchargé 12 fois
Fichier mp3 :
pwm_mo5_mp3.zip
(5.98 Kio) Téléchargé 15 fois

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.

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 15:53
par rendomizer
et tu trouve que c'est mieux Daniel !. Peut être que tu utilise l'encien post ou j'ai merdé !

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 15:59
par Daniel
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.

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 16:22
par __sam__
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.

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 16:38
par rendomizer
oui Daniel si tu peux m'expliquer ce qu'est le PWM ça serait interessent

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 17:05
par hlide
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) :
1280px-Pwm.svg.png
1280px-Pwm.svg.png (73.23 Kio) Consulté 196 fois
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.
MLI1.jpg
MLI1.jpg (18.05 Kio) Consulté 196 fois

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 17:07
par Daniel
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.

Re: fais parler ton VG5000µ

Publié : 04 déc. 2021 17:14
par rendomizer
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