Friday, 6 July 2018

Eloquencer - Copy A Track To Another Track In A Different Pattern

 Copy A Track To Another Track In A Different Pattern

We are in edit mode (CV, GATE, GATE LEN, RATCHET) and we have chosen the track we want to copy.

1. Copy (press Function + Copy and hold) 
    The OLED will display "Trak Copy"
2. (While holding) deselect the parameters you don’t want to copy by pressing the relevant green lit edit mode buttons 
3. Release Function + Copy 
4. Go to Pattern Mode (hold Function + Pattern for at least ½ second) 
5. Choose the desired Bank and Pattern (via the Track then Step buttons) 
6. Go to any of the editing modes (CV, Gate, Gate Length, Ratcheting) 
7. Select the desired track you want to paste the track to 
8. Paste (Function + Paste for at least ½)

Tuesday, 3 July 2018

Eloquencer - creating parts.

 In the Eloquencer, you create parts by joining patterns.
You join Parts to make songs.



The manual says that a song can have a potential max of 256 linked parts.
(Some of these parts would be repeated as you can only save 64 unique parts into
the memory of each project).

To make Parts
1. Go to Song Mode
     Function & Song (Long Press).

You will see displayed this on the OLED



2. Scroll down to Create Parts.



3. press the encoder

4. We have 4 banks of 16 patterns to choose from.


     You will see this on the OLED
      A1 is your first Part.
      You can create 4 banks of 16 parts -- 64 parts
      The parts are labelled 
      A1 - A16, B1 to B16, C1-c16, D1-D16.


5. Part length
    This changes every time you add a pattern.
     

6. Press Start
    You will see the patterns that are available displayed
     as lit step buttons
      A1 - A16, B1 to B16, C1-c16, D1-D16.
     You can select any of the 4 banks




7. Add your patterns by pressing the step buttons.
    You will see the part length go up each time.

8. When you are done press Finish.

---------------------
To play a part return to SONG Mode.


If you wish to return to PATTERN mode to edit patterns, you must turn OFF song mode.
You do this while in Song Mode





    


Wednesday, 27 June 2018

"How the Heroes Die" by Larry Niven

This story takes place about 2040AD . 
It's a sequel to "Eye of an Octopus" which covered the first manned mission to Mars.
This story tells of the  second expedition which was dispatched to make first contact with
the Martian natives if they are alive.
The previous expedition discovered a mummy and an ancient well made from diamond bricks. 
 
"How heroes die" was
First published in Galaxy Science Fiction magazine, October 1966. 
 
 "Every man on Mars was a hero --- but some heroes were more brave & daring than others!" .... is the opening  paragraph.
 
I found this novelette a tad unsettling
The problems aren't the Martians. It's the human, all male crew
who make a mess of things (and murder one another).
Whoever picked these astronauts as being capable of living with each other on a long journey read their personalities all wrong.

In reality, all Astronauts undergo rigorous personality, stress, and psychological evaluations before being sent into deep space.
 
 
 
 
 
There certainly are living Martians but the crew are all too busy trying to kill each other. 
Most of the story is a cat and mouse Martian-buggy chase over the Martian landscape. 
 
Problems start with a murder.
The catalyst was a homosexual advance towards the lead character, John Carter by  a fellow crew member, Lew Harness. John kills Lew over this sexual advance. This escalates into Carter escaping
into the Martian landscape on a buggy, pursued by the dead Lew's brother, Alf Harness.
He is bent on revenge for his brother's death.
 
Carter escapes from Bubble Town - the human settlement almost killing the rest of the crew. Most of the story is of Alf chasing John, & their conversations over the radio. 

They taunt each other on the radio.  Who will turn back first?  Who has the stronger will to live?
 
 The story gets interesting as they get further from the base, and they realise that they are running out of oxygen
 
There is enough combined oxygen for one man only.  Only one can return to the base alive.

The two end up fighting each other for the remaining oxygen.
Cat and mouse 
 

During  the chase, we get glimpses of local Martians.
At the end of the story one finds the body of one of the humans. Touching a oxygen cylinder we discover that oxygen is poison for Martians, but gives life to humans.
 
On the left is a Virgil Finlay Illustration
 
 
 
 
 
 
 
 
 
 
 

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

sci Fi Index

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

Saturday, 23 June 2018

Radio Music - Chord Organ - SD card

I had a problem with my whole modular booting up today.
After unplugging many modules, I traced the problem to my Chord Organ module.
This was unusual, as it was working before. 
Initially, I suspected a hardware problem, but it turned out to be a failed SD card.

Interesting that a simple faulty card had caused my whole system to crash.

So this was a good opportunity to refresh the card file
 
The SD card needs to be populated with a simple text file.
Name it CHORDORG.TXT
Place it the root of the SD card


suggestions from James Bernard:

(just copy the 16 lines onto your text file).

1. [0,4,7,12,0] Major
2. [4,7,12,16,-5] Major inv 1
3. [7,12,16,-5,0] Major inv 2
4. [-12,-8,-5,0,4] Major inv 3
5. [-8,-5,0,4,7] Major inv 4
6. [-5,0,4,7,12] Major inv 5
7. [0,4,7,11,0] Major 7th
8. [4,7,11,0,16] Major 7th inv 2
9. [7,11,0,16,19] Major 7th inv 3
10 [-12,-8,-5,-1,0] Major 7th inv 4
11 [-8,-5,-1,0,4] Major 7th inv 5
12 [-8,4,7,11,23] Major 7th no root
13 [0,0,0,0,0] Root
14 [-24,-12,0,12,24] organ
15 [-8,-5,4,7,16] Major no root
16 [-12,0,0,12,24] 2 up 1 down octaves

 

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

Note:

+ everything outside the brackets is ignored 
+ Chords are described in numbers:
      0 is the root
     12 is a octave above
    -12 is an octave below.
     Max 16 chords
     Max 8 notes per chord.
Try to give all chords the same number of notes. This reduces "clicks" when a chord is changed.

Another example

1. [0,4,7,12,0] Major
2. [0,3,7,12,0] Minor
3. [0,4,7,11,0] Major 7th
4. [0,3,7,10,0] Minor 7th
5. [0,4,7,11,14] Major 9th
6. [0,4,7,11,14] Major 9th
7. [0,5,7,12,0] suspended 4th
8. [0,7,12,0,7] Power 5th
9. [0,5,12,0,5] Power 4th
10 [0,4,7,8,0] Major 6th
11 [0,3,7,8,0] Minor 6th
12 [0,4,7,10,2] Dominant 9th
13 [0,4,7,10,1] Dominant minor 9th
14 [0,7,9,1,4] Elektra chord
15 [0,8,11,4,9] Farben chord
16 [0,4,7,10,3] Dominant seventh sharp nine / Hendrix chord
 
+ Wikipedia List of Chords page
 
"The column marked “p.c. #s” shows the numbers you need here, in Integer Notation, (with “10” and “11” replaced by “t” and “e”)." (Music thing modular)


Thursday, 21 June 2018

Max for live - abelton - tutorial 1 - starting out

 Max for live extends the functionality of Live's suit of instruments.
It allows users to customise their own devices
This is using Live 10 suite
 
Max is an extension of the Live suit software
It was co developed by cycling 74
You can customize live by creating your own devices
 They can be instruments, audio effects or midi effects
 
There are lots of pre made instruments & tutorials to get you started. 
It is already bundled with Live Suite. 
 

Look in the category section of the browser om the left

There ARE 3categories
 Audio, instruments, midi effects.

in order to use it, you'll need to understand how to install the required content. It comes in the form of Packs
 
Either go to Abelton,com and click Max for Live
or click at the bottom of the abelton browser. At the bottom is a list of available packs

 
Or you can also update from Lives browser
 
 
 

 
Basic  packs are Creative extensions & convoluted Reverb 

 



Wednesday, 20 June 2018

Abelton - Launching clips

 The Clip Launch settings in abelton are very useful.
 
If you can't see the Launch Box, click the "L" in the bottom left corner.

 Under launch Mode, there is a dropdown box:

1. Trigger
2. Gate
3. Toggle
4. Repeat
 
 In trigger mode the clip will keep playing till you stop it.
It will loop indefinitely until you press the stop box.
 
In Gate mode the clip will only play while you are holding the play button. as soon as you let go the clip will stop.
Remember to check you global quantization settings.
 It will play / stop according to these settings
 
 
Toggle mode ... similar to trigger mode, except to stop you press the "play" button again.
 
 Repeat: according to the quantization settings, the clip will repeat.
If the quant setting is shorter than the time it takes for the whole clip to play
it will jump to the start and repeat.
 
 Legato
Legato mode ensures that whenever playback of a new Clip is triggered, playback starts at the Globally relative position within the triggered Clip
 


Thursday, 14 June 2018

Modular in the Lounge Room- Meeting 3

Lots of fun.
The 3rd MITLR was held on the 2nd June in Wollongong... at secret location with what has been voted as the lounge room with most uncomfortable lounge on the South Coast (& possibly the world).
I'm quite proud of this distinction so will have to ditch any thoughts of buying a new couch:-)

The music was however really good. Thanks to Andrew, Ilya, Justin, Paul, Dee, Terry, Rory and Gareth for making it a memorable night.




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



Virusinstaller

-------------------------------------------------
Rory Satori


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

Allinaire  (aka: Cobramatic)




-------------------------------------------------
Post Global Disorder (Terry)

We were all blown away by the new graphic VCO from Erica Synths



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

A post shared by jono (@dj_jondent) on
Gareth  AKA Oscillosaurus



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

Ilya

A post shared by jono (@dj_jondent) on

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



Wednesday, 13 June 2018

Master clock 2 Millis() - OLED display

My previous attempt at making a master clock used the delay function.

The problem with delay() is that everything stops until the delay time is over.
Not useful for multi tasking. 



 
This second attempt uses the millis function.
It turns on and off a light emitting diode (LED) connected to a digital pin,
  without using the delay() function. This means that other code can run at the
  same time without being interrupted by the LED code. 
 
PinWiring to Arduino Uno
Vin5V
GNDGND
SCLA5
SDAA4
 
This uses a combination of a few blog posts
 
The POT is wired thus:
centre (wiper) to A0
Right to GND
Left to 5V
 
The LED
Cathode to gnd via a 220 ohm resistor
Anode to pin 8
 
 
The end result is similar the the delay version, but is more accurate I think.
Hopefully I can also run other bits of code.
 

I got the idea from this post:
 
 

 
The code is here
//&&&&&&&&&&&&&&&&&&&&&&&

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

const int ledPin =  8;// the number of the LED pin

#define MIN_BPM 20      /*write here the min BPM that you want */
 #define MAX_BPM 300     /* write here the max BPM that you want */
 #define POT A0          // the potentiometer connects to analog pin A0

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// Variables
int bpm;
int ledState = LOW;             // ledState used to set the LED
unsigned long previousMillis = 0;        // will store last time LED was updated

const long interval = 60000;           // interval at which to blink (milliseconds)

void setup() {
  // set the digital pin as output:
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin,ledState);// set initial state of pin 8 LED
 
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C
  display.clearDisplay(); // Clear the buffer.
}

void loop() {

   bpm = map(analogRead(POT), 0, 1023, MIN_BPM, MAX_BPM);  
    display.clearDisplay();
    display.setTextSize(3);
    display.setTextColor(WHITE);
    display.setCursor(0,0);
    display.println(bpm);
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.println("    BPM");
    display.display();
    
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval/bpm) {
    // save the last time you blinked the LED
    previousMillis = currentMillis;

    // if the LED is off turn it on and vice-versa:
    if (ledState == LOW) {
      ledState = HIGH;
    } else {
      ledState = LOW;
    }

    // set the LED with the ledState of the variable:
    digitalWrite(ledPin, ledState);
  }
}

// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&


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

Sunday, 10 June 2018

Basic Master clock with OLED display using delay function

PinWiring to Arduino Uno
Vin5V
GNDGND
SCLA5
SDAA4
 
This uses a combination of a few blog posts
 
The POT is wired thus:
centre (wiper) to A0
Right to GND
Left to 5V
 
The LED
Cathode to gnd via a 220 ohm resistor
Anode to pin 8
 
The delay function is essentially the clock.
Works ok, though using the delay() means that nothing else can run until the delay has finished.

The LED is on/off for a total of 60,000 millisecs/BPM  = 1min/BPM
and then loops.   
 

 
 
The code is here:
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define LED 8      // LED pin

#define MIN_BPM 20      /*write here the min BPM that you want */
 #define MAX_BPM 300     /* write here the max BPM that you want */
 #define POT A0          // the potentiometer connects to analog pin A0

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// Variables
int bpm;

void setup() {
 
  pinMode(LED, OUTPUT);  // LED pin 8 is the output
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C
  display.clearDisplay(); // Clear the buffer.
 
}
//---------------------------------------------------------------

void loop() {

    bpm = map(analogRead(POT), 0, 1023, MIN_BPM, MAX_BPM);  
    display.clearDisplay();
    display.setTextSize(3);
    display.setTextColor(WHITE);
    display.setCursor(0,0);
    display.println(bpm);
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.println("    BPM");
    display.display();

// the LED is on/off for a total of 60,000 millisecs/BPM  = 1min/BPM
// and then loops. 

/*this is the 1/1 output*/
  digitalWrite(LED, HIGH); // turn LED on for 2 millisecs
    delay(2000/bpm);
    digitalWrite(LED, LOW); // turn LED off
    delay(58000 / bpm); 
 


 }

//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Thursday, 7 June 2018

OLED display - Part 1 - The display function & basic shapes

OLEDs need only 4 pins

Arduino VCC -> OLED Module VCC
Arduino GND -> OLED Module GND
Arduino 4 -> OLED Module SDA
Arduino 5 -> OLED Module SCK
 
 
 In order for your OLED to display an image, animation, or text you need to be familiar
with the display function.
 
display() 

    display.clearDisplay() – all pixels are off
    display.setTextColor(WHITE)
    display.setTextColor(BLACK, WHITE); // 'inverted' text   FontColor,BackgroundColor
    display.drawPixel(x,y, color) – plot a pixel in the x,y coordinates
    display.setTextSize(n) – set the font size, range from 1 to 8
    display.setCursor(x,y) – coordinates to start writing text
    display.print(“message”) – print the characters at location x,y
    display.println("Hello world!");
    display.startscrollright(x, y);
    display.stopscroll();
    display.startscrollleft(x , y);
   display.startscrolldiagright(0x00, 0x07);   
   display.display() – call this method for the changes to make effect 
 
There are also a number of  basic shape functions worth remembering
 
Rectangle 
display.drawRect(X, Y, Width, Height, Colour);
 
Round Rectangle 
display.drawRoundRect(X, Y, Width, Height,radius of round corner, Colour);
 
Circle 
display.drawCircle(20, 35, 20, WHITE);
// (X, Y, radius, Colour);
 
Filled Circle 
display.fillCircle(20, 35, 20, WHITE);
// (X, Y, radius, Colour);
 
 
Triangle 
display.drawTriangle(30, 15, 0, 60, 60, 60, WHITE);
// (x0, y0, x1, y1, x2 , y2, colour).
// (X0,y0) represents top vertex, 
// (x1,y1) represents left vertex and (x2,y2) represents right vertex.
 
Filled Triangle 
display.fillTriangle(30, 15, 0, 60, 60, 60, WHITE);
 
 
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

The Basic code needs :
 
// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup()   
{                
  // initialize with the I2C addr 0x3C
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  

  // Clear the buffer.
  display.clearDisplay();

// write your main code & display functions here

}

void loop() {}

// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
An example for a circle (filled and hollow) 
and some scrolling text is below



// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup()   
{                
  // initialize with the I2C addr 0x3C
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  

  // Clear the buffer.
  display.clearDisplay();

// write your main code & display functions here
 
display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("Circle");
  display.drawCircle(20, 35, 20, WHITE);
  display.display();
  delay(2000);
  display.clearDisplay();

  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("Filled Circle");
  display.fillCircle(20, 35, 20, WHITE);
  display.display();
  delay(2000);
  display.clearDisplay();

// Scroll part of the screen
display.setCursor(0,0);
display.setTextSize(1);
display.println("Scroll line 1");
display.println("line 2");
display.println("line 3");
display.println("line 4");
display.display();

display.startscrollright(0x00, 0x00);
display.startscrollleft(0x01, 0x00);
display.startscrollleft(0x02, 0x00);
display.startscrollright(0x03, 0x00);

delay(10000);
  display.clearDisplay();

// Scroll full screen
display.clearDisplay();
display.setCursor(0,0);
display.setTextSize(1);
display.println("jondent");
display.println("synth");
display.println("blog");
display.display();
display.startscrollright(0x00, 0x07);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrollleft(0x00, 0x07);
delay(2000);
display.stopscroll();
delay(1000);    
display.startscrolldiagright(0x00, 0x07);
delay(2000);
display.startscrolldiagleft(0x00, 0x07);
delay(2000);
display.stopscroll();
 

}

void loop() {}
// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Links
These two website are indispensable.
 
-------------------------------------------------------------------------------------------

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

Tuesday, 5 June 2018

Diodes - Basic Info

The name diode is derived from “di–ode” which means a device that has two electrodes. 

These belong to the world of "semiconductors". 
Semiconductors are usually broken up into positive or P-type, and negative or N-type. --- this has nothing to do with the poles of a battery. The two types are joined together.

Orientation



A diode is a two-terminal electronic component that conducts current primarily in one direction; it has low resistance in one direction, and high resistance in the other. Wikipedia
They allow current to flow in one direction.
See the arrow.
A PN junction is the simplest form of the semiconductor diode.
 
 
 Semiconductor diodes are the most common type of diode.
 
Different Types of Diodes
  • Small Signal Diode. ...
  • Large Signal Diode. ...
  • Zener Diode. ...
  • Light Emitting Diode (LED) ...
  • Constant Current Diodes. ...
  • Schottky Diode. ...
  • Shockley Diode. ...
  • Step Recovery Diodes. (Snap-off)
  • PN Junction Diodes
  • Tunnel Diode (Esaki)
  • Varactor diode (Varicap)
  • Photo diode
  • PIN diode
  • Lazer diode
  • Avalanche Diode 
  • Vacuum Tube diodes
  • Crystal rectifier (crystal diodes)
  • Gunn Diodes
  • Thermal Diodes
  • Stabistors or Forward Reference Diodes 
  • Gold-doped diodes
  • Super barrier diodes
 Common Diodes you will use are Schottky, LED, Signal, photo and Zener

Schottky Diodes
Very commonly used in Synthesizers.
The main application area of Schottky diodes is in switching power supplies which are intended to work with frequencies over 20kHz.

They are also known as barrier or hot carrier diodes. 
They have their own symbol.

It has a low forward voltage drop and a very fast switching speed.  
The forward voltage drop is substantially less than that of the conventional silicon pn-junction diode. 
 
 
A silicon p–n diode has a typical forward voltage of 0.6 – 1.7 Volts, while the Schottky's forward voltage is 0.15– 0.45 V. This lower forward voltage requirement allows higher switching speeds and better system efficiency.  
 

 
These are all different types of Schottky Diodes







..


-----------------------------------------------------------------------------------
Photo diodes
A photodiode is a PN-junction diode that consumes light energy to produce an electric current.
It's designed to absorb photons.
 They are also called a photo-detector, a light detector, and a photo-sensor. 
Photodiodes are designed to work in reverse bias condition. 
Typical photodiode materials are Silicon, Germanium and Indium gallium arsenide.





In the NLC Lux module, its used to make a "optical thermin".






Links