425
edits
No edit summary |
No edit summary |
||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''Analog Circuits and Interfaces'''<br /> | '''Analog Circuits and Interfaces'''<br /> | ||
''Instructor:'' [[Clemens Wegener]]<br/> | ''Instructor:'' [[Clemens Wegener]]<br/> | ||
Line 10: | Line 9: | ||
|- | |- | ||
[[File:Front2.PNG|Prototype|600px]] | |||
[[File:Front1.png |Prototype|600px]] | |||
[[File:CVInterface1.jpeg|Prototype|600px]] | [[File:CVInterface1.jpeg|Prototype|600px]] | ||
[[File:CVInterface3.jpg |Prototype|600px]] | [[File:CVInterface3.jpg |Prototype|600px]] | ||
|- | |- | ||
|} | |} | ||
<br/> | |||
<br/> | |||
The inspiration for making this device was the old "A-174-1 Joy Stick" Module by Doepfer and the famous Eurorack Interface ES-X series by Expert Sleepers. The reason for our interest in a Joystick as Control element for analog devices is simply the functional advantage its having, meaning the possibilty to tweak 2 Values with 1 Movement. The interest in dc coupled Interfaces like the Expert Sleepers series is obvious. The idea of generating and receiving control voltage in a digital environment on the pc with software like "CV Tools" by Ableton seems to be pretty interesting. Not just for the sake of an easier and accurate way to generate Control Voltage, no also in the sense of communication between devices and softwares. For example, to make generative Computergraphics with Software like Unity, TouchDesigner or Blender and use control voltage from your Modular Synth to control aspects of the generative Video Output. Or the other way around to generate Video Output inside such software through different functions and to use this data also for the generation of sound through Analog Synthesizers. Not to mention feedback loops. So, we think a dc coupled interface that bridges the world of analog and digital without the use of the extremely quality dropping MIDI protocol is a thing that holds a very big potential for many artistically interesting uses. | The inspiration for making this device was the old "A-174-1 Joy Stick" Module by Doepfer and the famous Eurorack Interface ES-X series by Expert Sleepers. The reason for our interest in a Joystick as Control element for analog devices is simply the functional advantage its having, meaning the possibilty to tweak 2 Values with 1 Movement. The interest in dc coupled Interfaces like the Expert Sleepers series is obvious. The idea of generating and receiving control voltage in a digital environment on the pc with software like "CV Tools" by Ableton seems to be pretty interesting. Not just for the sake of an easier and accurate way to generate Control Voltage, no also in the sense of communication between devices and softwares. For example, to make generative Computergraphics with Software like Unity, TouchDesigner or Blender and use control voltage from your Modular Synth to control aspects of the generative Video Output. Or the other way around to generate Video Output inside such software through different functions and to use this data also for the generation of sound through Analog Synthesizers. Not to mention feedback loops. So, we think a dc coupled interface that bridges the world of analog and digital without the use of the extremely quality dropping MIDI protocol is a thing that holds a very big potential for many artistically interesting uses. | ||
Anyway, as dc coupled interfaces appear to be not very common and quite expensive on the market of audio interfaces we wanted to create a similiar device ourself thats able to send and receive analog Signals over USB connection. | Anyway, as dc coupled interfaces appear to be not very common and quite expensive on the market of audio interfaces we wanted to create a similiar device ourself thats able to send and receive analog Signals over USB connection. | ||
Line 36: | Line 38: | ||
So now, when we got the cv in- and outputs working it was time to get joystick and potentiometers. We just buyed a cheap Joystick and some 10k Potentiometers. In the first place we were disappointed by the Joystick. The accuracy was extremely low and the spring inside the joystick made it even worse for the usage of accurate voltage generation. So we decided to use 2 channels of the external 16 Bit ADC for the YX-Axis inputs for making the joystick more accurate. And we desoldered the Joystick Circuit, drilled a whole inside and took out the spring. Luckily we orded a 5-Pack of Joysticks instead of just one, because 2 Joysticks got broken in this procedure. The third one was working perfect. | So now, when we got the cv in- and outputs working it was time to get joystick and potentiometers. We just buyed a cheap Joystick and some 10k Potentiometers. In the first place we were disappointed by the Joystick. The accuracy was extremely low and the spring inside the joystick made it even worse for the usage of accurate voltage generation. So we decided to use 2 channels of the external 16 Bit ADC for the YX-Axis inputs for making the joystick more accurate. And we desoldered the Joystick Circuit, drilled a whole inside and took out the spring. Luckily we orded a 5-Pack of Joysticks instead of just one, because 2 Joysticks got broken in this procedure. The third one was working perfect. | ||
<br/> | |||
[[File:Joystickhack.jpeg|600px]] <br/> | |||
<br/> | |||
Then we decided to use the whole potential the arduino is giving us with its 6 internal ADC's and connected 4 Knob Potentiometers and 2 Slider Potentiometers to it. These should control different values of our functions on the arduino. | Then we decided to use the whole potential the arduino is giving us with its 6 internal ADC's and connected 4 Knob Potentiometers and 2 Slider Potentiometers to it. These should control different values of our functions on the arduino. | ||
Though we didn't had much functions written yet, we knew we would make different modes. So we got some LED's (1 blue, 3 red) for indicating different modes and also we took a switch button breakout board for changing modes. Another switch button we had available through the joystick itself, because this one had a push function. | Though we didn't had much functions written yet, we knew we would make different modes. So we got some LED's (1 blue, 3 red) for indicating different modes and also we took a switch button breakout board for changing modes. Another switch button we had available through the joystick itself, because this one had a push function. | ||
Line 43: | Line 48: | ||
To not get users confused its important to say that these are global modi, which both work in the same way, no matter which of the following (local) modes is chosen. | To not get users confused its important to say that these are global modi, which both work in the same way, no matter which of the following (local) modes is chosen. | ||
These are the Local Modes so far: | These are the Local Modes so far: <br/> | ||
1. Sine LFO <br/> | 1. Sine LFO <br/> | ||
2. Sample and Hold internal <br/> | 2. Sample and Hold internal <br/> | ||
3. Simplex Noise <br/> | 3. Simplex Noise <br/> | ||
4. Sample and Hold external <br/> | 4. Sample and Hold external <br/> | ||
<br/> | |||
<br/> | |||
1<br/> | |||
[[File:Mode1.PNG|LFOSINE|600px]] | |||
<br/> | |||
2<br/> | |||
[[File:Mode2.PNG|intSH|600px]] | |||
<br/> | |||
3<br/> | |||
[[File:Mode3.PNG|Simplex|600px]] | |||
<br/> | |||
4<br/> | |||
[[File:Mode4.png|extSH|600px]] | |||
<br/> | |||
The idea of these modes is to mix the voltage generated by the Joystick with different functions. Or, in other words, to make the joystick controlling an offset to different functions. | The idea of these modes is to mix the voltage generated by the Joystick with different functions. Or, in other words, to make the joystick controlling an offset to different functions. Of course, if the Joystick is placed in the left-down corner the offset value is 0 on both axis'. That means if the amount value in any Mode is completely up, the output voltage is completely generated by the function. | ||
Conclusion | |||
Conclusion <br/> | |||
This circuit is really a raw prototype, so there are many things to mention. | This circuit is really a raw prototype, so there are many things to mention. | ||
Line 70: | Line 89: | ||
After that said, we want to name and explain some functionalities we want to add in the future. | After that said, we want to name and explain some functionalities we want to add in the future. | ||
<br/> | |||
Extend existing functions: | <br/> | ||
Extend existing functions:<br/> | |||
*General | *General | ||
-higher Range of available Speed for Audio Range Modulation Purposes <br/> | -higher Range of available Speed for Audio Range Modulation Purposes <br/> | ||
Line 83: | Line 102: | ||
*Sample & Hold | *Sample & Hold | ||
-Interpolation Amount for fading into Smoothed Random | -Interpolation Amount for fading into Smoothed Random | ||
<br/> | |||
<br/> | |||
Add new functions: | Add new functions: | ||
<br/> | <br/> | ||
* "Quantizator" <br/> | * "Quantizator" <br/> | ||
Line 92: | Line 111: | ||
<br/> | <br/> | ||
*Envelopes <br/> | *Envelopes <br/> | ||
Just a classic clockable AD-Envelope generator. | Just a classic clockable AD-Envelope generator. Also loopable, when no Gate Signal is received. As expected, Decay time shall be modulatable by CV input. | ||
<br/> | |||
<br/> | |||
<br/> | |||
Further things: | |||
<br/> | |||
*USB Audio CODEC<br/> | |||
To use this device directly without OSC or Serial data transfers with other Software like "CV Tools", like the Expert Sleeper Devices we mentioned in the beginning, it must be recognized as an audio interface. | |||
<br/> | |||
*Panel Design<br/> | |||
*Eurorack Format and Power Supply<br/> |
edits