Bonjour a tous, d'abord je m'excuse si je n'ai pas posté au bon endroit j'ai un peu du mal il ya beaucoup de categorie sur ce magnifique forum haha
voila j'ai un projet que j'ai developper avec chatGPT, je dois dans le cadre d'un nouveau cosplay faire un modulateur de voix en temps reel.
j'en suis arrivé a la conclusion que l'ideal etait une carte teensy 4.0 + son module audio ( et aussi micro, haut parleur et ampli).
l'objectif pour moi etant d'avoir ces filtres suivant d'appliquer: Pitch, DoublePitch, HighPass, Distortion et Resonator
Donc du coup apres une conversation avec notre amis chatGPT (oui je connais que lui en IA et je maitrise pas assez le codage)
il en est ressorties 2 codes, cependant c'etait trop beau pour etre vrai hahaha, ca ne fonctionne pas enfin du moins lorsque je fais televerser sur la teensy j'ai plein de message d'erreur lié au codage.
es ce que une bonne âme charitable pourrait me donner un petit coup de main svp
voici les codes que j'ai:
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
// Définition des objets audio
AudioInputI2S mic;
AudioAnalyzePeak peak;
AudioEffectPitchShift pitchshift;
AudioEffectMultiply doublepitch;
AudioFilterBiquad highpass;
AudioEffectDistortion distortion;
AudioFilterStateVariable resonator;
AudioOutputI2S speaker;
// Définition des connexions audio
AudioConnection patchCord1(mic, 0, peak, 0);
AudioConnection patchCord2(mic, 0, pitchshift, 0);
AudioConnection patchCord3(pitchshift, 0, doublepitch, 0);
AudioConnection patchCord4(doublepitch, 0, highpass, 0);
AudioConnection patchCord5(highpass, 0, distortion, 0);
AudioConnection patchCord6(distortion, 0, resonator, 0);
AudioConnection patchCord7(resonator, 0, speaker, 0);
AudioConnection patchCord8(resonator, 1, speaker, 1);
// Définition des broches pour l'interrupteur
const int buttonPin = 14;
bool buttonState = false;
void setup() {
// Initialisation de la communication série pour le débogage
Serial.begin(9600);
// Initialisation de la carte audio
AudioMemory(20);
// Configuration des filtres audio
pitchshift.amount(0.5);
doublepitch.gain(0.5);
highpass.setHighpass(0, 1000);
distortion.amount(0.5);
resonator.setBandwidth(0, 3);
resonator.setFrequency(0, 1000);
// Configuration de la broche pour l'interrupteur
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
// Lecture de l'état de l'interrupteur
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
// Lecture de l'entrée audio du microphone
AudioStream::update_all();
// Envoi du flux audio déformé vers le haut-parleur
if (speaker.update()) {
Serial.println("Playing audio...");
}
}
}
ainsi que
#include <Bounce.h>
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
AudioInputAnalog mic; // microphone analogique
AudioOutputAnalog speaker; // haut-parleur analogique
AudioEffectPitchShift pitchShift; // filtre Pitch
AudioEffectDoublePitchShift doublePitchShift; // filtre DoublePitch
AudioFilterStateVariable highPass; // filtre HighPass
AudioEffectDistortion distortion; // filtre Distortion
AudioFilterStateVariable resonator; // filtre Resonator
Bounce button = Bounce(0, 10); // bouton poussoir
void setup() {
AudioMemory(20); // allouer la mémoire audio
button.attach(0, INPUT_PULLUP); // configurer le bouton poussoir
highPass.frequency(500.0); // régler la fréquence de coupure du filtre HighPass
highPass.resonance(1.0); // régler la résonance du filtre HighPass
distortion.amount(0.5); // régler l'intensité du filtre Distortion
resonator.frequency(400.0); // régler la fréquence du filtre Resonator
resonator.resonance(1.5); // régler la résonance du filtre Resonator
}
void loop() {
button.update(); // mettre à jour l'état du bouton poussoir
if (button.fallingEdge()) { // si le bouton est enfoncé
// activer tous les filtres
pitchShift.begin(1.0, 12.0); // régler l'intensité et la hauteur du filtre Pitch
doublePitchShift.begin(2.0, 12.0); // régler l'intensité et la hauteur du filtre DoublePitch
highPass.enable(1); // activer le filtre HighPass
distortion.enable(1); // activer le filtre Distortion
resonator.enable(1); // activer le filtre Resonator
} else if (button.risingEdge()) { // si le bouton est relâché
// désactiver tous les filtres
pitchShift.end(); // désactiver le filtre Pitch
doublePitchShift.end(); // désactiver le filtre DoublePitch
highPass.disable(1); // désactiver le filtre HighPass
distortion.disable(1); // désactiver le filtre Distortion
resonator.disable(1); // désactiver le filtre Resonator
}
// lire l'entrée audio du microphone et la traiter avec les filtres activés
float micLevel = mic.read();
float outLevel = pitchShift.process(doublePitchShift.process(highPass.process(distortion.process(resonator.process(micLevel)))));
// envoyer la sortie audio au haut-parleur
speaker.write(out
merci beaucoup













