Bonjour Chris,
Quelle sont les genres que tu veux faire ?
On peut par exemple créer des sons de toutes pièces en temps réel à partir de formes simples (bruit blanc, sinus, carré, triangles…) : c’est une approche “à la 8bits” (ce qui se faisait en MIDI)
On peut également partir de sons courts et élémentaires en wav, et les mélanger en faisant varier la la hauteur et l’enveloppe de volume. c’est l’approche plus “samples”
Déjà pour le changement de colonne ou dans un menu, tu peux utiliser un simple: gb.sound.playTick();
Pour le son ‘valider’ dans le menu, n’hésites pas à utiliser: gb.sound.playOK();
Après pour la chute du jeton, tu peux jouer avec gb.sound.tone( fréquence, durée)
Pour la chute, tu mets une durée un peu plus longue et en ajuste un peu la fréquence, tu devrais avoir quelque chose qui convienne dans le style rétro.
Si pendant tes tests tu obtiens des choses sympas pour autre chose, tu gardes en commentaires ou tu les implémentes directement si tu voix tout de suite où les mettre.
Pour la fin de partie, soit tu joues un wav, c’est totalement adapté au début et à la fin de partie. Pour un puissance 4, c’est même adapté à certains événement. Par exemple, le temps que le pion chute, tu pourrais très bien figer les autres actions et jouer un wav aussi gb.sound.play(“FALLING.WAV”);
Après tu as des solutions plus complexes mais ces solutions me paraissent assez adaptées au jeu.
Hmmm… je pense que ça n’est pas l’objet de sa question.
Je crois qu’il aimerait surtout comprendre comment générer des sons procéduraux avec le DAC du SAMD21, donc en générant des ondes de formes qui produisent des sons sympas. La lib fournit déjà le support des ondes de formes carrées, triangulaires, sinusoïdales et bruitées.
@chris-scientist Tu peux déjà commencer par explorer ce que l’on peut faire avec l’utilitaire GSFX GUI de Valden.
Ensuite, tu peux examiner le code de Soru pour analyser ce qu’elle a implémenté au niveau des Sound_FX et t’en inspirer pour générer d’autres formes de signaux…