Showing posts with label DIY. Show all posts
Showing posts with label DIY. Show all posts

Friday, 26 January 2018

227r - System Interface

Some initial tests of a Buchla format 227r.
This is a early rev1 that uses vactrols. It's been many years since I first purchased the PCBs but finally it's working with the help of Dave Brown and his wonderful site ModularSynthesis.
http://modularsynthesis.com/roman/buchla227/227si.htm


A post shared by jono (@dj_jondent) on
Information on this module is rather scarce.

These days music is generally played in a stereo format but the 227r is all about Quad Sound.
It's quite a wonderful module. The 4 inputs can be assigned to 4 speakers (2 front, 2 rear at the four corners of your room). This is all voltage controllable.


All the sounds are patched out via the card.
I'm considering making a breakout cable so this card doesn't have to be left plugged into the patchbay.
I'm concerned the weight of too many cables could cause damage.

Another option is a make a preconfigured patch card:
This patches my chosen outputs through the Tape1/2 & Aux1/2 at the front of the module.


Wednesday, 24 January 2018

USB connections

 THere are lots of different types of USB connectors and jacks.
In the synth world they are used for a wide variety of applications ... from simple power to data transfer

The jacks can be confusing
 
These were the first types
 


B is commonly called a printer USB cable.
A is still the most widely used type of jack. 
 
USB-B micro is commonly found on lots of synths made in the past 5 years 
though it seems to be fading out of popularity in favor of type C
 
 
 
 
 
 
 
 
 
 
 
 
 

 This Expert Sleepers FH-1 is a midi host
It uses a Type-A USB connector for MIDI
















This is a 2HP midi module

It uses a USB-B micro socket
The Roland JUo6A boutique synth also uses a USB port: MicroB type for Audio, MIDI.
Older android mobile phones like my Samsung galaxy note 5 used this connector.

 
 THis has the advantage that you can plug your cable any orientation.
Most android mobile phones like my Samsung Galaxy 9 use this type of connector.








Many of these connectors supply power to your module.
It's handy to know what is what

The first two connectors (A + B) had just
four connections.
 
1 = +5V
2 = Data -
3 = Data +
4 = GND

The Mini & Micro cables added a 5th connector called
"ID". This helped distinguish cable ends.

 
 
 
 
So for the Mini/Micro USB A & B
 
1 = +5V
2 = Data -
3 = Data +
4 = ID
5 = GND 


This is the Teenage Enginering OP-z
It uses the Type-C connector

The OP-1 used type B-micro




Wednesday, 17 January 2018

Modular Eurorack Compressor

 There are plenty of off the shelf compressors you can buy.
However by building one yourself, you'll learn the principles of how they work.

You can actually build a compressor with a envelope follower, a an inverter and a VCA. 
A modular compressor is essentially a voltage controlled envelope follower tied to a VCA.
 
The 4 basic components:
1. Mult
2. VCA (linear preferably but a exp VCA will work too)
3. Inverter / attenuverter
4. envelope follower
 
 
 First split the signal into two.
a. the original signal (A) to be compressed.
b. the side chain detector signal (B)
 
Signal A --> envelope follower ----> inverter ------> CV input of VCA
Signal B --------> audio input of VCA
 
The fun thing about building your own compressor is varying the components.
The VCA for example could be vactrol based LPGs 

You could use a Make Noise Maths. It could perform the envelope follower & voltage inverter tasks.
A serge DUSG could do this as well, as could the Doepfer VCS( A-171-2). 
 
This is a patch for compressing a bass drum
In this example channel 4 is acting like a slew limiter.
It's output is plugged into the input of channel 3. It's in inverter mode.... creating an inverted
version of channel 4. 
Chanel 2 of the maths is simply amplifying the straight audio of the bass drum.
It's then going into the second audio input of the VCA.
I'm using the HP filter to remove some of the lower frequencies. I could also use an EQ.
 
 I've swapped the LP filter for a delay in the above example.
The delay has lots of CV inputs which could be modulated with LFOs, the Maths, sequencers, or EGs. 
The Doepfer A-119 envelope follower has a voltage comparator with a gate output that can be used to trigger envelopes.
 
Of course the signal processed in the VCA doesn't have to be the same signal that is being analysed by the envelope follower. The open architecture of a modular synthesizer allows you to design any kind of side-chain compression scenario your heart desires.  


Another interesting module is the Bastl Dynamo.
Its just 5HP and contains two Envelope Followers with inverted and non-inverted 
Envelope Follower Output. There is also a Compressor CV Output with indication LED 
(only negative voltage when envelope is greater than the threshold.
When the Compressor CV is plugged into CV input of a VCA with offset and attenuator knobs you get an Compressor!
 
 
Extra modules that would come in handy
5. mixer
6. Slew Limiter
7. EQ
8. filters
9. comparator
 





 Links
 


Friday, 12 January 2018

Timers and interrupts - basic using timerOne library

Timers

Many arduino functions use timers.
Mostly, they are hidden. 
The Uno, running the ATmega328 has 3 timers: Timer 0,1,2.
 
The Arduino Uno also has a central system clock that runs at 16MHz.
It's a square wave produced by this crystal on the left.
This clock can be directly or indirectly connected to the timers.
16Mhz is the max speed that the timers can increment their counters.
However we can control the speed of the timers using what is called a prescaler. 
The prescaler divides the clock

Each of these timers, count up till they reach a max counter value.
They then tick back to zero. This is called overflow.
 
Timer0: 
TCNT0 (Timer Counter 0)
Timer0 is a 8bit timer. 
Thus it can store a maximum counter value of 255.
It's used in functions like Delay(), Millis(), Micros() .
analogWrite() pins 5,6
Timer0 is already set up to generate a millisecond interrupt 
to update the millisecond counter reported by millis().
 
 Timer1:  
TCNT1 (Timer Counter 1)
Timer1 is a 16bit timer.
Thus it can store a maximum counter value of 65535. 
It's used by the servo library 
analogWrite() pins 9,10
 
Timer2:  
TCNT0 (Timer Counter 0)
Timer2 is a 8bit timer
This counts from zero to 255.
It's used by the tone() function.
analogWrite() pins 3,11
 

 Interrupts

An interrupt is a mechanism for performing an immediate action , irrespective of whatever else
the program is doing.
You can think of it as something extra that runs in the background while your Arduino is 
executing the main body of code. It will do this extra thing at certain pre-determined times.

There are 2 types of interrupts.
1. Hardware
2. Software

Hardware interrupts happen, based on something happening on a pin.
(Eg a certain pin goes high or low)
Software interrupts happen at certain times.
This can be pretty useful as the interrupt allows you to pause the events taking place in the loop() at precisely timed intervals.This allows the program to execute a separate set of commands. 
Once these commands are done the Arduino picks up again where it was in the loop().
It's important to not make your interrupts complicated, otherwise it may pause
the rest of your program for too long.
 
Interrupts are meant to be short and sweet.
 
Interrupts can generally be enabled / disabled with the function interrupts() / noInterrupts()
By default in the Arduino firmware interrupts are enabled. 
 
 
THis circuit uses just two 220 ohm resistors, two LEDs.
The anode of the LEDs connect to pins 9 & 10 (via the resistors). 
Cathode to gnd.
 
For this first bit of code , we are using the TimerOne library. 
This is a 3rd party library. It's the easy way to write your own timer interrupt service routines.
Timer1 gives finer PWM control and/or running an periodic interrupt function
Author: Jesse Tane, Jérôme Despatis, Michael Polli, Dan Clemens, Paul Stoffregen.
 
The code:

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
/*
 This program mixes the delay function with timer interrupts
 Uses two digital pins & two LEDs
 */

#include <TimerOne.h>
String LEDStatus="OFF";

// using pins 10 & 9
// the red led is using delay
// Green LED uses interrupt
int GreenLED=10;

int RedLED=9;
int redDelay=1000;//millisecs
 
void setup()
{
 
  pinMode(GreenLED, OUTPUT);    
  pinMode(RedLED,OUTPUT);

 // Timer setup code is done inside the setup(){} function in an Arduino sketch.
// initialize the interrupt, specifying what time frame you want it to “interrupt” on,  
// and then what you want it to do when the interrupt alarm goes off.

  Timer1.initialize(200000); //0.2 secs ... millimicrosecs
  Timer1.attachInterrupt( FlashGreenLED );
 Serial.begin(9600);
}
 
void loop()
{
digitalWrite(RedLED, HIGH);
delay(redDelay);
digitalWrite(RedLED, LOW);
delay(redDelay);
}
 
void FlashGreenLED() // void = function
{
if (LEDStatus=="ON"){
  digitalWrite(GreenLED,LOW);
  LEDStatus="OFF";
  return;
  }
if (LEDStatus=="OFF"){
  digitalWrite(GreenLED,HIGH);
  LEDStatus="ON";
  return;
}
}
 
// &&&&&&&&&&&&&&&&&&&&&&&&&

-----------------------------------------------------------------------------

Links
+ https://www.instructables.com/Arduino-Timer-Interrupts/
+ https://toptechboy.com/arduino-lesson-28-tutorial-for-programming-software-interrupts/

This is a good link for the TimerOne library

Wednesday, 3 January 2018

Hyve Synth

This arrived in the mail today: A Hyve synth.
I've been eagerly waiting for this since Feb 2017.
It's facinating. I think the Hyve gets its name from the upper honeycomb keyboard (and it also sounds like a swarm of buzzy oscillators.... there are 60 voices !!!).

There aren't a lot of these Hexagonal Lattice type keyboards around. (Tonnetz).
It's very Buchla Easel in its responsiveness to touch.

The Hyve is a result of a kickstarter program.
 https://www.kickstarter.com/projects/skotwiedmann/hyve-touch-synth-make-the-future-of-musical-expres
Thanks Skot for this incredible instrument. It's a beautiful fusion of engineering with art.
So how does such a small synth have this huge sound? (I'll post some videos later).
The synth looks deceptively simple. The two main ICs are a SN74HC393DR & CD40106BM96
There are six 74HC393s. It's a dual 4-bit binary counter. Each chip contains 8 flip-flops.

There are two CD40106s. These are CMOS Hex Schmitt-Trigger Inverters.
Each chip consists of six Schmitt-Trigger inputs and is capable of making 6 square/pulse wave oscillators.

The upper section has a TDA1308T/N2,115 .. it's a audio amplifier & a UA78L05CPK .... a 5V voltage regulator.
If I'm understanding this circuit correctly, each CD40106 produces 6 square waves.
As there are two CD40106 we have 12 original square waves to play with.
Each square wave is fed into a Flip-flop. The flip flop outputs 4 squares waves (each a octave below the previous).

So in actual fact each of the original square waves has added to it 4 new waves at different octaves from the original. (1 + 4 = 5)

There are two CD 40106 ICs so there are 12 original square waves.
12 X 5 = 60
This I think, is how we achieve 60 voices.

(let me know if there are any mistakes)
------------------------------
This Octave-down effect has been used in the past in guitar pedals. The MXR Blue Box used this method to create a two octave drop by using flip-flop circuits to divide the frequency by two. 
This created a buzzy synthesizer like tone.

The Roland SH101 used a CMOS 4013 dual flipflop to give three sub-oscillator waveforms; square at -1 octave, square at -2 octaves, and a pulse at -2 octaves.
Roland just fed the main oscillator output to the CMOS 4013 bistable flip-flop circuit to give the sub oscillator waveforms. Simple but ingenious.

Links:
HyveSynth.com
+ Hyve touch Synth Facebook
+ Kickstarter
+ Factmag
+ Muffs
+ Muffs - Hyve modifications
+ CMOS




Tuesday, 19 December 2017

Master Clock & utilities Eurorack case

 Utilities are pretty boring, but necessary.
Over the years Ive struggled to find ways to clock everything that I have.
Is it possible that one device can to it all ???
Probably not, but you can build a case with the modules to do it all.
I think I finally have it.
 
 
The trigger, drum modules and compressor arent necessary, but they are useful to have and certainly do 
make the case even more handy.
 
The main clock source is the cyclic slew 1U. 


The Synthrotec CVGT1 does all the Buchla / Euro conversions. 
Both control voltages, triggers and gates.
 
We need a clock divider/multiplier (2hp), a CV sequencer (Pico).
The mutant brain allows me to trigger drums with MIDI 

The Disting is a mark 1. Its enough.
 
 
 
 
 
 
 
 
 
 
 
 
I can clock my ARP 2500 easily with a gate from the Synthrotec.
 
The CVGT1 has a silver ground jack. (banana).
 
I needed to make a conversion cable -- on one end is the 6.5 mm jack which plugs into the clock input of the ARP sequencer.
 
The other end of the cable has two ends...  a banana ground jack & a banana tip jack.
 
These plug into your CVGT1 ground & gate outputs

Works flawlessly
 
 

You can also clock old Moog, Korg & Yamaha gear which needs V-Trig to S-trig conversion.
You need to make a cable for this,

 
 
 















Some more pics


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Links

Sunday, 3 December 2017

Vactrols - Optocoupliers

 Vactrols and Optocoupliers 
 
Vactrols are sometimes called Opto-isolators, photocouplers and optical isolators.
They all use a similar idea, though this post is mainly about vactrols.

One side has a a light source of some sort
This could be a LED (or an incandescent bulb).
The other side uses something which is photo sensitive.
This could be a LDR (Light dependent resistor) or a  photosensitive transistor.
Applying a voltage to the LED causes it to light up. The light falls on the LDR.
The intensity of the LED directly controls the photo-transistor / LDR.

Thus this resistor becomes voltage controllable.
 
 
This is a Doepfer LPG... based on a Buchla 292 module.
It uses vactrols.

Through the use of a vactrol, anything which is normally controlled by a potentiometer or variable resistor can become a voltage-controlled parameter. Applying a voltage to the vactrol's LED is just like turning the knob on the potentiometer.
 
In addition, since the LED and LDR can be controlled by different circuits we are thus electrically isolating the two different circuits.
Thus, vactrols are sometimes called opto-isolators.

The hollowed space between the LED and photo-transistor/resistor can be made using glass, air, or a transparent plastic.
 
The resistance of the LDR doesn't change instantly.
It takes time ... the change is not linear either.
"It may take a few seconds until the LDR reaches it's dark resistance (i.e. the maximum resistance without illumination)" Doepfer.
 
A brief History
In 1967 Vactec introduced a compact RO (resistive optocouplier) branded as Vactrol. Unlike the tube-coupled ROs of Fender and Gibson, Vactrols were sealed and sturdy devices. They originally used incandescent bulbs. In the early 1970s, Vactec replaced the incandescent bulbs with LEDs. This increased the switching speed and probably also their reliability.

In 1983, Vactec was purchased by Perkins-Elmer. Their vactrol division was spun out from the company and changed their name to Excelitas in 2010.

In the European Union, the production and distribution of Cd-based photoresistors was banned after January 1, 2010. This decision marked the beginning of the end of Excelitas vactrols. However, CoolAudio started manufacturing the VTL5C3 and Xvive is manufacturing the complete range.
 
Commercial vactrols usually contain LEDs that usually produce infrared light.
The detector is a semiconductor-based photoresistor made of cadmium selenide (CdSe) or cadmium sulfide (CdS). 
Resistive opto-isolators are the slowest type of opto-isolator .
Switching times usually exceed 1 ms, and for the lamp-based models can reach hundreds of milliseconds.
Cadmium-based photoresistors exhibit a "memory effect": their resistance depends on the illumination history; it also drifts during the illumination and stabilizes within hours.
 

 -----
Since it's getting more difficult to find vactrols, making your own may one day be the only option.
 
These are the light dependent resistors which I  like to use.
GL5549
The type of LDR is impt.
It should have a dark resistance of at least 0.5M ohm.
I like a slow attack (or response time). 
VTL5C3s have a slope of 20, a dark resistance of 10M Ohms and a very slow response time.

  LDR type nr 5516.are good too.
 The 5516  specs say  it gives about 5 to 10 kOhms at full brightness 
 
 
Suggested LEDs are red/green/orange/yellow.
 

The colour of the LED will have a bearing on how the vactrol works.
So experimentation is in order.
 
This is an example of a DIY vactrol.
Its part of a Eurorack module:
The NonlinearCircuits Dual LPG 
 
 
I read somewhere, that yellow LEDs make the most efficient circuit.
The best match is I think between green and green/yellow.  A blue LED is probably the worst possible choice.
Also remember that LED colours are normally not standard or very precise from one manufacturer to another.
 
 Here is another example of a DIY vactrol.
I used black shrink wrap. 
 
 
To get the best possible performance, the LED and LDR should have equal wavelengths.
This will require checking datasheets to find a good match.  
 

Model

-

 Size   (mm)

Light resistance(ohm)

Darkness resistance(ohm)

Max voltage (DC): 

Max power consumption

Operating temperature

GL5506

-

5X2

2K~5K

0.2M

150V

100mw

-30C° ~+ 70C°

GL5516

-

5X2

5K~10K

0.5M

150V

100mw

-30C° ~+ 70C°

GL5528

-

5X2

10K~20K

1M

150V

100mw

-30C° ~+ 70C°

GL5537-1

-

5X2

20K~30K

2M

150V

100mw

-30C° ~+ 70C°

GL5537-2

-

5X2

30K~50K

2M

150V

100mw

-30C° ~+ 70C°

GL5539

-

5X2

50K~100K

5M

150V

100mw

-30C° ~+ 70C°

GL5549

-

5X2

100K~200K

10M

150V

100mw

-30C° ~+ 70C°

 
 
 A bit about the Buchla 292 LPG
The 292 Quad Lopass Gate is very famous for its use of vactrols, 
The LPG is kind of a VCA
You will find that the minimum release time associated with a vactrol is a lot longer than that of the typical (non-Vactrol) VCA, 
It is thus impossible to produce snappy drum sounds using a 292
The drum sounds tend to ring for about 30 ms after triggering 
This occurs even if the 281 envelope generator that is controlling the LPG is set for 
its minimum value.

------
There are a few commercial vactrols you may come upon.
 This is a NSL type vactrol

The single vactrol NSL. the white dot marks the cathode.


Below are some Perkins-Elmer/Excelitas VTL 5C3/2
VTL 5c3/2..... I used them a lot in the buchla "clones"..
These are getting really hard to find.
 
 You may come across these Xvive versions.
I understand they are made in China

The manufacturer says they are a modern clone of the old Perkins-Elmer VTL53C
 
These are I understand also Xvive vactrols