Table des matières:
- Étape 1: Problème
- Étape 2: Contexte du projet
- Étape 3: pièces/outils requis
- Étape 4: Stratégie technique
- Étape 5: Coder
- Étape 6: Vidéo
Vidéo: NeckCrusher (pédale d'effet montée sur guitare) : 6 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Dale Rosen, Carlos Reyes et Rob Koch
DATT 2000
Étape 1: Problème
Les pédales de guitare restreignent le musicien à la plate-forme de pédale. Solution: créez et intégrez une fonctionnalité de pédale de guitare dans la guitare elle-même. Cela permet au musicien de se déplacer librement sur la scène, en utilisant le manche de la guitare comme interface au lieu d'être limité à l'emplacement du pédalier. Nous allons explorer ce concept en créant un dispositif d'effet bitcrusher/taux d'échantillonnage.
Étape 2: Contexte du projet
Il existe de nombreuses pédales de guitare utilisées par les musiciens pour manipuler le son de leurs guitares. La plupart d'entre eux se trouvent généralement dans des unités de rack ou de pédales, limitant ainsi le contrôle des effets à l'emplacement de l'unité d'effets. Le montage de l'appareil sur la guitare permet aux joueurs de contrôler les paramètres de l'effet n'importe où sur la scène. Cela signifie qu'ils ne seront pas limités et peuvent avoir la liberté de se déplacer pour leur performance.
Étant donné qu'Arduino n'est capable que de l'audio 8 bits, il est impossible de faire un traitement de signal haute fidélité. C'est pourquoi nous avons choisi les effets que nous avons réalisés, car ils sont basés sur la création d'un son basse fidélité et déformé. Ce sont les seuls effets raisonnablement possibles avec un Arduino.
Étape 3: pièces/outils requis
● Perceuse à percussion
● Coupe-fils
● Pince à dénuder
● Fer à souder
● Pistolet à colle chaude
● Pompe à dessouder
● Guitare● Enceinte
● Soudure
● Colle chaude
● Arduino
● Carte Proto
● Fil enduit
● Prises audio (x2)
● Potentiomètres (x3)
● Condensateurs: 2,2 uF (x2)
● Fil de cuivre exposé
● Vis (M3.5 *8)
● Résistances: 1 k, 10 k, 1,2 k, 1,5 k, 390 k
● * Amplificateur Op (LM358) / * Transistor (2N3442)
Étape 4: Stratégie technique
Circuits internes
Entrée sortie
Nous devons convertir le signal audio provenant d'une guitare en quelque chose que l'arduino peut utiliser et modifier. Nous devrons ensuite reconvertir le signal provenant de l'arduino en un signal audio. Arduino lit les tensions de 0V à 5V, les signaux audio sont de -1V à 1V. Ces conversions se font à l'aide de résistances. Le signal sera également converti dans le circuit de sortie.
Bibliothèque Arduino: ArduinoDSP
Description du projet (Interface)
Boutons Bouton 1: Taux d'échantillonnage
Bouton 2: Broyeur d'embouts
Bouton 3: Bit Shifter
Étape 5: Coder
#include "dsp.h"
#définir cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) #définir sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
booléen div32; div16 booléen;
f_sample booléen volatile; octet volatile badc0; octet volatile badc1; octet volatile ibb;
entier fx1; entier fx2; entier fx3; entier fx4;
int cnta; int icnt; int icnt1; int icnt2; int cnt2; int iw; int iw1; int iw2; octet bb;
octet dd[512]; // Matrice de mémoire audio 8 bits
void setup() { setupIO();
// recharge la vague après 1 seconde fill_sinewave();
// régler le prédimensionneur adc sur 64 pour une fréquence d'échantillonnage de 19 kHz cbi (ADCSRA, ADPS2); sbi(ADCSRA, ADPS1); sbi(ADCSRA, ADPS0); // CAN 8 bits dans le registre ADCH sbi(ADMUX, ADLAR); sbi(ADMUX, REFS0); cbi(ADMUX, REFS1); cbi(ADMUX, MUX0); cbi(ADMUX, MUX1); cbi(ADMUX, MUX2); cbi(ADMUX, MUX3); // Mode PWM Timer2 réglé sur cbi PWM rapide (TCCR2A, COM2A0); sbi (TCCR2A, COM2A1); sbi (TCCR2A, WGM20); sbi (TCCR2A, WGM21); //Configuration pour Timer2 cbi (TCCR2B, WGM22); // Timer2 Clock Prescaler à: 1 sbi (TCCR2B, CS20); cbi (TCCR2B, CS21); cbi (TCCR2B, CS22); // Activation du port PWM Timer2 sbi(DDRB, 3); //cli(); cbi (TIMSK0, TOIE0); sbi (TIMSK2, TOOIE2); iw1 = badc1;
}
boucle vide() {
//vérifier l'état du potentiomètre d'effet et du commutateur rotatif readKnobs();
// ************* // ***Normal*** // *************
if (fx1 == 0 && fx2 == 0 && fx3 == 0 && fx4 == 0) { byte input = analogRead(left); sortie (gauche, entrée); }
// ************* // ***Phasor*** // *************
si (fx4 > 100) {
fx1 = 0; fx2 = 0; fx3 = 0;
while (!f_sample) { // attend la valeur de l'échantillon de l'ADC } // Cycle 15625 KHz = 64uSec PORTD = PORTD | 128; f_échantillon = faux; bb = badc1; dd[icnt1] = bb; // écrit dans le tampon fx4 = iw * badc0 / 255; // échelle de l'échantillon retardé avec le potentiomètre iw1 = dd[icnt2]; // lit le tampon de retard badc0 = badc0 / 20; // valeur limite à 512 icnt1++; icnt2 = icnt1 - badc0; icnt2 = icnt2 & 511; // index limite 0.. icnt1 = icnt1 & 511; // index limite 0..511 iw2 = iw1 + bb; iw2 = iw2 / 2; bb = iw2; OCR2A = bb; // Exemple de valeur vers la sortie PWM
PORTD = PORTD ^ 128; sortie(gauche, PORTD); // Sortir }
// ************* // ***Flanger*** // ************* if (fx3 > 100) {
fx1 = 0; fx2 = 0; fx4 = 0;
while (!f_sample) { // attend la valeur de l'échantillon de l'ADC } // Cycle 15625 KHz = 64uSec
PORTD = PORTD | 128; f_échantillon = faux; bb = dd[icnt]; // lit le tampon de retard iw = 127 - bb; // soustrait le décalage fx3 = iw * badc0 / 255; // échelle échantillon retardé avec potentiomètre iw1 = 127 - badc1; // soustrait le décalage du nouvel échantillon iw1 = iw1 + iw; // ajoute un échantillon retardé et un nouvel échantillon if (iw1 127) iw1 = 127; // Limiteur audio bb = 127 + iw1; // ajoute un décalage dd[icnt] = bb; // stocker l'échantillon dans le tampon audio icnt++; icnt = icnt & 511; // limite bufferindex 0..511 OCR2A = bb; // Exemple de valeur vers la sortie PWM
PORTD = PORTD ^ 128; sortie(gauche, PORTD); // Sortir
} }
void readKnobs() { fx1 = analogRead(1); fx2 = analogRead(2); fx3 = analogRead(3); fx4 = analogRead(4);
}
void fill_sinewave() { float pi = 3.141592; flotteur dx; float fd; float fcnt; dx = 2 * pi / 512; // remplit le bufferarry de 512 octets pour (iw = 0; iw <= 511; iw++) { // avec 50 périodes sinusoïdale fd = 127 * sin(fcnt); // tonalité fondamentale fcnt = fcnt + dx; // dans la plage de 0 à 2xpi et incréments de 1/512 bb = 127 + fd; // ajoute un décalage continu à la sinusoïde dd[iw] = bb; // écrit la valeur dans le tableau
} }
//****************************************************** ****************** // Timer2 Interrupt Service à 62,5 KHz // ici le signal audio et potentiomètre est échantillonné à une fréquence de: 16Mhz / 256 / 2 / 2 = 15625 Hz ISR(TIMER2_OVF_vect) {
PORTB = PORTB | 1;
div32 = !div32; // diviser la fréquence timer2 / 2 à 31,25 kHz if (div32) { div16 = !div16; if (div16) { // échantillonner les canaux 0 et 1 alternativement afin que chaque canal soit échantillonné avec 15,6 kHz badc0 = ADCH; // obtenir le canal ADC 0 sbi(ADMUX, MUX0); // régler le multiplexeur sur le canal 1 } else { badc1 = ADCH; // obtenir le canal ADC 1 cbi(ADMUX, MUX0); // règle le multiplexeur sur le canal 0 f_sample = true; } ibb++; ibb--; ibb++; ibb--; // court délai avant le démarrage de la conversion sbi(ADCSRA, ADSC); // lancer la prochaine conversion }
}
Étape 6: Vidéo
Problèmes potentiels ● Le micro est un peu trop faible pour alimenter le circuit - nécessite un ampli op. - Dans la vidéo, nous avons utilisé un amplificateur de signal. (La boîte grise posée sur la table.)
Conseillé:
Parasit Studio Bit Breaker Effet Guitare : 5 étapes (avec photos)
Parasite Studio Bit Breaker Guitar Effect Build : Parasite Studio est un site Web d'effets de guitare DIY qui fournit divers matériaux pour créer vos propres effets de guitare, en particulier ceux traitant des effets numériques tels que Bitbreaker ou Fuzz. L'adresse Parasite Studio est située à https://www.parasi
Comment faire un effet de guitare FUZZ à partir du kit de bricolage Aliexpress: 20 étapes (avec photos)
Comment faire un effet de guitare FUZZ à partir du kit de bricolage Aliexpress: J'ai acheté un effet de guitare électrique DIY Fuzz d'AliExpress et il y avait des informations si modestes que j'étais décidé à faire un Instructables à d'autres utilisateurs ou acheteurs moins expérimentés. Alors ceci est
Lampe de luminothérapie LED multicolore montée sur visière : 9 étapes (avec photos)
Lampe de luminothérapie à LED multicolore montée sur visière : avec une lampe de luminothérapie sur votre chapeau, vous pouvez l'utiliser tout en faisant des activités qui nécessitent de vous déplacer comme l'exercice et le travail. Cette lampe a des LED rouges, jaunes, cyan et bleues avec contrôle de la luminosité. Il s'éteint au bout de 15 ou 45 minutes. Ce
Pédale d'effet guitare DIY Rat Clone Distortion - The Dead RAT : 5 étapes (avec photos)
Pédale d'effet guitare DIY Rat Clone Distortion - The Dead RAT : Ce n'est pas une pédale de distorsion Mickey Mouse ! Cette pédale est un clone d'une de mes pédales d'effets préférées des années 80… RAT Distortion de ProCo. C'est une pédale de distorsion OpAmp de base utilisant la puce IC LM308N classique qui est une construction assez simple pour t
Boîtier d'effet guitare à valve et alimentation : 7 étapes (avec photos)
Boîtier d'effet de guitare à valve et alimentation : ce sera une source d'alimentation et un châssis pour une pédale d'effet de guitare à valve. J'ai compris cela au fur et à mesure que la progression que je montrerai n'était pas nécessairement l'ordre que j'ai pris - ce qui suit est un itinéraire idéalisé, réorganisé et non optimisé