Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Any music gear discussions that don't fit into one of the other forums.
JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

So I got the SIP-1A05 reed relays in the mail yesterday -- my first ever (never used a reed relay before).

I am thoroughly impressed, because I was concerned about potential audible noise when the circuit turned on and off due to the magnetic coil. I can't hear any can you? See the video below. (I am referring to any audible noise within the audio signal -- hum etc -- not the clicking sound of relays; with respect to clicking this reed relay is 100% silent.)

In the following video, I hooked up the 5V pin of SIP-1A05 reed relay to Arduino to data pin 4. Hooked the other coil pin to ground. The yellow and blue wires run to the TD-3 and turn on and off a resistor related to the Accent Decay circuit. The program starts by turning off and on the reed relay every 5 seconds. Then in the video you see me change the program live and send the new program to the Arduino as it plays. So it cycles every 5 seconds, then every 2 seconds, then every 1 second. Followed by every 1/5th of a second, then every 1/3rd of a second. Every half a second and then finally every 2/3rds of a second.

So it is switching on and off pretty fast and makes some neat rhythmic patterns depending on delay. Anyways I am pleased because I can't hear any clicking at all and no noise.

I picked up 20 of these off ebay for $10 from China. Took about a month to get them.

JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

Here's a video of the Arduino turning off/on the reed relay every 5 seconds. The reed relay is enabling/disabling the RUBBER mod. When the green LED on the Arduino is ON, the switch is ON. When the green light is off the mod is off and you can here a staccato sound between notes. When the mod is enabled it smooths it out with the electrolytic cap there on the breadboard.

I am really excited because I can control so many mods with an Arduino Mega (w/ LCD and switched rotary encoders) without having to add another physical twenty switches all over the TD-3. Also I can modulate the turning off and on of the mod, kind of like a square wave LFO. I can make an interface to modulate a vactrol or a reed relay, allowing using to set modulation rate with rotary encoder/LCD. I need to look up how many cycles these reed relays can handle.

JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

Finally got the Arduino Mini Mega 2560 soldered up (the round pin sockets), and the I2C OLED Display going. Made a typo the C51 is for Soft VCA mod not Rubber :) This would be like an essential mods parameter page. Three parameters per page/screen, with three switched rotary encoders to adjust any of the three.



Image
JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

Maffez wrote: Wed Sep 21, 2022 3:49 pm Yep! Looks great & popcorn mode is on - that unit will be awesome :)
Maffez, I got a lot of the core code complete now on Arduino. I had to learn C++; I already knew java and C so it was easy.
I have a base class called Mod and then I create subclasses from it for each Mod. It uses inheritance, encapsulation polymorphism, interfaces, etc.. so adding a new mod is as simple as editing a few lines of code adding a new subclass of Mod.. maybe 20 lines at most.

The controls are solid as well as the engine for Modulating any switch / vactrol.. the modulation engine stays synced with the internal timer on arduino.

The following is a video of the arduino mega modulating a relay which connects and disconnects the Accent Decay pot from the TD-3. The SM after A. DECAY means "Switch Modulation". So when it's OFF, it's not modulating, the pot is just connected. When ON, it's modulating ON/OF at various rates. You set the modulation rate by turning the dial. At 0 it turns off for a second then on for a second. Every increment of dial, up to 50, decreases the modulation delay by around 18 milliseconds. At level 50, the delay is 133ms. When you push the rotary encoder button in it turns on/off modulation. You can press it rhythmically as well to modulate the modulation. Here is a video. It's blurry at times, the OLED, but it's clear a few times so you can see the screen if you watch the entire video.

All the mods I add to the arduino using relays, vactrols etc .. every one of them will be able to be modulated .. both switches (on/off mondulations) as well as modulating the variable resistors (e.g. vactrols) much like an lfo would. Will be able to have like 10 modulations running I imagine, at the same.. endless ways to make sound 🙂

User avatar
Maffez
Wiggling with Experience
Posts: 318
Joined: Sun Jan 14, 2018 9:06 am
Location: Austria

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by Maffez »

JenniferG wrote: Sun Oct 16, 2022 4:12 am
Maffez wrote: Wed Sep 21, 2022 3:49 pm Yep! Looks great & popcorn mode is on - that unit will be awesome :)
Maffez, I got a lot of the core code complete now on Arduino. I had to learn C++; I already knew java and C so it was easy.
I have a base class called Mod and then I create subclasses from it for each Mod. It uses inheritance, encapsulation polymorphism, interfaces, etc.. so adding a new mod is as simple as editing a few lines of code adding a new subclass of Mod.. maybe 20 lines at most.

The controls are solid as well as the engine for Modulating any switch / vactrol.. the modulation engine stays synced with the internal timer on arduino.

The following is a video of the arduino mega modulating a relay which connects and disconnects the Accent Decay pot from the TD-3. The SM after A. DECAY means "Switch Modulation". So when it's OFF, it's not modulating, the pot is just connected. When ON, it's modulating ON/OF at various rates. You set the modulation rate by turning the dial. At 0 it turns off for a second then on for a second. Every increment of dial, up to 50, decreases the modulation delay by around 18 milliseconds. At level 50, the delay is 133ms. When you push the rotary encoder button in it turns on/off modulation. You can press it rhythmically as well to modulate the modulation. Here is a video. It's blurry at times, the OLED, but it's clear a few times so you can see the screen if you watch the entire video.

All the mods I add to the arduino using relays, vactrols etc .. every one of them will be able to be modulated .. both switches (on/off mondulations) as well as modulating the variable resistors (e.g. vactrols) much like an lfo would. Will be able to have like 10 modulations running I imagine, at the same.. endless ways to make sound 🙂

Massive jaw droppage! My respect for the progress and that switch modulation business sounds very cool!
User avatar
KSS
Super Deluxe Wiggler
Posts: 10857
Joined: Mon Jan 25, 2016 7:28 am

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by KSS »

:yay: :tu: Go, JenniferG, go!
JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

Maffez wrote: Sun Oct 16, 2022 10:24 am Massive jaw droppage! My respect for the progress and that switch modulation business sounds very cool!
KSS wrote: Mon Oct 17, 2022 12:03 am :yay: :tu: Go, JenniferG, go!
I wrote the VM mode code today. VM = "Variable Resistor Modulation" or "Vactrol Modulation". Here it is in action with a vactrol I made with 5539 photoresistor as well as a GRN 5mm LED -- using a 680 ohm resistor between PWM pin and the LED.

Filter FM (on bottom row controlled by knob 3) is set to VM mode. You turn knob 3 to adjust the modulation rate, and press in to turn modulation on/off.

The Accent Decay SM (Switch Modulation) is the same as in last video using Reed Relay.

Here they are working together. Every mod I control with Arduino will have ability to be set to three different modes: 1) Normal 2) SM 3) VM.

JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

Added reed relay swich modulation for Rubber Duck. It connects and disconnects capacitor up to every 133ms. I have no idea if this is hard on the contacts on the reed relay or not (spark from cap?). I don't hear any noise turning cap on and off.. no popping.

The effect of the Filter FM is very subtle in this recording. Especially when Accent Decay is turned down low like it is. But you can still hear it.

User avatar
Spanningtree
Loop free patching via 802.1d
Posts: 1474
Joined: Fri May 21, 2010 6:03 pm
Location: LV,NV

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by Spanningtree »

Super cool JenniferG! I don't think your in devil fish country anymore, maybe call this the TD-3JG? :hail: :yay:
JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

Spanningtree wrote: Thu Oct 20, 2022 11:23 pm Super cool JenniferG! I don't think your in devil fish country anymore, maybe call this the TD-3JG? :hail: :yay:
LOL! I suppose I should create a new thread for the mods to my TD-3 so I don't fill this thread with non-devil fish stuff. When I do I'll make a link to it here. And a cross link back to this thread from it.
JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

There are four modes now: S, SM, V, VM
(Mode can be changed by holding the SHIFT button while pressing down on the respective rotary encoder button.)
S = Switch
SM = Switch Modulation
V = Variable Resistor (Vactrol)
VM = Variable Resistor (Vactrol) Modulation

Adding a new mod is as simple as adding the following snippet of like a dozen lines of code, and the program does the rest.

Code: Select all

//******************************************************************************
// Mod: Rubber Duck -- subclass of Mod
//****************************************************************************** 
class ModRubberDuck : public Mod {
public:
  ModRubberDuck();
private:
};
ModRubberDuck::ModRubberDuck() {
  Mod();
  this->hasSwitch = true;
  this->hasVR = false;
  this->switchType = SW_TYPE_RELAY;
  this->setMode(MOD_MODE_SWITCH);
  this->setName("R. DUCK 1");               // switch modulation
  this->pinSwitch = PIN_RUBBER_DUCK_RELAY;  // arduino pin for reed relay
  this->setupPins();
}
For a switch mod, i.e. no variable resistor (e.g. vactrol), it's starts in mode S (Switch). Hold shift key and press down on rotary encoder button to change to SM and the same again to switch back to S. (S->SM->S)

For a variable resistor (e.g. vactrol) mod, it's starts in mode V. You can turn it on/off and adjust the amount of resistance in mode V. When you changes modes for this, it goes to VM next and when it's turned on it modulates the resistance of the mod at the rate you dial it to. When you change mods again it goes to SM, which acts like a switch by turning on and off the vactrol between a PWM value of 0 and the PWM resistance that's set in V mode. When you changed modes again it goes back to V. (V->VM->SM->V)

Here's a video show it in action with three mods.


Here's the snippet of code I am currently using for FILTER FM (which is a vactrol instead of switch). One can override the maps for PWM Values for both modes V and VM. One would probably want to override these two PWM map functions to tweak them according to the LDR, LED and resistor used to best match the performance desired.

Code: Select all

//******************************************************************************
// Mod: Filter FM -- subclass of Mod
//****************************************************************************** 
class ModFilterFM : public Mod {
public:
  ModFilterFM();
  int getPWMValue(byte index);               // overrides parent (Mod) default method
  int getPWMValueForModulation(byte index);  // overrides parent (Mod) default method
};
ModFilterFM::ModFilterFM() {
  Mod();
  this->hasSwitch = true;
  this->hasVR = true;
  this->switchType = SW_TYPE_VR;
  this->setMode(MOD_MODE_VR);
  this->setName("FILTER FM");           // switch modulation
  this->pinVR = PIN_FILTER_FM_VACTROL;  // arduino pin for vactrol
  this->setupPins();
}

// Vactrol is made with 5539 LDR and 5MM Green LED.  There is a 370 ohm resistor between the output pin
// the positive side of the LED in the vactrol.  The following is are the two mapping methods for this vactrol
// for Filter FM.  Tweak the mappings as desired.  Also play around with the resistor before the LED -- 220 ohm
// or 470 ohm (instead of 370 ohm) will have different min and max resistances for PWM value of 1 & 255
// respectively -- check with multimeter and analogWrite().

int ModFilterFM::getPWMValue(byte index) {
  if (index > KNOB_DETENTS_RANGE) {
    return 0;
  }
  if (index < 25) {
    return map(index, 0, 25, 2, 40);
  } else {
    return map(index, 26, KNOB_DETENTS_RANGE, 41, 90);
  }
  //return map(index, 0, KNOB_DETENTS_RANGE, 0, 255);
}

int ModFilterFM::getPWMValueForModulation(byte index) {
  if (index > MODULATION_PWM_INDEX_MAX) {
    return 0;
  }
  if (index < 50) {
    return map(index, 0, 49, 2, 25);
  } else {
    return map(index, 50, MODULATION_PWM_INDEX_MAX, 26, 80);
  }
}
When I am done, or close to done with this version of the code, I'll make it freely available to anyone on github or whatever site.

I'm probably going to make it so that when you press in the shift key and turn a rotary encoder (instead of pressing it in to change mode) it will change to the next (or previous) mod. You can have the arduino mega control up to say 40-50 mods or so -- since it has so many I/O pins. Once you get a set of mods you like on the screen, which you'll use often together, you can save those set of three mods to a "Scene" with another button on the TD-3. There will be like three push button rotary encoders, a shift button , and three other buttons related to changing scenes, saving (or erasing) scenes etc. (The Scenes are saved as a set of 3 integer values on the EPROM.)
JenniferG
Ultra Wiggler
Posts: 986
Joined: Fri Apr 01, 2016 5:26 pm

Re: Anyone doing "Pro" TD-3 Mods ala Devil Fish?

Post by JenniferG »

I created a new thread for my posts regarding my TD-3 mods, so I don't continue to clutter up this Devil Fish thread. Here's the link:
viewtopic.php?t=267971
Post Reply

Return to “General Gear”