Friday, 24 March 2017

Buchla rhythmic patches - 200e & 208

Finally getting a easel system together which combines the 208 with 200e.

I've had this beautiful 10U case (by Jason Butcher) for a few years now.


Was in a quandary as to which modules to put in. Should it be all 200/ 200& 100 combo
or 200e?
 As the case is a variation of the classic Music Easel case from the 1970s (Halliburton)
a 208 is obilgatory.

I've decided to go with 200e for now.
It's good to have something different to the standard easel configs.
Seems like a good combo.




Wednesday, 22 March 2017

Critter and Guitari Cellular Automata



Links re Cellular A:
Muffs - code
Github - more code
GetLoFi - DIY kit
Critter and Guitari - website
Circuit bent CA synth
Wikipedia
Muffs 2 - Mr Coops
Muffs 3 - PCB buy

Critter & Guitari Cellular Automata Synthesizer from Critter & Guitari on Vimeo.

--------

...
 Critter and Guitari Cellular Automata Synthesizer by Owen Osborn

I'm building a DIY version kindly provided by "n167tx" (Muffs)

The parts list is on the right.
You need to download the eagle file and upload to this viewer:
http://3dbrdviewer.cytec.bg/board


Eagle has a free viewer.
Download here:
http://www.autodesk.com/products/eagle/overview

Microcontroller used:
The AtMEGA8
http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf

The AtmelAVR ATmega8 is a low-power CMOS 8-bit microcontroller

Links re AVR programming.
1. PocketMagic
2. Instructables
3. Youtube
4. youtube 2


LCD Displays - Arduino

 Here is a basic LCD project.
A LCD is a  Liquid Crystal Display.
It uses a 16x2 LCD display. 
The exercise uses an Arduino.
Some of the older LCDs that Ive tinkered around with have a different pin out, but the basic ideas are the same.
 
 
I'm doing this project as it's good way to learn a bit about this older but proven technology.
LCD displays are often used in DIY projects, so  this info should come in useful one day.
I'll add to this page over time as I fix the odd synth. 

 LCD's are pretty commonly found in older synths. It is sometimes possible to restore older synths with newer OLEDs , but you may wish to stay as close to the original.
 

For many instruments such as the Yamaha SY99 & Korg Wavestation, there are no OLED replacements. They need LCD display replacements.
 
LCD's are different to OLEDS.
LED LCD screens use a backlight to illuminate their pixels, while OLED's pixels actually produce their own light. 
The back light commonly burns out. 
Some of these LCDs had no backlight o

 

LCDs are thicker, heavier and consume more power than OLEDS.
 
 
1.VSS = GND
2. VDD = VCC = 5V
3. Vo = display contrast pin - you will often connect the wiper of a pot to this
4. RS = register select
5. RW = Read/Write
6. E = Enable
7 to 14. D0 to D7 = data pins 
15. A = Anode - for the LED Backlight
16. K = Cathode - for the LED Backlight
 
I've used TinkerCad to test these circuits.
 
 Example 1
This LED screen  displays "Hello World"
Such a simple project.
These are the connections:
The resistor is 220 ohms
The pot is 250K ohms


/*
  LiquidCrystal Library - Hello World

 Demonstrates the use of a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.

 This sketch prints "Hello World!" to the LCD
 and shows the time.

  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * LCD VSS pin to ground
 * LCD VCC pin to 5V
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

// include the library code:
#include <LiquidCrystal.h>

/* initialize the library with the numbers of the interface pins
we are creating a LC object
The parameters of this object should be the numbers of the Digital Input pins of the Arduino Board 
respectively to the LCD’s pins as follow: (RS, Enable, D4, D5, D6, D7).
*/
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis() / 1000);
}
 --------------------------------------------------------
Example 2
Many thanks to
www.HowToMechatronics.com
This uses the same circuit as above.
 I've changed the code a bit, so it works with the old circuit.
 


* Arduino LCD Tutorial
*
* Crated by Dejan Nedelkovski,
* www.HowToMechatronics.com
*
*/
#include <LiquidCrystal.h> // includes the LiquidCrystal Library
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7)
void setup() {
 lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display }
}
void loop() {
 lcd.print("Arduino"); // Prints "Arduino" on the LCD
 delay(3000); // 3 seconds delay
 lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed
 lcd.print("LCD Tutorial");
 delay(3000);
 lcd.clear(); // Clears the display
 lcd.blink(); //Displays the blinking LCD cursor
 delay(4000);
 lcd.setCursor(7,1);
 delay(3000);
 lcd.noBlink(); // Turns off the blinking LCD cursor
 lcd.cursor(); // Displays an underscore (line) at the position to which the next character will be written
 delay(4000);
 lcd.noCursor(); // Hides the LCD cursor
 lcd.clear(); // Clears the LCD screen
}
 
----------------------------------------------------
 
 
Links (Paul McWhorter)
 

Monday, 20 March 2017

Deluge loop sampling - Using drum & midi tracks


I think this is the best way to sample a loop using the deluge.
It maintains length & tempo as your recording is perfectly matched with the deluge.
You will need to make 3 tracks. 


 Method :
1. make 2 tracks
    a) drum - gives the length & tempo
    b) midi track - plays the synth (add your midi notes into the deluge sequencer)

2. plug Audio out from synth ---> into line in of Deluge

3. make an audio / recording track
   a) press any track pad & press select
       display will show "audio1".
   b) press learn. & press the track again
       The display will show left(dot) or stereo (dot) etc
       The dot allows you to monitor
   c) press select

4.  press record button & check colour.
      want purple / magenta.

5. Press record

6. Press play

7. press "Audition" pad or "play" to stop


***** NOTE *********
If the deluge is just sending midi clock to a synth with its own internal sequencer
you still need a midi track on the deluge to trigger your external synth. It can be left empty of notes.
The rest of the steps are the same as above.


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


Recording a second audio clip


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


Recording alternative loops
so we can play one or the other,... but not both at the same time.

Press record & change the audition pad colour to red.

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



Deluge & Moog fatty

Sunday, 19 March 2017

Arduino Dimmable LED - Linear Equations

 Dimmable LED Project
 
This brings up the subject of Linear Equations.
 0 to 1023 - this is the read value (potValue)
0 to 255  - this is the write value range. (LEDvalue)
 
we need to read one value range and convert to another value range. 
 
Led Val = y axis
Pot Val = x axis

m= (y2 -y1)/(x2-x1)
m = (LED Val2 - LED val 1) / (pot val2 - potVal 1)
m = (255-0) / (1023-0) = 255/1023
or
y-y1 =m(x-x1)
or
LED Val - LED val 1 =m(pot val - potVal 1)
LED Val - 0 =m(pot val - 0)
LED Val =m(pot val)
 LED Val =m * pot val
 
Thus 
LED Val = (255/1023)pot val
 

 
 The code:
------------------
// declare your variables
int potPin=A1;// 0 to 255
int gPin=6; // green pin
int potVal; // 0 to 1023 - potentiometer
float LEDVal; // will calculate it depending on potVal
 
void setup()
{
  pinMode(potPin, INPUT);
  pinMode(gPin, OUTPUT);
  Serial.begin(9600); // opens serial monitor
 
}

void loop()
{
  potVal=analogRead(potPin);
  LEDVal=(255./1023.)*potVal;
  analogWrite(gPin,LEDVal);
  Serial.println(LEDVal);
}
--------------------------------------------------------------

Thanks to Paul McWhorter (Tutorial 14)

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

Ambient Electronica - Elektron - Mutables - Buchla

Some recordings taken last Friday (17/3/17).
Rory, Andrew & I are practicing for an upcoming gig.
Instruments used were an Elektron A4, Roland TR8 Drum,
some Mutable Instruments Euro modules and Buchla-Sputnik clone modules.