Modifications

Sauter à la navigation Sauter à la recherche
564 octets ajoutés ,  25 août 2013 à 18:27
aucun résumé de modification
Ligne 20 : Ligne 20 :  
Quand le temps diminue... le son devient plus aigu (la fréquence augmente).
 
Quand le temps diminue... le son devient plus aigu (la fréquence augmente).
   −
[[Fichier:VOICE-CHANGER-HOWTO-Compress.png]]
+
{{ADFImage|VOICE-CHANGER-HOWTO-Compress.png}}
    
C'est facile à réaliser avec des enregistrements... mais avec le son en temps réel c'est plus compliquer car nous n'avons pas le luxe d'enregistrer puis de modifier le son avec un programme comme Audacity (par exemple).
 
C'est facile à réaliser avec des enregistrements... mais avec le son en temps réel c'est plus compliquer car nous n'avons pas le luxe d'enregistrer puis de modifier le son avec un programme comme Audacity (par exemple).
Ligne 40 : Ligne 40 :  
La parole est composée de sons, ces sons étant eux mêmes composés de formes d'ondes très courtes qui tendent à se répéter sur de très courtes périodes. Nous pouvons donc éliminer ou répéter certain de ces segments d'onde en préservant la qualité audible du son (il y a uniquement une dégradation mineur de la qualité de rendu audio).
 
La parole est composée de sons, ces sons étant eux mêmes composés de formes d'ondes très courtes qui tendent à se répéter sur de très courtes périodes. Nous pouvons donc éliminer ou répéter certain de ces segments d'onde en préservant la qualité audible du son (il y a uniquement une dégradation mineur de la qualité de rendu audio).
   −
[[Fichier:VOICE-CHANGER-HOWTO-Repeat.png]]
+
{{ADFImage|VOICE-CHANGER-HOWTO-Repeat.png}}
    
En conclusion: nous pouvons laisser tomber ou répéter certains des segments dans notre boucle d'échantillonnage tout en préservant le côté audible (compréhensible) de l'élément sonore d'origine.
 
En conclusion: nous pouvons laisser tomber ou répéter certains des segments dans notre boucle d'échantillonnage tout en préservant le côté audible (compréhensible) de l'élément sonore d'origine.
Ligne 58 : Ligne 58 :  
Conceptuellement, il est facile d'imaginer une telle mémoire tampon comme un cercle sans fin :
 
Conceptuellement, il est facile d'imaginer une telle mémoire tampon comme un cercle sans fin :
   −
[[Fichier:VOICE-CHANGER-Circle.png]]
+
{{ADFImage|VOICE-CHANGER-Circle.png}}
   −
La fréquence du son enregistré correspondra rarement à la longueur du tampon, et les échantillons audio sont stockés et lus à des vitesses différentes. Cela peut produire une nette discontinuité -un bruit sec- à chaque fois que l'entrée et la sortie se croisent. Un petit tampon supplémentaire est utilisé pour stocker les premiers échantillons et le code des fondu-enchaînés sur cette limite pour réduire le « pop ».
+
La fréquence du son enregistré correspondra rarement à la longueur du tampon. Cependant, les échantillons audio sont stockés et lus à des vitesses différentes. Cela peut produire une discontinuité notable -un bruit sec- à chaque fois que l'entrée et la sortie se croisent. Une petite mémoire tampon supplémentaire est utilisée pour stocker les premiers échantillons et le code effectue des fondu-enchaînés en passant d'un tampon à l'autre pour réduire les « craquements ».
   −
Parce que notre « grain » audio est relativement court (environ 10 millisecondes), Le besoin en RAM devrait être modéré, quelques centaines de bytes. Le problème est : nous aimerions aussi faire autre chose avec le Wave Shield il a été conçu pour --à savoir, lire les fichiers WAV. Cela nécessite la lecture de fichiers d'une carte SD, qui elle consomme beaucoup de mémoire vive. Heureusement, la bibliothèque de lecture des fichiers WAV nous permet d'avoir accès à son code et de la réutiliser pour nos besoins.
+
Parce que notre « grain » audio est relativement court (environ 10 millisecondes), le besoin en mémoire RAM devrait être modéré (quelques centaines d'octets/bytes).  
   −
Les détails techniques sont bien commentés dans le code source. Donc, si vous êtes curieux de connaître les détails de mise en œuvre ... utilisez le source, bonne chance !
+
Le problème c'est que nous aimerions aussi utiliser le Wave Shield pour faire ce pourquoi il a été conçu - la lecture de fichiers WAV. La lecture se fait depuis une carte carte SD et cette opération consomme vraiment beaucoup de mémoire. Heureusement, la bibliothèque de lecture des fichiers WAV est bien conçue, ce qui permet d'accéder à la mémoire de la librairie et de l'utiliser pour nos propres besoins.
 +
 
 +
Les détails techniques sont bien commentés dans le code source. Donc, si vous êtes curieux de connaître les détails de mise en œuvre... utilisez le source à votre disposition.
    
== Limitations ==
 
== Limitations ==
   −
Au début, les nouveaux utilisateurs d'Arduino, le décrivent souvent comme « l'ordinateur juste suffisant pour effectuer une seule chose et bien ».
+
Lorsque LadyAda présente Arduino à des nouveaux utilisateur, elle le décrit comme "un ordinateur juste assez puissant pour réaliser une des nombreuses choses possible mais de le faire vraiment bien".
   −
>>> Walking while chewing gum is a challenge???<<<,
+
Il faut quand même garder à l'esprit, que même pour l'humain, il est difficile de coordonnées des tâches distinctes pour les réaliser en même temps. Ce que l'on traduirait en anglais par "Walking while chewing gum is a challenge!" (''"c'est un challenge de se promener en chiquant"'' sous entendu marcher à un rythme totalement désynchronisé de la mastication).
 +
 +
Arduino aussi à ses limites
    
Gardez les limitations suivantes à l'esprit :
 
Gardez les limitations suivantes à l'esprit :
* il peut traiter l'effet vocal ou jouer des WAVs (et peut faire les deux avec le même sketch), mais il ne peut pas le faire simultanément.
+
* il peut traiter l'effet vocal ou jouer des fichiers WAVs (et peut faire les deux avec le même sketch), mais il ne peut pas le faire simultanément.
* Vous ne pouvez pas lire d'autres entrées analogiques lorsque l'effet de voix est en fonction (cas concret, vous ne pouvez pas faire varier la fréquence en continu avec le potentiomètre). Si vous utilisez des capteurs analogiques comme déclencheurs (par ex. Des capteurs  de force résistifs dans des chaussures), envisagez des solutions de contournement comme l'utilisation d'un diviseur de tension, soigneusement calculé, sur une entrée digitale, ou un deuxième microcontrôleur (MCU) pour traiter les entrées analogiques, déclenchant la suite au travers une liaison série ou une connexion I2C.
+
* Vous ne pouvez pas lire d'autres entrées analogiques lorsque l'effet de voix est en fonction (cas concret, vous ne pouvez pas faire varier la fréquence de l'effet de voix à la volée avec le potentiomètre). Si vous utilisez des capteurs analogiques comme déclencheurs (par ex. Des capteurs  de force résistifs dans des chaussures), envisagez des solutions de contournement comme l'utilisation d'un diviseur de tension, soigneusement calculé, sur une entrée digitale, ou un deuxième microcontrôleur (MCU) pour traiter les entrées analogiques, déclenchant la suite au travers une liaison série ou une connexion I2C.
    
{{Voice-Changer-TRAILER}}
 
{{Voice-Changer-TRAILER}}
29 917

modifications

Menu de navigation