HectorDuino
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
Bingo! Bravo à gleike qui gagne toute ma considération (oui je sais c'est pas grand chose, mais les temps sont dures )
Les gifs montrent qu'un hector pourrait jouer ces clips avec une assez bonne qualité.
Les gifs montrent qu'un hector pourrait jouer ces clips avec une assez bonne qualité.
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: HectorDuino
Pas mal du tout pour un Hector
La résolution n'est pas au maximum de l'écran de l'Hector HR !
La résolution n'est pas au maximum de l'écran de l'Hector HR !
Re: HectorDuino
Hélas si !
La résolution maxi en BR et de 112*77 mais en HR que de 230*221 (de tête). pour ne pas avoir de distorsion je suis en 204 * 153 (ok, je pourrais monter à 230 mais sur certaines vidéo j'ai plus assez de débit pour être correct).
La résolution maxi en BR et de 112*77 mais en HR que de 230*221 (de tête). pour ne pas avoir de distorsion je suis en 204 * 153 (ok, je pourrais monter à 230 mais sur certaines vidéo j'ai plus assez de débit pour être correct).
Re: HectorDuino
C'est bien ce qui me semblait que ce n'était pas la résolution d'Hector en HR
Je comprends tu as trouvé le compromis pour ne pas avoir certaines vidéos saccadés ou de trop mauvaises qualités.
Je comprends tu as trouvé le compromis pour ne pas avoir certaines vidéos saccadés ou de trop mauvaises qualités.
Re: HectorDuino
Depuis le début de mes essais de son sur Hector, je suis un peu déçu du rendu du son.
Je suis également assez surpris de la qualité du son dans les 2 essais de ce fil :
viewtopic.php?f=25&t=7847&start=117
cela fait quelque temps que je travaille sur l'amélioration de la qualité du son produit pour Hector.
Le meilleur résultat est obtenu par cet algo (en VB) :
Ce calcul étant effectué, pour 1 seconde de son, 66 666 fois (taux d'échantillonnage de l'émulation de l'HectorDuino), ce qui fait que le source (le wav) est à 66 666 Hz (octet signé) et que j'ai un octet (valant 0 ou &80) pour Hector (c'est le bit 7 qui génère le son sur Hector).
Le son généré par VBHector et la machine sont assez proche et très bruité. Une fois le mur du bruit passé le son est relativement bien restitué (même dans les aiguës)
J'ai aussi essayé l'algode __sam__ :
(avec différentes valeur de Taux)
PS : Je ne sais pas quel sont les extensions de fichier maintenant autorisées sur le forum (depuis la nouvelle version) pour pouvoir joindre facilement un extrait de son produit par Hector...
Je suis également assez surpris de la qualité du son dans les 2 essais de ce fil :
viewtopic.php?f=25&t=7847&start=117
cela fait quelque temps que je travaille sur l'amélioration de la qualité du son produit pour Hector.
Le meilleur résultat est obtenu par cet algo (en VB) :
Code : Tout sélectionner
' Sommateur
Echant = Echant - o
' Integrator
Integrator += Echant
If Integrator >= 0 Then
Byte_Hector = &H80 'mise en place du bit son
o = 127 ' &H80
Else
Byte_Hector = &H0 'mise en place du bit son
o = -127
End If
Le son généré par VBHector et la machine sont assez proche et très bruité. Une fois le mur du bruit passé le son est relativement bien restitué (même dans les aiguës)
J'ai aussi essayé l'algode __sam__ :
Code : Tout sélectionner
Echant -= Taux * d2 ' Récupération de l'erreur n-2
Echant += (1 + Taux) * d1 ' Récupération de l'erreur n-1
If Echant > 0 Then
Byte_Hector = &H80 'mise en place du bit son
Sortie = 127 ' valeur son à prendre en compte
Else
Byte_Hector = &H0 'mise en place du bit son
Sortie = -127 ' valeur son à prendre en compte
End If
d2 = d1 ' Déplacement de l'erreur
d1 = (Echant - Sortie) ' Calcul nouvelle erreur !
PS : Je ne sais pas quel sont les extensions de fichier maintenant autorisées sur le forum (depuis la nouvelle version) pour pouvoir joindre facilement un extrait de son produit par Hector...
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
A 66khz, le son ne doit pas être mauvais du tout, et cela quel que soit l'algorithme de conversion utilisé.
Récemment le plus simple que j'ai trouvé et qui marche encore le mieux est la traduction du PWM physique: on a une valeur qui fait des dents de scie entre -128 et 127, et si elle est au dessus de l'échantillon on sort 1 sinon 0.
Enfin pour les fichiers joints, le mieux c'est encore un bon vieux ZIP.
Récemment le plus simple que j'ai trouvé et qui marche encore le mieux est la traduction du PWM physique: on a une valeur qui fait des dents de scie entre -128 et 127, et si elle est au dessus de l'échantillon on sort 1 sinon 0.
Code : Tout sélectionner
' Dent de scie
Saw = Saw + 32 ' vitesse de zone en pente, mettre 16 pour une pente plus faible.. (à modifier empiriquement)
If Saw>127 Then
Saw = -128 ' descente brutale; /|/|/|/|/|..
End If
' Comparaison échantillon vs dent de scie, et sortie du bit
If Echant < Saw Then
Byte_Hector = &H80
Else
Byte_Hector = &H00
End If
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: HectorDuino
OK pour cet algo, sam.
Par contre étant en fréquence 66 666Hz (sur vbhector) et 59150 Hz sur Hector reel, il faut que je monte la fréquence en dent de scie : là avec 32 j'ai
fscie = 66 666 * 32/256 soit 8,3Khz soit une fréquence audible. il faut monter le coef à 128 pour obtenir quelque chose d'inaudible (soit à 33khz, même 64 est audible à 16khz).
Avec un coef aussi haut on ne peut plus dire que le signal est en dent de scie mais plutôt aléatoire (et de 3 valeurs seulement). Je me pose la question de savoir si en mettant un signal aléatoire à la place de SAW (disons entre -24... +24 par rapport au signal -128 +127) ne serait pas une méthode (celle du Dither par exemple !)
Je n'ai donc pas obtenu de bon sons et pour l'instant le meilleur algo est le Sigma Delta que j'ai donné, mais qui laisse énormément de souffle dans le son. Je vais essayer cette semaine enregistrer le son produit par Hector le mieux possible, mais là je n'ai pas encore de bonne chaîne d'enregistrement (j'ai essayé de connecter la sortie line (de la prise péritel) à l'entrée micro en mettant le prés ampli à 0 mais c'est pas bon du tout. Je creuse la question pour pouvoir vous faire partager là où j'en suis.
JJ
Par contre étant en fréquence 66 666Hz (sur vbhector) et 59150 Hz sur Hector reel, il faut que je monte la fréquence en dent de scie : là avec 32 j'ai
fscie = 66 666 * 32/256 soit 8,3Khz soit une fréquence audible. il faut monter le coef à 128 pour obtenir quelque chose d'inaudible (soit à 33khz, même 64 est audible à 16khz).
Avec un coef aussi haut on ne peut plus dire que le signal est en dent de scie mais plutôt aléatoire (et de 3 valeurs seulement). Je me pose la question de savoir si en mettant un signal aléatoire à la place de SAW (disons entre -24... +24 par rapport au signal -128 +127) ne serait pas une méthode (celle du Dither par exemple !)
Je n'ai donc pas obtenu de bon sons et pour l'instant le meilleur algo est le Sigma Delta que j'ai donné, mais qui laisse énormément de souffle dans le son. Je vais essayer cette semaine enregistrer le son produit par Hector le mieux possible, mais là je n'ai pas encore de bonne chaîne d'enregistrement (j'ai essayé de connecter la sortie line (de la prise péritel) à l'entrée micro en mettant le prés ampli à 0 mais c'est pas bon du tout. Je creuse la question pour pouvoir vous faire partager là où j'en suis.
JJ
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
Je ne comprends pas bien: à 8khz le signal devrait être pas mal correct. Quand tu dis qu'il n'est pas bon avec la valeur 32, ça veut dire que ça ressemble à rien, ou autre chose style : on entends trop la porteuse à 8khz? Par curiosité, mets 16 ou 8 à la place du 32, ça va descendre la fréquence de la porteuse pour l'envoyer dans le signal utile et donc la masquer un peu plus j'espère.
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: HectorDuino
Ce que j'entend par là c'est que le signal en dent de scie est à 8khz. il s'additionne au signal à numériser.
et c'est bien ce que j'ai : j'ai bien le son à 8KHz ET le signal à numériser qui sont joué en même temps (le 8KHz étant bien restitué par mon systeme qui fonctionne à 66KHz.
[edit] Le son obtenu sur VBHector avec n=64.
fichier supprimé
Avec un descendant jusqu'à n=2 le son devient de plus en plus aigue et le son numérisé devient de moins en moins reconnaissable.
et c'est bien ce que j'ai : j'ai bien le son à 8KHz ET le signal à numériser qui sont joué en même temps (le 8KHz étant bien restitué par mon systeme qui fonctionne à 66KHz.
[edit] Le son obtenu sur VBHector avec n=64.
fichier supprimé
Avec un descendant jusqu'à n=2 le son devient de plus en plus aigue et le son numérisé devient de moins en moins reconnaissable.
Dernière modification par yo_fr le 17 oct. 2017 21:43, modifié 1 fois.
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
En principe ca ne devrait pas s"additionner au sens algébrique, mais faire un bon vieux PWM comme sur cette figure:
Quand la dent est au dessus du signal on a 0, sinon 1. On a donc des largeurs d'impulsion proportionnelles au signal. Ca donne une sortie comme ceci
Heuuuu sinon on entends rien dans stair64.mp3 (sauf la TV au loin en poussant à fond l'ampli)
Quand la dent est au dessus du signal on a 0, sinon 1. On a donc des largeurs d'impulsion proportionnelles au signal. Ca donne une sortie comme ceci
Heuuuu sinon on entends rien dans stair64.mp3 (sauf la TV au loin en poussant à fond l'ampli)
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: HectorDuino
oups c'etait pas le bon...
sinon voila ce que cela donne avec l'encodage Sigma Delta : Et revoici avec l'encodage scie : (pour info la tonalité est juste : Stairway to heaven est repris par Jadyn Rylee...)
sinon voila ce que cela donne avec l'encodage Sigma Delta : Et revoici avec l'encodage scie : (pour info la tonalité est juste : Stairway to heaven est repris par Jadyn Rylee...)
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
La version dent de scie m'étonne... le sifflement 8kz est vraiment très très fort, comme si finalement le signal était vraiment hyper souvent trop autour de 0. Peut-être faudrait-il multiplier Echant par une grosse valeur (16?) pour voir si ca ne réduit pas le sifflement.
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: HectorDuino
oui, et le pas étant très grand (aller de -127 à 128 par pas n de 32, ou 64 - ce qui ne donne que 8 valeurs pour n=32) cela ne fait pas du dent de scie mais plutôt du carré (bon, marche d'escalier); c'est pour ça que ta valeur de 32 m'étonnait au départ...
Il faut peut être un échantillonnage beaucoup plus important et mettre un pas de 2 ou 4.
En réfléchissant : Le son étant, par exemple limité à 16KHz, il faudrait une bonne 20aine de dents pour avoir le découpage PWM tel que dessiné ci dessus. Soit une fréquence de 20*16 = 320khz pour la dent de scie...moi je ne suis qu'à 66KHz.
Ou, en prenant à l'inverse, avec une dent de scie de 66khz on ne peut passer qu'un son de 3khz... ce qui est assez faible. Il faut donc pour obtenir ce que tu as dessiné que le son à échantillonner soit filtré à 3KHz...
Il faut peut être un échantillonnage beaucoup plus important et mettre un pas de 2 ou 4.
En réfléchissant : Le son étant, par exemple limité à 16KHz, il faudrait une bonne 20aine de dents pour avoir le découpage PWM tel que dessiné ci dessus. Soit une fréquence de 20*16 = 320khz pour la dent de scie...moi je ne suis qu'à 66KHz.
Ou, en prenant à l'inverse, avec une dent de scie de 66khz on ne peut passer qu'un son de 3khz... ce qui est assez faible. Il faut donc pour obtenir ce que tu as dessiné que le son à échantillonner soit filtré à 3KHz...
-
- Messages : 7981
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
8 valeurs devraient être largement suffisante poure faire un PWM avec un début de fidélité. Sur thomson je viens de réaliser un PWM avec a peine plus de niveaux, mais a une fréquence bien plus faible et on reconnait bien les morceaux: voir ici.
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: HectorDuino
Salut,
J'ai fini par aller au bout : J'ai créé un pbc pour finir proprement l'HectorDuino :
et on passe à la réalisation :
Maintenant il faut que je reçoive le pcb et les accessoires qui me manque.
bientot plus d'info.
JJ
J'ai fini par aller au bout : J'ai créé un pbc pour finir proprement l'HectorDuino :
et on passe à la réalisation :
Maintenant il faut que je reçoive le pcb et les accessoires qui me manque.
bientot plus d'info.
JJ