Faire changer le pitch sur un synthé ou une guitare!

Salut à tous!

Alors voila je suis tout nouveau dans cette jolie communauté et encore tres peu familier avec l'arduino!
Pour me lancer j'ai un projet!et je pense que vous pouvez m'aidez un peu pour arriver à le concretiser!

Alors en faite, j'aimerais customiser un instrument de musique avec un arduino et un accelerometre!je sais pas si le plus simple est un synthé ou une gratte/basse electrique, ùaos l'ideale serait de faire en sorte de pouvoir interragir avec le pitch du son jouer en fonction de la position de l'instrument!

merci d'avance pour votre aide et j'espere que ce projet ce finalise!

malheureusement, l'arduino permet de faire beaucoup de choses, mais pas de l'audio, ou alors avec un son crado et très limité (pas assez de mémoire en premier lieu).

Bien qu'assez simple, ton projet demande de multiplier un signal audio par une sinusoïde dont la fréquence dépend d'un paramètre externe (capteur). Mais le peu de ram, le 8 bits et les 16MHz ne te permettront pas de faire ce que tu veux. pars plutôt sur un DSP, c'est la même chose, mais fait pour l'audio ou vidéo (bien plus rapide)...

et en partant sur un changement de parametre d'un filtre?il existe une possiblité de faire passer le son de la guitare par un filtre qui sera moduler par l'accelerometre?(desolé de la question qui peux paraitre debile!mais je suis tréééés novice :slight_smile: )

Petit cours rapide d'électronique...

En électronique, et on voit ça principalement en FM (la radio, modulation de fréquence), où on part d'une porteuse (un signal à fréquence fixe) dont justement la fréquence est modifiée par le signal à transmettre. Pour celà, on arrive à l'équation Z(t) = X(t) x Y(t), où Z(t) est le signal de sortie du modulateur (ou émetteur FM si tu préfères), X(t) = le signal à transmettre (la musique par exemple) et Y(t) le signal "porteuse", par exemple 101.3MHz sur ton poste de radio. En simplifiant un peu (faut me faire confiance car les calculs sont très lourds), on arrive à un truc genre Z(t) = A x sin(F(x) + F(y)) + B x sin(F(x) - F(y)), (F(x) la fréquence su signal audio et F(y), la fréquence de la porteuse). La sortie (Z(t)) devient donc la somme de deux signaux, l'un où on additionne les fréquences, l'autre où l'on soustrait les fréquences. Et si l'on augmente la fréquence d'un signal, il devient plus aigü (à l'inverse, si on la diminue, il devient plus grave). Cette méthode fait un décalage de spectre, soit pour un signal à transmettre de 0 à 20KHz et une porteuse à 101.3MHz, on retrouve en sortie le signal à transmettre mais allant de (101.3MHz - 20KHz) à (101.3MHz + 20KHz)

En HF, ça ne pose aucun problèmes, mais en BF (audio), les choses se gâtent un peu, car il faut éliminer les restes de la porteuse et d'autres signaux... mais ça se fait assez bien si on a le temps. J'ai fait plusieurs systèmes avec seulement un multiplieur analogique, le signal à modifier sur l'entrée 1, une fréquence de quelques Hz sur l'entrée 2, et en sortie, on retrouvait le signal plus aigü ou plus grave (pitché, quoi) selon les réglages. L'arduino ne sera jamais assez rapide pour gérer ça, un DSP possède en natif des fonctions de filtre et d'arythmétique élaborées, et fait gagner beaucoup de temps CPU.

Ton idée de filtre ne produira pas l'effet désiré : la pédale wah-wah est un filtre passe-bande dont on modifie la fréquence centrale avec la pédale. Donc partir sur un filtre ne te fera qu'une pédale wah-wah.

Je chercherais plutôt un effet tout fait "shifteur" ou pitcheur, car de plus en plus, la pédale (celle qu'on bouge avec le pied) est un capteur et non plus un potentiomètre, dans certains cas, le capteur fonctionne en continu, donc tu branches ton accéléromètre directement à la place du capteur (moyennant un peu de filtrage et d'adaptation...), et tu auras ton effet... Mais faut être sûr de ce que renvoie le capteur de la pédale et l'accéléro...

Enfin, quoi qu'il en soit, il ne faut pas compter sur un arduino pour faire de l'audio.

Désolé, je me suis un peu étalé et je suis pas très fort en explications, j'espère que ça t'aidera juste un peu à comprendre le principe...