Jour 6 - Les maths adaptées au Dev DS ← Précédent
Aujourd’hui, nous étudierons la lecture de sons sur la Nintendo DS... Tout d’abord, vous devez savoir que PAlib vous offre 2 méthodes différentes d’utilisation des sons. :
La DS ne peut pas jouer des fichiers Wav (ou d’autres formats tels que le mp3 ou le ogg) tel quel, vous devrez donc le faire en 2 étapes : convertir le fichier au format raw, et le jouer... Différents sites proposent de télécharger des sons, de style effets spéciaux : http://www.universal-soundbank.com/ ou bien http://www.sampleswap.org/ (il faut s’inscrire).
J’utilise personnellement Switch, parce qu’il fonctionne vraiment bien (et est facile à employer), mais Kleevah recommanderait plutôt Audacity, et quelques autres utilisent Sox (utilisation de lignes de commande). J’utiliserai Switch pour ce tutorial, mais si vous voulez ajouter la convertion en utilisant d’autres programmes, nous pouvons faire les sections multiples...
Après téléchargement et installation de Switch (n’installez pas tous les autres logiciels qu’ils suggèrent), ouvrez-le et vous devriez obtenir ceci :
Maintenant, cliquez sur les boutons Add File ou Add Folder pour ajouter des dossiers à vous liste de convertion... Une fois que vous avez ajouté tous les fichiers que vous voulez convertir, changez le format de sortie (en bas à gauche) au format raw, et changez les préférences d’encodage pour avoir ça :
Vous pouvez laisser la sortie stéréo si vous préférez, et pouvez également placer un autre taux d’échantillonnage que 11025... mais vous DEVEZ laisser le format 8 bits signé si vous voulez que le fichier converti fonctionne... J’aime bien ces options parce qu’elles donnent de plus petits fichiers avec une bonne qualité, et je ne m’inquiète pas à beaucoup à son sujet le son stéréo (mais qui peut être utilisé, comme dans Super Mario 64 DS, dans le mini jeu où vous ouvrez les boîtes et le bruit est différent, de gauche à droite, puis juste à gauche, etc.....).
Vous pouvez également choisir le répertoire de sortie. Une fois que vous êtes prêt, cliquez le bouton Convert, et ce n’est plus qu’une question de secondes avant que vous obteniez vos fichiers raw !!!
Dans Audacity, convertir est a peu près pareil.
D’abord, ouvrez Audacity, Appuyez sur Ctrl+P ou allez dans le menu Edition et cliquez sur Préférences. Cliquez sur le format de fichier tab. Cliquez sur “Uncompressed Export Format”(Exporter Format decompressé) puis mettez ce que vous mettez dans Switch : “RAW (header less)” et signez 8bits PCM. Clquez sur OK puis sur suivant. Maintenant, ouvrez le fichier que vous voulez convertir, puis allez dans le menu du fichier et cliquez sur “Export As RAW” et vous êtes prêt !
PS : Switch est quand même plus simple d’utilisation et rapide, je vous conseillerai Switch plutôt que Audacity.
Maintenant que vous avez vos fichiers raw, placez les dans le répertoire data de votre projet. Si vous n’en avez pas, créez-le... L’exemple que nous allons utiliser est Sound/Sound...
C’est un code très facile à comprendre :
#include <PA9.h> // Inclue PA_Lib #include "saberoff.h" // Inclue le son (trouvé dans le dossier data au format raw mais lextension qui apparait içi est .h au lieu de .raw) // Fonction : main() int main(int argc, char ** argv) { PA_Init(); // Initialisation de PA_Lib PA_InitVBL(); // Initialisation de la VBL standard PA_InitText(0, 0); PA_InitSound(); // Initialisation du système du son PA_OutputSimpleText(0, 6, 10, "Appuyez sur A pour jouer le son"); // Boucle infinie pour laisser le programme fonctionner while (1) { // joue le son si le bouton A est appuyé... if (Pad.Newpress.A) PA_PlaySimpleSound(0, saberoff); PA_WaitForVBL(); } return 1; }
Il y a juste quelques étapes à suivre:
Compilez, lancez, et appréciez le bruit de sabre laser par une pression sur le bouton A ! (voir \PAlibexample\Sound\Sound\)
Les fichiers mod sont vraiment sympas à employer, parce qu’ils sont simples, prennent très peu d’espace dans la rom, et peuvent sonner très bien... Mais ils ne sont pas très facile à créer, il vaut mieux les rechercher sur le web... Je recommande personnellement de visiter The Mod Archive, Exotica (inactif), et ModLand . Prenez seulement les fichiers avec l’extension “.mod”...
Maintenant, allons voir l’exemple : Sound/ModPlayer !
D’abord, placez votre fichier mod dans le dossier data (j’ai appelé celui de l’exemple modfile.mod...). Si votre projet n’a pas de répertoire data, créez-le...
Maintenant, je vais poster le code entier pour une fois :
// Includes #include <PA9.h> // Inclue PA_Lib #include "modfile.h" // Inclue le fichier mod (le fichier mod est dans le dossier data) // Fonction : main() int main(int argc, char ** argv){ PA_Init(); // Initialisation de PAlib... PA_InitVBL(); // Initialisation du VBL... PA_InitSound(); // Initialisation du son, pour le lecteur mod... PA_PlayMod(modfile); // Joue un mod while(1){ // Boucle infinie PA_WaitForVBL(); } return 0; } // Fin de main()
Il y a juste 3 choses à savoir !
Maintenant, une dernière chose : les restrictions... Votre fichier mod peut avoir de 1 à 16 canaux, mais je recommande 8 canaux, qui vous laisse 8 canaux pour des effets sonores.
Prochain → Jour 8 - DS Hardware