Différences entre versions de « AdaFruit Wave Shield Exemples »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 46 : Ligne 46 :
 
* Le [http://www.ladyada.net/media/wavshield/daphc.pde Sketch] (pour la nouvelle [http://code.google.com/p/wavehc/ librairie waveHC]. Vérifiez aussi [http://code.google.com/p/wavehc/ le zip de la librairie WaveHC] au cas où une version plus récente serait disponible).
 
* Le [http://www.ladyada.net/media/wavshield/daphc.pde Sketch] (pour la nouvelle [http://code.google.com/p/wavehc/ librairie waveHC]. Vérifiez aussi [http://code.google.com/p/wavehc/ le zip de la librairie WaveHC] au cas où une version plus récente serait disponible).
  
== 6 buttons, 6 sounds, multiple possibilities! ==
+
== 6 boutons, 6 sons, de multiples possibilités! ==
  
Here is a collection of different playback techniques with 6 buttons (connected to analog 0-5)
+
Voici un ensemble de 6 techniques différents de lectures utilisant les 6 boutons (connectés sur les entrées analogiques 0-5)
  
You can change the # of buttons and what they're wired to easily. This isn't an exhaustive list but will give you some ideas about how you can do a lot with the [http://code.google.com/p/wavehc/ WaveHC library]. Note that all the changes occur in loop(). The button checking and everything else is the same.
+
Vous pouvez changer le nombre de boutons, ils sont faciles à raccorder. Ce n'est pas une liste exhaustive mais cela vous donnera quelques idées de ce que vous pouvez réaliser ç l'aide de la [http://code.google.com/p/wavehc/ librairie WaveHC ].
* [http://www.ladyada.net/media/wavshield/wavehc_play6completeonce.pde Play the wave file all the way through, and only once]
+
 
* [http://www.ladyada.net/media/wavshield/wavehc_play6completeoneloop.pde Play one wave file all the way through, in a loop]
+
Notez que toutes les modifications sont faites dans loop(). Le code de vérification des boutons (et tout le reste) sont identiques.
* [http://www.ladyada.net/media/wavshield/wavehc_play6completeallloop.pde Play all the pressed wave files all the way through, in a loop]
+
* [http://www.ladyada.net/media/wavshield/wavehc_play6completeonce.pde Joue le fichier Wave en entier et une seule fois]
* [http://www.ladyada.net/media/wavshield/wavehc_play6singlekeyonce.pde Play the wave file only when the button is held down and only once] (kind of like a musical keyboard)
+
* [http://www.ladyada.net/media/wavshield/wavehc_play6completeoneloop.pde Joue le fichier Wave en entier en boucle]
* [http://www.ladyada.net/media/wavshield/wavehc_play6singlekeyloop.pde Play the wave file only when the button is held down and loop it] (kind of like a sampler keyboard)
+
* [http://www.ladyada.net/media/wavshield/wavehc_play6completeallloop.pde Joue tous les fichiers Wave pressés en entier et en boucle]
* [http://www.ladyada.net/media/wavshield/wavehc_play6interloop.pde Play the wave file all the way through and loop it, but allow other buttons to interrupt]
+
* [http://www.ladyada.net/media/wavshield/wavehc_play6singlekeyonce.pde Joue le fichier Wave seulement pendant que le bouton est maintenu pressé et seulement une fois] (Une sorte d'orgue musical)
* [http://www.ladyada.net/media/wavshield/wavehc_play6interonce.pde Play the wave file all the way through once, but allow other buttons to interrupt]
+
* [http://www.ladyada.net/media/wavshield/wavehc_play6singlekeyloop.pde Joue le fichier Wave en boucle seulement pendant que le bouton est pressé] (Une sorte d'orgue musical)
 +
* [http://www.ladyada.net/media/wavshield/wavehc_play6interloop.pde Joue le fichier Wave en entier et en boucle, mais permet aux autres boutons de l'interrompre]
 +
* [http://www.ladyada.net/media/wavshield/wavehc_play6interonce.pde Joue le fichier Wave en entier une seule fois et permet aux autres boutons de l'interrompre]
  
 
== Playing sound based on input ==
 
== Playing sound based on input ==

Version du 16 mars 2012 à 12:18

Erreur de dépassement de pile?

Vous avez une erreur "Stack overflow"?

Tous les exemples ont été testés (et fonctionnent) avec la version 13 (et suivantes).

Si vous rencontrez des problèmes, essayez cette version là (si possible)

Avoir plus de RAM et de Flash!

Note MCHobby: Les plateformes Arduino sont maintenant distribuée avec un ATmega328.

Cette section n'est vraiment pertinente que si vous ne possédez pas d'ATmega328.

Avant d'essayer de jouer de l'audio, vous aurez besoin de faire un peu de place

la mémoire RAM d'Arduino, cela évitera que cela se termine en vilain

dépassement de pile (stack-overflow). Manquer de mémoire RAM est difficile à déboguer et frustrant, d'autant plus si vous disposez d'un ATMega168

Suivez ces instructions (anglais) pour savoir comment avoir plus

de RAM en réduisant la taille de la mémoire tampon de la librairie série (Serial library).

Vous n'aurez pas besoin de faire cela si vous avez un ATmega328.

Notez que la librairie est vraiment grosse (approximativement 10K). Si vous voulez faire beaucoup plus avec Arduino, il est vivement conseillé de faire un Upgrade vers un ATmega328. Ce shield a été développé en prévoyant la disponibilité d'un ATmega328.

Générer de la parole

Si vous désirez une voix humaine dans vos projets, vous povez utiliser le générateur gratuit AT&T Text-to-Speech demo page (Il sais aussi parler en français :-) )

Ce générateur créera des fichier audios 16KHz en 16-bit, ce qui permet de les utiliser directement.

Bibliothèque d'échantillons sonores

Par là, vous trouverez une gigantesque collection d'échantillon sonore sous la licence C.C. Attribution! Beaucoup d'entre eux sont déjà au format mono, 16 ou 22KHz

Lecteur Audio Numérique

Aussi appelé DAP pour Digital audio player.

C'est l'exemple le plus simple. Il joue en boucle chacun des fichiers audio trouvé sur la carte SD. Ce sketch inclus également la librairie.

6 boutons, 6 sons, de multiples possibilités!

Voici un ensemble de 6 techniques différents de lectures utilisant les 6 boutons (connectés sur les entrées analogiques 0-5)

Vous pouvez changer le nombre de boutons, ils sont faciles à raccorder. Ce n'est pas une liste exhaustive mais cela vous donnera quelques idées de ce que vous pouvez réaliser ç l'aide de la librairie WaveHC .

Notez que toutes les modifications sont faites dans loop(). Le code de vérification des boutons (et tout le reste) sont identiques.

Playing sound based on input

This example plays 6 different files depending on whether buttons connected to the 6 analog input pins are pressed. (for AF_wave)

This similar example plays 6 different files but its for WaveHC library (theres a walkthrough here)

This one plays 4 different files depending on serial characters, good if you have say an xbee you want to use

Changing the playback rate

By messing with the playback interrupt, [you can change the speed of playback for an interesting effect].

[Here is the sketch], connect the potentiometer to analog pin 0 (or change the code)

Halloween pumpkin

An example of using a sensor to trigger sounds, as well as animating LEDs based on the volume

Volume control via software

By changing the #define DVOLUME 1 in wave.cpp and recompiling you can do rudimentary software volume control as in this sketch