LM3915 audio level LED peak meter
5:34
14 сағат бұрын
LM3915 audio level LED VU meter
10:47
LAPSUS ET RELAPSUS
8:58
Ай бұрын
VARIATION 11 (spectrogram)
17:35
Spring Reverb again
9:56
2 ай бұрын
Variation 15-4 Credo
2:45
3 ай бұрын
3V3 Guitar Buffer
2:39
3 ай бұрын
9 BPF VOCODER
17:53
3 ай бұрын
VARIATION 15 32
5:19
4 ай бұрын
Пікірлер
@candieflip
@candieflip 8 минут бұрын
interesting choice of music
@bisnetodeportugues
@bisnetodeportugues 12 сағат бұрын
Muito Legal seus projetos...👍👍
@bisnetodeportugues
@bisnetodeportugues 12 сағат бұрын
Didn't support the voltage??
@bisnetodeportugues
@bisnetodeportugues 12 сағат бұрын
Gostei...👍👍
@bisnetodeportugues
@bisnetodeportugues 12 сағат бұрын
Great job..👍👍
@huntera.c2884
@huntera.c2884 Күн бұрын
Hola colega, saludos desde Argentina Estoy realizando el mismo proyecto, ya tengo el primer prototipo con arduino funcionando lo compare con un chronografo chino y había diferencia de +- 10 fps Nos podemos comunicar para hablar sobre el proyecto?
@xColonel61
@xColonel61 Күн бұрын
Thank you so much!
@unrelatedactivities
@unrelatedactivities Күн бұрын
You're welcome!
@unrelatedactivities
@unrelatedactivities 2 күн бұрын
KA2284 five LED audio level meter VU circuit (with schematic). Being a nine pin SIP (Single In-line Package), it features a smaller PCB footprint when compared to the ICs used in the last videos on this channel (LM3915, LB1416). The level indicator five steps scale is -10dB, -5dB, 0dB, +3dB and +6dB. Thanks for watching.
@unrelatedactivities
@unrelatedactivities 3 күн бұрын
LM3915 audio level LED peak meter circuit schematic: kzfaq.infoUgkxlFQyj1YH6_mfEfJ0JaswYJG9jRKfA9Fr
@arturslunga4226
@arturslunga4226 5 күн бұрын
Great video! A clear explanation, with great graphics showing how the rifle works. Thank you for this and for your other BT65 videos, I have learned a lot from them. Greetings from Sweden
@sweetshell2585
@sweetshell2585 6 күн бұрын
This is so beautiful bro 💓
@joinmusirc7423
@joinmusirc7423 8 күн бұрын
É esse componente TUSB3200C que é trocado para resolver aquele problema da placa não ser reconhecida pelo pc?
@unrelatedactivities
@unrelatedactivities 7 күн бұрын
Não necessariamente, pode ser uma porção de outras coisas, desde cabos ou conectores, componentes passivos, alguma soldagem ou trilha defeituosa, EEPROM corrompida, talvez até algum problema com a instalação dos drivers no PC.
@joinmusirc7423
@joinmusirc7423 7 күн бұрын
@@unrelatedactivities Entendi, vlw
@ivandel7788
@ivandel7788 9 күн бұрын
can you add some modulation to it??
@unrelatedactivities
@unrelatedactivities 8 күн бұрын
Unfortunately it is not possible.
@felipeleon1708
@felipeleon1708 10 күн бұрын
A que velocidad?
@unrelatedactivities
@unrelatedactivities 11 күн бұрын
LM3915 audio level LED VU meter circuit, ten LEDs display in 3dB steps. Thanks for watching.
@samdeters6162
@samdeters6162 12 күн бұрын
So cool, Are you using something to detect the pitch of the guitar signal? If so what are you using?
@unrelatedactivities
@unrelatedactivities 12 күн бұрын
Thank you! I am using an assortment of home made circuits based on the GR-300 (Roland) and Guitar Tracker (Robert Penfold).
@samdeters6162
@samdeters6162 12 күн бұрын
@@unrelatedactivities right on! I have a moog matriarch that I like to mess around with, but as a guitar player I'd love to have a guitar-based way to control it.. do you think this would work for that? Or do you have any recommendations?
@unrelatedactivities
@unrelatedactivities 11 күн бұрын
Although I never used one, this ConVertor E1 Eurorack module seems to do a pretty good job extracting pitch and amplitude and converting to control voltages. And it is very compact. Here are links to a video and a website: kzfaq.info/get/bejne/m7VliKiVmqule6s.html sonicsmith.com/products/convertor-e1/
@samdeters6162
@samdeters6162 11 күн бұрын
@@unrelatedactivities that looks SWEET! Any tips at all on anything polyphonic?
@unrelatedactivities
@unrelatedactivities 10 күн бұрын
For polyphony you will need a hexaphonic pickup, like Roland GK, and a MIDI converter to control the Moog via MIDI. Or, for control via CV: the hex pickup, a breakout box to separate the six signals, six ConVertor E1 modules, and a lot of cables.
@unrelatedactivities
@unrelatedactivities 17 күн бұрын
Schematic: kzfaq.infoUgkxIIi2DsgesZuLR4o1zWsGLguucsT--xzu Datasheet: hirokun.jp/av/LB1416.pdf
@ChipGuy
@ChipGuy 17 күн бұрын
The caseing of the IC is very interesting. That thing must be pretty old.
@unrelatedactivities
@unrelatedactivities 17 күн бұрын
I guess LEDs were driven pretty hard back then, that tab is for attaching a heat sink. It gets hot if all LEDs are on for a minute or so. The IC is from Sanyo, datasheet: hirokun.jp/av/LB1416.pdf
@unrelatedactivities
@unrelatedactivities 17 күн бұрын
Schematic: kzfaq.infoUgkxIIi2DsgesZuLR4o1zWsGLguucsT--xzu
@fabiomansella3494
@fabiomansella3494 19 күн бұрын
Where can you buy it?
@SureshPandi
@SureshPandi 21 күн бұрын
In my display only 7 pins how to interface it
@unrelatedactivities
@unrelatedactivities 20 күн бұрын
Your display probably uses Charlieplexing: en.wikipedia.org/wiki/Charlieplexing
@joanrue5169
@joanrue5169 25 күн бұрын
The background sounds like a circuit bent Yamaha PSS 290
@sethbaldwin131
@sethbaldwin131 27 күн бұрын
This is coolest thing I've seen with Arduino!
@piotrkaczecki
@piotrkaczecki 27 күн бұрын
Szacun za pomysl i za Bacha :))
@unrelatedactivities
@unrelatedactivities 28 күн бұрын
for electric guitar, magnetic inducer, overdrive, envelope follower, three ring modulators, VCF, VCO, quadrature VCO, quadrature phaser, LFO, sample and hold, and resonators
@unrelatedactivities
@unrelatedactivities 28 күн бұрын
Part 3: void loop() { average = analogRead(A2); average = runningAverage(average); // average pot readings if(abs(average - oldaverage) > 7) // compare new and old averaged values, { // proceed if change is greater than 7 cc16 = average >> 3; // right shift 3 bits (divide by 8) for(byte i = 1; i <= 6; i++) // send value over channels 1-6 (strings 1-6) { // wait 1ms before sending sending MIDI.sendControlChange(16, cc16, i); // cc16 over each MIDI channel delay(1); // (a pedal can be really fast...) } oldaverage = average; } encoderA.tick(); // polled encoders need to be ticked encoderA.setLimits(-1,1); // limits encoder counter range to -1 and +1 encoderB.tick(); encoderB.setLimits(-1,1); encoderC.tick(); encoderC.setLimits(-1,1); encoderD.tick(); encoderD.setLimits(-1,1); int encA; if(encoderA.valueChanged()) // if first encoder is actuated, { encA = encoderA.getValue(); // get its value and store in encA encoderA.setValue(0); // zeroes the encoder counter if(page == 0) // if encoders bank 1 is selected, { mod = constrain(mod+(encA*4), 0, 127); // use it to control modulation for(byte i = 1; i <= 6; i++) // send value over channels 1-6 (strings 1-6) { MIDI.sendControlChange(1, mod, i); } if(mod >= 100) // display value things { oled.clear(22,55, 0,0); // col in pixels, row in char height oled.setCursor(22, 0); } if(mod < 100 && mod >= 10) { oled.clear(22,55, 0,0); oled.setCursor(22, 0); oled.print(F(" ")); } if(mod < 10 ) { oled.clear(22,55, 0,0); oled.setCursor(22, 0); oled.print(F(" ")); } oled.println(mod,DEC); } else if(page == 1) // if encoders bank 2 is selected, use it to control { // TVF & TVA Attack Time 01 99 14 - 64 - 114 atk = constrain(atk+encA, 14, 114); for(byte i = 1; i <= 6; i++) { MIDI.beginNrpn(227, i); // attack Time nrpn MIDI.sendNrpnValue(atk, 0, i); MIDI.endNrpn(i); } if(atk >= 100) { oled.clear(94,127, 0,0); oled.setCursor(94, 0); } if(atk < 100 && atk >= 10) { oled.clear(94,127, 0,0); oled.setCursor(94, 0); oled.print(F(" ")); } if(atk < 10 ) { oled.clear(94,127, 0,0); oled.setCursor(94, 0); oled.print(F(" ")); } oled.println(atk,DEC); } } //end of: if(encoderA.valueChanged()) int encB; if(encoderB.valueChanged()) { encB = encoderB.getValue(); encoderB.setValue(0); if(page == 0) // filter resonance { res = constrain(res+encB, 14, 114); for(byte i = 1; i <= 6; i++) { MIDI.beginNrpn(161, i); // filter resonance nrpn MIDI.sendNrpnValue(res, 0, i); MIDI.endNrpn(i); } if(res >= 100) { oled.clear(22,55, 2,2); oled.setCursor(22, 2); } if(res < 100 && res >= 10) { oled.clear(22,55, 2,2); oled.setCursor(22, 2); oled.print(F(" ")); } if(res < 10 ) { oled.clear(22,55, 2,2); oled.setCursor(22, 2); oled.print(F(" ")); } oled.println(res,DEC); } else if(page == 1) // TVF & TVA Decay Time 01 100 14 - 64 - 114 { dec = constrain(dec+encB, 14, 114); for(byte i = 1; i <= 6; i++) { MIDI.beginNrpn(228, i); MIDI.sendNrpnValue(dec, 0, i); MIDI.endNrpn(i); } if(dec >= 100) { oled.clear(94,127, 2,2); oled.setCursor(94, 2); } if(dec < 100 && dec >= 10) { oled.clear(94,127, 2,2); oled.setCursor(94, 2); oled.print(F(" ")); } if(dec < 10 ) { oled.clear(94,127, 2,2); oled.setCursor(94, 2); oled.print(F(" ")); } oled.println(dec,DEC); } } //end of: if(encoderB.valueChanged()) //int encC; if(encoderC.valueChanged()) { int encC = encoderC.getValue(); encoderC.setValue(0); if(page == 0) { cc93 = constrain(cc93+encC, 0, 127); // cc93 Effect3 Depth (Chorus send level) for(byte i = 1; i <= 6; i++) { MIDI.sendControlChange(93, cc93, i); } if(cc93 >= 100) { oled.clear(22,55, 4,4); oled.setCursor(22, 4); } if(cc93 < 100 && cc93 >= 10) { oled.clear(22,55, 4,4); oled.setCursor(22, 4); oled.print(F(" ")); } if(cc93 < 10 ) { oled.clear(22,55, 4,4); oled.setCursor(22, 4); oled.print(F(" ")); } oled.println(cc93,DEC); } else if(page == 1) // TVF & TVA Release Time 01 102 14 - 64 - 114 { rel = constrain(rel+encC, 14, 114); for(byte i = 1; i <= 6; i++) { MIDI.beginNrpn(230, i); MIDI.sendNrpnValue(rel, 0, i); MIDI.endNrpn(i); } if(rel >= 100) { oled.clear(94,127, 4,4); oled.setCursor(94, 4); } if(rel < 100 && rel >= 10) { oled.clear(94,127, 4,4); oled.setCursor(94, 4); oled.print(F(" ")); } if(rel < 10 ) { oled.clear(94,127, 4,4); oled.setCursor(94, 4); oled.print(F(" ")); } oled.println(rel,DEC); } } //end of: if(encoderC.valueChanged()) //int encD; if(encoderD.valueChanged()) { int encD = encoderD.getValue(); encoderD.setValue(0); if(page == 0) { cc17 = constrain(cc17+encD, 0, 127); // Sweep filter with LFO2 for(byte i = 1; i <= 6; i++) { MIDI.sendControlChange(17, cc17, i); } if(cc17 >= 100) { oled.clear(22,55, 6,6); oled.setCursor(22, 6); } if(cc17 < 100 && cc17 >= 10) { oled.clear(22,55, 6,6); oled.setCursor(22, 6); oled.print(F(" ")); } if(cc17 < 10 ) { oled.clear(22,55, 6,6); oled.setCursor(22, 6); oled.print(F(" ")); } oled.println(cc17,DEC); } else if(page == 1) // Master coarse tuning 00 02, 40 - 64 - 88 { transp = constrain(transp+encD, 40, 88); for(byte i = 1; i <= 6; i++) { MIDI.beginRpn(2, i); // transposition rpn MIDI.sendRpnValue(transp, 0, i); MIDI.endRpn(i); } int key = transp-64; if(key >= 10) { oled.clear(94,127, 6,6); oled.setCursor(94, 6); oled.print(F("+")); } if(key < 10 && key > 0) { oled.clear(94,127, 6,6); oled.setCursor(94, 6); oled.print(F(" +")); } if(key == 0) { oled.clear(94,127, 6,6); oled.setCursor(94, 6); oled.print(F(" ")); } if(key < 0 && key > -10) { oled.clear(94,127, 6,6); oled.setCursor(94, 6); oled.print(F(" ")); } if(key < 0 && key <= -10) { oled.clear(94,127, 6,6); oled.setCursor(94, 6); } oled.println(key,DEC); } } //end of: if(encoderD.valueChanged()) if(encoderA.buttonChanged()) // listen to encoderA switch { encoderA.getButton() == LOW ? page++ : 0; // selects encoder bank 1<->2 if(page % 2 == 0) page = 0; digitalWrite(13, page); if(page) { oled.setCursor(59, 0); oled.print(F(">")); // bank 1 < } else { oled.setCursor(59, 0); oled.print(F("<")); // > bank 2 } } if(encoderB.buttonChanged()) // program change { encoderB.getButton() == LOW ? wave++ : 0; if(wave % 3 == 0) wave = 0; if(wave == 0) { for(byte i = 1; i <= 6; i++) { MIDI.sendControlChange(0, 0, i); MIDI.sendProgramChange(81, i); } oled.setCursor(59, 2); oled.print(F("/")); // / = Saw wave } else if(wave == 1) { for(byte i = 1; i <= 6; i++) { MIDI.sendControlChange(0, 8, i); MIDI.sendProgramChange(80, i); } oled.setCursor(59, 2); oled.print(F("~")); // ~ = Sine wave } else if(wave == 2) { for(byte i = 1; i <= 6; i++) { MIDI.sendControlChange(0, 0, i); MIDI.sendProgramChange(80, i); } oled.setCursor(59, 2); oled.print(F("-")); // - = Square wave } } if(encoderC.buttonChanged()) // cc66 Sostenuto { encoderC.getButton() == LOW ? sost++ : 0; if(sost % 2 == 0) sost = 0; for(byte i = 6; i >= 1; i--) { MIDI.sendControlChange(66, sost ? 127 : 0, i); delay(12); } if(sost) { oled.setCursor(59, 4); oled.print(F("*")); // * Sostenuto On } else { oled.setCursor(59, 4); oled.print(F(" ")); // Sostenuto Off } } if(encoderD.buttonChanged()) // mode cc126:mono, cc127:poly { encoderD.getButton() == LOW ? mono++ : 0; if(mono % 2 == 0) mono = 0; for(byte i = 1; i <= 6; i++) { MIDI.sendControlChange(mono ? 126 : 127, mono ? 1 : 0, i); } if(mono) { oled.setCursor(59, 6); oled.print(F("*")); // * Mono } else { oled.setCursor(59, 6); oled.print(F(" ")); // Poly } } } // end of loop()
@unrelatedactivities
@unrelatedactivities 28 күн бұрын
Part 2: #include <MIDI.h> MIDI_CREATE_DEFAULT_INSTANCE(); #include <EncoderTool.h> // Encoder Tool library using namespace EncoderTool; PolledEncoder encoderA, encoderB, encoderC, encoderD; // four rotary encoders #include "SSD1306Ascii.h" #include "SSD1306AsciiAvrI2c.h" #define I2C_ADDRESS 0x3C // 128x64 I2C OLED #define RST_PIN -1 // Define proper RST_PIN if required. SSD1306AsciiAvrI2c oled; byte mod = 0; // Modulation cc 01 byte res = 64; // TVF resonance nrpn 01 33 byte cc93 = 0; // Effect3 Depth (Chorus send level) cc 93 byte cc16 = 0; // TVF Cutoff (pedal) cc 16 byte cc17 = 0; // TVF Cutoff Sweep cc 17 byte atk = 64; // TVF&TVA Envelope Attack Time nrpn 01 99 byte dec = 64; // TVF&TVA Envelope Decay Time nrpn 01 100 byte rel = 64; // TVF&TVA Envelope Release Time nrpn 01 102 byte transp = 64; // Master coarse tuning rpn 00 02 byte page = 0; // Encoder bank 1<->2 selector (encoderA switch) byte wave = 0; // Wave selector SAW->SIN->SQR (encoderB switch) byte sost = 0; // Sostenuto cc66 (encoderC switch) byte mono = 0; // Mode mono<->poly cc126 cc127 (encoderD switch) int average = 0; // pedal potentiometer readings average int oldaverage = 0; void setup() { analogReference(DEFAULT); average = analogRead(A2); MIDI.begin(20); // initializes MIDI MIDI.turnThruOff(); // disable MIDI thru byte sysRst[11]={0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7}; MIDI.sendSysEx(11, sysRst, true); // Roland SC-55 system reset delay(20); byte CF1[11] = {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x11, 0x32, 0x1D, 0x60, 0xF7}; byte CF2[11] = {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x12, 0x32, 0x1A, 0x62, 0xF7}; byte CF3[11] = {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x13, 0x32, 0x17, 0x64, 0xF7}; byte CF4[11] = {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x14, 0x32, 0x14, 0x66, 0xF7}; byte CF5[11] = {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x15, 0x32, 0x11, 0x68, 0xF7}; byte CF6[11] = {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x16, 0x32, 0x0E, 0x6A, 0xF7}; MIDI.sendSysEx(11, CF1, true); delay(20); // set initial TVF cutoff MIDI.sendSysEx(11, CF2, true); delay(20); MIDI.sendSysEx(11, CF3, true); delay(20); MIDI.sendSysEx(11, CF4, true); delay(20); MIDI.sendSysEx(11, CF5, true); delay(20); MIDI.sendSysEx(11, CF6, true); delay(20); byte cc1CF1[11]={0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x21, 0x41, 0x64, 0x7A, 0xF7}; for(byte i = 1; i <= 6; i++) // send over channels 1-6: { cc1CF1[6] = 0x20+i; cc1CF1[8] = 0x65-i; MIDI.sendSysEx(11, cc1CF1, true); delay(20); // set cc16 controlling TVF CUTOFF } byte cc2LFO2CF1[11]={0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x21, 0x59, 0x7F, 0x47, 0xF7}; for(byte i = 1; i <= 6; i++) // send over channels 1-6: { cc2LFO2CF1[6] = 0x20+i; cc2LFO2CF1[9] = 0x48-i; MIDI.sendSysEx(11, cc2LFO2CF1, true); delay(20); // set cc17 controlling LFO2 TVF DEPTH } byte cc2LFO2RT1[11]={0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x21, 0x57, 0x4A, 0x7E, 0xF7}; for(byte i = 1; i <= 6; i++) // send over channels 1-6: { cc2LFO2RT1[6] = 0x20+i; cc2LFO2RT1[8] = 0x4B-i; MIDI.sendSysEx(11, cc2LFO2RT1, true); delay(20); // set cc17 controlling LFO2 RATE } byte velDepth[11]={0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x11, 0x1A, 0x44, 0x51, 0xF7}; byte velOffset[11]={0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x11, 0x1B, 0x44, 0x50, 0xF7}; MIDI.sendSysEx(11, velDepth, true); delay(20); // set channel 1 velocity Depth MIDI.sendSysEx(11, velOffset, true); delay(20); // set channel 1 velocity Offset for(byte i = 1; i <= 6; i++) // send value over channels 1-6: { MIDI.beginRpn(0, i); // pitch bend range rpn 00 00 MIDI.sendRpnValue(4, 0, i); // 4 semitones MIDI.endRpn(i); } delay(20); for(byte i = 1; i <= 6; i++) { MIDI.sendControlChange(16, 64, i); // TVF Cutoff to 64 cc16 MIDI.sendControlChange(65, 127, i); // Set Portamento On cc65 } delay(20); oled.begin(&Adafruit128x64, I2C_ADDRESS); oled.setFont(Stang5x7); oled.clear(); oled.set2X(); oled.println(F("A:....E:...")); // all eleven parameters on display oled.println(F("B:....F:...")); oled.println(F("C:....G:...")); oled.println(F("D:....H:...")); delay(250); // Count Mode : Default (quarter, 1 Detent / Signal Period ) // (A, B, switch) connected to Arduino pins: encoderA.begin(3, 2, 10); encoderB.begin(5, 4, 11); encoderC.begin(7, 6, A0); encoderD.begin(9, 8, A1); } uint16_t runningAverage(uint16_t value) { static uint16_t previousValues[20]; //averageLength=20 static uint8_t index = 0; static uint16_t sum = 0; static uint8_t filled = 0; sum -= previousValues[index]; previousValues[index] = value; sum += value; index++; index = index % 20; //averageLength=20 if (filled < 20) //averageLength=20 filled++; return sum / filled; }
@unrelatedactivities
@unrelatedactivities 28 күн бұрын
// Part 1 - Intro & description: /* * A MIDI controller for Roland SC-55 Sound Canvas "MIDI Sound Generator" module (1991). * This controller was conceived to expand the somewhat limited number of MIDI * control change possibilities of the Ibanez IMG2010 / MC1 MIDI guitar sytem (from 1986), * and also provide better access to some of the SC-55 features for live performance. * The Ibanez MIDI guitar has two assignable MIDI control change sources: one potentiometer * and one whammy bar, they can be individually assigned to cc1 through c31 and pitch bend, * amd the Ibanez MC1 MIDI converter rack unity provides an input jack for a hold pedal. * These three control sources work well, but there is no input for a pedal for continuous * control. That is ok if you use a synthesizer with inputs for expression pedals and a * panel full of knobs, faders, buttons, joysticks and wheels, but it is not the case for * small rack synthesizers with menu driven interfaces and no control input other than a * MIDI IN five pin din... In this situation the only way to expand the Ibanez MIDI * guitar control change options is to use an extra MIDI controller, and a MIDI merger to * mix the Ibanez and the extra controller MIDI data streams. * The Roland SC-55 is a small 1U half-rack 16 part multitimbral GM/GS MIDI sound module, * mainly intendend for use with sequencer control. Although not exactly a synthesizer in * the conventional sense, it provides access to some basic parameters like attack, decay * and release envelope (always modulating amplitude and filter cutoff frequency), LFO * rate, depth and delay (modulating amplitude, cutoff, frequency, in any combination), * filter cutoff and resonance can be individually direct controlled, all using assignable * control change and or NRPN messages. Many other control messages are recognized, like * hold, sostenuto, soft, portamento, portamento time, mono and poly modes, volume, pan, * expression, reverb, chorus, pitch bend, modulation, aftertouch... The system exclusive * messages implementation is extensive, providing access to a ton of parameters. A nice * SC-55 feature is the presence of two MIDI input jacks with their data merged internally, * so I can send the MC1 MIDI stream to one input and just connect this MIDI controller to * the second MIDI input. * * Now to the project in question. * The hardware: * - 01 Arduino Nano board * - 04 rotary encoders with switch, connected directly to Arduino using 12 pins. * - 01 1/4" stereo jack (pedal input), tip connected to +5V pin, ring connected to * an Arduino analog pin, sleeve to ground pin. * - 01 12K resistor connected to the same analog pin as the pedal input and +5V. * - 01 128x64 I2C OLED display, connected to SCL (A5) and SDA (A4) Arduino pins. * - 01 DIN5 female and / or 3,5mm stereo jack, for MIDI OUT. * - 02 220R resistors, one connected from +5V to DIN pin 4, the other from Arduino TX * pin to DIN pin 5. DIN pin 2 and shield are connected to ground. * * Power supply can come from USB, or a 7V to 12V battery or PSU connected to pin Vin. * * The software (things implemented by now): * Each rotary encoder controls two parameters, arranged in two banks selected by the * first encoder switch, the remaining three switches control one parameter each: * - Encoder 1 (A-E) controls modulation (cc1) in the first bank, and envelope attack * (nrpn227) in the second bank. Its switch selects the bank. * - Encoder 2 (B-F) controls filter resonance (nrpn161) in the first bank and envelope * decay (nrpn228) in the second bank. Its switch selects one of three patches: Saw * wave (pc81), Sine wave (cc0=8,pc80) and Square wave (pc80). * - Encoder 3 (C-G) controls chorus send level (cc93) in the first bank and envelope * release (nrpn230) in the second bank. Its switch controls sostenuto on-off (cc66). * - Encoder 4 (D-H) controls LFO2 rate and filter cutof modulation amount by LFO2 (cc17) * in the first bank, and transposition (rpn2) in the second bank. Its switch selects * monophonic or polyphonic mode (cc126, cc127). * - The pedal controls filter cutoff frequency (cc16). * - Except for the pedal, all parameter values are shown on the OLED display, next to * a letter label (ABCD for encoder bank 1, EFGH for encoder bank 2), switches states * are displayed on the OLED central column: switch 1 <> (bank selection), switch 2 /~- * (triangle, sine, square), switch 3 and 4 * (sostenuto on, mono on). * * There are still five unused analog pins, the code uses 10288 bytes (33%) of program * storage space, global variables use 912 bytes (44%)of dynamic memory. So there is * some room for extra features, like adding some buttons and LEDs and asigning * different messages to the pedal, for example. * * Three libraries do all the hard work: Forty Seven Effects MIDI, Luni64 Encoder Tool, * and Bill Greiman SSD1306Ascii. I just connected the dots. Worth of note is the fact * that all control messages are sent through MIDI channels 1 through 6, one for each * part/guitar string. */
@BigBBradley1
@BigBBradley1 Ай бұрын
do you have the code thanks
@unrelatedactivities
@unrelatedactivities 28 күн бұрын
Hi, probably yes, I will search for it.
@unrelatedactivities
@unrelatedactivities 28 күн бұрын
It is here in three comments.
@marcuscharlesworth156
@marcuscharlesworth156 Ай бұрын
Please share schematic
@unrelatedactivities
@unrelatedactivities Ай бұрын
It is in a post in the Community section: kzfaq.infoUgkx8xfbsq_p3ZgyNDudsINQsc-cFp09QOXF
@marciamariadacostapereira
@marciamariadacostapereira Ай бұрын
Schumann Resonance
@jpclan33
@jpclan33 Ай бұрын
Ok. Não entendi do que se trata
@MrLotnik171
@MrLotnik171 Ай бұрын
Przeklęty Watykan ze swoim mafijnym kościołem.
@garaughty
@garaughty Ай бұрын
Lovely work on this as always U A !
@unrelatedactivities
@unrelatedactivities Ай бұрын
Thank you! Cheers!
@unrelatedactivities
@unrelatedactivities Ай бұрын
I use a very old PaintShop, v. 4.14 on Windows XP to edit the boards after creating them with Eagle, but any drawing software can be used.
@eross21
@eross21 Ай бұрын
oh very cool. thanks
@eross21
@eross21 Ай бұрын
what software did you use to make this board? i am looking to make this ground plane style traces
@fer_fdi
@fer_fdi Ай бұрын
preciosa!
@unrelatedactivities
@unrelatedactivities Ай бұрын
Gracias!
@zloboslav_
@zloboslav_ Ай бұрын
alien music :) sounds fun :)
@Gluttonite
@Gluttonite Ай бұрын
Sounds good
@urbannpa
@urbannpa Ай бұрын
Tooth brush a baking Soda will remove the gunk.
@_vespertine
@_vespertine Ай бұрын
Esse saiu bom, estou interessado em fazer um envelop generator e adsr, está usando mozzi? Esse circuito tem um oscilador ou trabalha com áudio externo? Muito bom, parabéns!!
@unrelatedactivities
@unrelatedactivities Ай бұрын
Obrigado! Este EG é baseado no ADSRduino (do M0XPD, disponível no Github), não usa o Mozzi. É somente envelope, não gera áudio.
@unrelatedactivities
@unrelatedactivities Ай бұрын
Faltou o link do projeto original ADSRduino: github.com/m0xpd/ADSRduino
@unrelatedactivities
@unrelatedactivities Ай бұрын
The sustainer is the same as the one from last video, then a simple overdrive and a Dunlop GB95 crybaby wha-wha. Recorded directly to a Presonus soundcard, with some reverb and delay. Thanks for watching.
@mariannwatt2678
@mariannwatt2678 Ай бұрын
Is this like the EBow idea of years ago ?
@unrelatedactivities
@unrelatedactivities Ай бұрын
Yes, it is a guitar sustain with magnetic feedback circuit, something like the Ebow or Sustainiac devices. I am thinking of building this as a synth module or an electric guitar pedal, or both. AGC Automatic Gain Control Amplifier from LM13600 Datasheet: kzfaq.info/get/bejne/m8eqddNh376wZYU.html ESP Headphone Amplifier P113 link: sound-au.com/project113.htm LM13600 datasheet: www.ti.com/lit/gpn/lm13700 Thanks for watching.
@unrelatedactivities
@unrelatedactivities Ай бұрын
AGC Automatic Gain Control Amplifier from LM13600 Datasheet: kzfaq.info/get/bejne/m8eqddNh376wZYU.html
@unrelatedactivities
@unrelatedactivities Ай бұрын
Guitar sustain with magnetic feedback circuit, something like the Ebow or Sustainiac devices. I am thinking of building this as a synth module or an electric guitar pedal, or both. AGC Automatic Gain Control Amplifier from LM13600 Datasheet: kzfaq.info/get/bejne/m8eqddNh376wZYU.html ESP Headphone Amplifier P113 link: sound-au.com/project113.htm LM13600 datasheet: www.ti.com/lit/gpn/lm13700 Thanks for watching.
@leiferickson3183
@leiferickson3183 Ай бұрын
Awesome! I've been wanting to built one of these into a guitar for years and have wondered why I never saw anyone using an AGC in their circuit, I am surprised that the coil was getting hot. Do you know how much power this was consuming? I wonder how fast it will go through batteries...
@unrelatedactivities
@unrelatedactivities Ай бұрын
Thank you! I did not measure the current consumption, but the amplifier is rated around 1.5W into an eight ohm load with +-15V and probably is not a good option for battery power. The Sustainiac circuits use a class D amplifier, which seems to be much more efficient for battery usage (I think it runs on a 9V single supply). Here is one patent for their system: patents.google.com/patent/US5932827A/en
@colourbasscolourbassweapon2135
@colourbasscolourbassweapon2135 Ай бұрын
does have a EQ Band?
@colourbasscolourbassweapon2135
@colourbasscolourbassweapon2135 Ай бұрын
nice dude no cap
@waskerbasket9601
@waskerbasket9601 Ай бұрын
Sounds like a ring modulator
@Cisco1322
@Cisco1322 Ай бұрын
Como puedo comprar ese regulator?