HectorDuino
Modérateurs : Papy.G, fneck, Carl
Re: HectorDuino
Bien, Avec tout cela il ne manquait plus qu'une bonne concaténation
J'ai donc repris mon encodeur sous VB pour y intégrer un fichier son créé par un autre encodeur (celui pour le son), associé aux gif de sam puis mixer le tout à 61khz (1/4 pour le son, comme déjà dis!) et voila ce que cela donne :
Hihihi, je suis content !
par contre, je suis une nouille, pour mon 1er essai j'aurai pu prendre la bande son de l'image...
(Ne fait pas non plus attention à la pauvreté de l'image, avec des vidéos plus chargées cela fera pareil )
* j'ai fait quelques optimisations et le fait d'ajouter le son ne m'a pas fait perdre de débit, voir même de gagner 1ko/s ...
J'ai donc repris mon encodeur sous VB pour y intégrer un fichier son créé par un autre encodeur (celui pour le son), associé aux gif de sam puis mixer le tout à 61khz (1/4 pour le son, comme déjà dis!) et voila ce que cela donne :
Hihihi, je suis content !
par contre, je suis une nouille, pour mon 1er essai j'aurai pu prendre la bande son de l'image...
(Ne fait pas non plus attention à la pauvreté de l'image, avec des vidéos plus chargées cela fera pareil )
* j'ai fait quelques optimisations et le fait d'ajouter le son ne m'a pas fait perdre de débit, voir même de gagner 1ko/s ...
-
- Messages : 7986
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
félicitations!
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
Encore un peu de mise au point et de synchronisation image-son, ça va être bientôt très convaincant.
Tout le monde disait que la vidéo ou le son numérisé étaient impossibles sur Hector. Yo_fr a fait les deux, et en simultané. Bravo !
Tout le monde disait que la vidéo ou le son numérisé étaient impossibles sur Hector. Yo_fr a fait les deux, et en simultané. Bravo !
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7986
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
Je me demande quand même ce que donnerait le dither d'ordre 2.
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
J'ai donc optimisé le code et les façons de transiter les infos spécifiquement pour le son. Je suis maintenant à 59.169Hz
Je vais essayer de travailler sur le dither car pour l'instant c'est le calcul d'erreur qui donne de meilleurs résultats (vidéo avec le calcul d'erreur).
Je vais essayer de travailler sur le dither car pour l'instant c'est le calcul d'erreur qui donne de meilleurs résultats (vidéo avec le calcul d'erreur).
-
- Messages : 7986
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
C'est pas mal en effet.
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
Je suis tombé sur une bizarrerie dans vb net :
Lorsque je sauvegarde un tableau de byte () avec un objet stream binarywrite et que le tableau est rempli de 00 80 00 80 (vérifié en debug) le fichier contient des c2 80 c2 80. ..
Le plus drôle est que si je sauvegarde 80 00 80 00... J ai bien cela dans mon fichier ! (Idem si dans la 1er version je remplace les 00 par autre chose !)
Comme il s' agit bien de un tableau de byte et non de string ou autre char () je ne devrais pas être embêté par des pages de codes !
Le remplacement par un writeallbyte (ou dans un filestream je fais un write) ne change rien...
Une idée de ma bêtise ?
La je sèche !
Lorsque je sauvegarde un tableau de byte () avec un objet stream binarywrite et que le tableau est rempli de 00 80 00 80 (vérifié en debug) le fichier contient des c2 80 c2 80. ..
Le plus drôle est que si je sauvegarde 80 00 80 00... J ai bien cela dans mon fichier ! (Idem si dans la 1er version je remplace les 00 par autre chose !)
Comme il s' agit bien de un tableau de byte et non de string ou autre char () je ne devrais pas être embêté par des pages de codes !
Le remplacement par un writeallbyte (ou dans un filestream je fais un write) ne change rien...
Une idée de ma bêtise ?
La je sèche !
-
- Messages : 7986
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
C'est pas une histoire d'encoage UTF-8 ou dans le genre ? $C280 me fait penser à des histoires de symbole "€".
Il y a probablement à truc à dire à l'ouverture du fichier pour qu'il n'interprète pas les bytes.
Il y a probablement à truc à dire à l'ouverture du fichier pour qu'il n'interprète pas les bytes.
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
C'est bien la que ça me gêne : un tableau de byte est (et devrait) rester un tableau de byte.
Je penche comme toi pour des problèmes de page de code que il interpréterait mais je vois pas où :
Déclaration :
F= New io.filestream ("file.snd",create,write )
Utilisation :
F.write (buff, 0,1024)
Avec buff un tableau de 1024 octets...
Je penche comme toi pour des problèmes de page de code que il interpréterait mais je vois pas où :
Déclaration :
F= New io.filestream ("file.snd",create,write )
Utilisation :
F.write (buff, 0,1024)
Avec buff un tableau de 1024 octets...
-
- Messages : 7986
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
Je ne connais pas VB.net, mais ici ils utilisent WriteAllBytes sur le nom de fichier de sortie: https://msdn.microsoft.com/en-us/library/9tk3bdxw.aspx. En effet la FAQ (https://msdn.microsoft.com/en-us/library/szz5syt3.aspx) inidique que pour écrire du binaire c'est WriteAllBytes qu'il faut utiliser.
Sinon il semble aussi être possible de passer par la classe BinaryWriter qui réalise une écriture binaire (https://msdn.microsoft.com/fr-fr/librar ... -snippet-1).The WriteAllBytes method writes data to a binary file. If the append parameter is True, it will append the data to the file; otherwise data in the file is overwritten.
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
Tout à fait !
C'est ce que je disais : les 3 méthodes donnent la même interprétation du tableau de byte !
C'est la que l' on trouve les limites du manage : y fait ce qu'il veut !
[EDIT]
C'est vrai qu un unicode 16 =00 80 se traduit par c2 80 en utf 8...mais pourquoi fait il cette transformation ?
C'est ce que je disais : les 3 méthodes donnent la même interprétation du tableau de byte !
C'est la que l' on trouve les limites du manage : y fait ce qu'il veut !
[EDIT]
C'est vrai qu un unicode 16 =00 80 se traduit par c2 80 en utf 8...mais pourquoi fait il cette transformation ?
Re: HectorDuino
Tu devrais essayer d'écrire le buffer octet par octet
Après l'explication est que ta variable buff est convertie automatiquement dans le stream de sortie (à mon avis) .
Après l'explication est que ta variable buff est convertie automatiquement dans le stream de sortie (à mon avis) .
-
- Messages : 7986
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: HectorDuino
La transformation est la même qu'en C avec les fichiers ouverts en "w" et pas en "wb" en C sous windows. Sous MSDOS/windows un fichier est a priori texte et une conversion a toujours lieu (au début cr/lf mais à présent les accents en utf-8 etc). Il faut mettre le "b" en C pour que la conversion n'ait pas lieu. Je sens que visual-basic prends le même parti: un fichier c'est forcément du texte en utf-8 pour lui. Je ne connais pas assez vb.net pour connaitre la façon de forcer un stream à être binaire, mais il semble qu'en passant par la classe BinaryWriter ca marche. Sinon en passant par File.WriteAllBytes() ca marche aussi.
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
Ces langages modernes, sous prétexte de faciliter la tâche du programmeur, font automatiquement des choses pas toujours très compréhensibles à sa place. Ce sont autant de pièges. Je me suis fait souvent prendre avec les fichiers textes. Ma règle est maintenant d'ouvrir tous les fichiers en binaire, même les fichiers texte. Je préfère gérer moi-même le CR-LF et je n'utilise que l'ASCII. Ce n'est pas dans le sens du progrès, je le sais bien, mais on a la satisfaction intellectuelle de maîtriser la machine. Sinon c'est elle qui nous maîtrise. J'ai le même comportement avec les automobiles bourrées d'électronique. Mieux vaut tout désactiver pour rester maître de la conduite.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: HectorDuino
je suis un abr...ti !
Je suis en déplacement et je suis avec mon PC du boulot et donc pas avec tous mes outils habituels.
j'ai donc remplacé les fonctions de stream par de l'écriture byte à byte comme d'habitude, tant pis pour les optimisations de temps d'écriture. et.. et.. c'est pareil !!!
Alors je me suis posé LA bonne question : ma méthode de test est-elle la bonne ? En fait j'utilisais Notepad++ pour éditer les fichiers (en affichage Hexa). La bêtise était là : j'ouvre mon fichier avec Notepad et c'est lui le coupable et qui modifie de fichier ! En téléchargeant mon prog habituel (hexedit) j'ai pu constater ma bêtise
Toutes mes fonctions traitaient bien mes fichiers !
=> WriteAllBytes, les objets stream binarywrite etc. fonctionnent bien !
Vivement que je retrouve mon pc pour plus écrire de bêtises
Je suis en déplacement et je suis avec mon PC du boulot et donc pas avec tous mes outils habituels.
j'ai donc remplacé les fonctions de stream par de l'écriture byte à byte comme d'habitude, tant pis pour les optimisations de temps d'écriture. et.. et.. c'est pareil !!!
Alors je me suis posé LA bonne question : ma méthode de test est-elle la bonne ? En fait j'utilisais Notepad++ pour éditer les fichiers (en affichage Hexa). La bêtise était là : j'ouvre mon fichier avec Notepad et c'est lui le coupable et qui modifie de fichier ! En téléchargeant mon prog habituel (hexedit) j'ai pu constater ma bêtise
Toutes mes fonctions traitaient bien mes fichiers !
=> WriteAllBytes, les objets stream binarywrite etc. fonctionnent bien !
Vivement que je retrouve mon pc pour plus écrire de bêtises