electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Klee sequencer
Software Klee Sequencer implementation
Post new topic   Reply to topic Moderators: Scott Stites, Uncle Krunkus, v-un-v
Page 1 of 1 [6 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
davebr



Joined: Jun 09, 2007
Posts: 198
Location: portland, or

PostPosted: Sun Jan 18, 2009 3:12 pm    Post subject: Software Klee Sequencer implementation
Subject description: Implementing Klee functionality on a ComputerVoltageSource module
Reply with quote  Mark this post and the followings unread

I decided to prototype a Klee sequencer in software on my ComputerVoltageSource module. I've implemented the basic shift register functionality for the 16 bit mode using a random number generator to define the input for the first stage of the shift register. I also implemented dual 8 bit shift registers with the ability to divide the clock to each shift register independently.

I implemented an auto-scale function which reads the 16 knobs and calculates a gain factor so the output will always scale over 10 volts. Then I use a range factor to scale the output over the desired number of octaves (1-9) and add an octave offset (0 to 9 limited by the range) and quantize the output. The LCD shows the range, offset, note number (e.g. D4#), and the shift register bits.

The auto-scale function works pretty well. As you change the settings of the individual knobs it gives you different note intervals within the same overall note range. The number of active knobs changes the number of discrete notes but again within the same overall note range. I'm going to add MIDI output and will have the sequencer change the instrument type per the sequence. I haven't quite decided on how to best do that.

I need to add the gate and trigger functions and will use a numeric keypad to enter the basic pattern. I need to study the Klee some more to figure out exactly how the gate generator functions.

I'll play with this as I have time and see how much I can implement and where it evolves.

Dave

Posted Image, might have been reduced in size. Click Image to view fullscreen.

Last edited by davebr on Sun Jan 25, 2009 4:31 pm; edited 1 time in total
Back to top
View user's profile Send private message
janvanvolt



Joined: Nov 24, 2005
Posts: 285
Location: Mainz, Germany

PostPosted: Wed Jan 21, 2009 8:09 am    Post subject: Re: Software Klee Sequencer implementation
Subject description: Implementing Klee functionality on a ComputerVoltageSource module
Reply with quote  Mark this post and the followings unread

Hi Dave,

since i got a klee and a CVS, will you share the CVS code with me ?

_________________
Homepage - http://www.czmok.de
My dIY - http://diy.czmok.de
Film/Music - http://gfm.me
Back to top
View user's profile Send private message Visit poster's website AIM Address
davebr



Joined: Jun 09, 2007
Posts: 198
Location: portland, or

PostPosted: Wed Jan 21, 2009 8:47 pm    Post subject: Klee Software
Subject description: CVS Code
Reply with quote  Mark this post and the followings unread

Sure. I can't find your email address on any of your sites. Send me an email and I'll email you the code I have. My email is on my page http://modularsynthesis.com/
Back to top
View user's profile Send private message
EdisonRex
Site Admin


Joined: Mar 07, 2007
Posts: 4579
Location: London, UK
Audio files: 172

PostPosted: Thu Jan 22, 2009 2:35 am    Post subject: Reply with quote  Mark this post and the followings unread

Dave, have you caught up on the gate bus logic? Conceptually it's actually rather simple, and from the point of the CVS (something I've been reading a lot about on your site btw) I don't think it would be that hard to do either.

All that's happening in the gate bus is that as the pattern steps through, the gate is enabled and routed to one of the 3 gate busses. One gate bus will always be selected. In the Klee there is no onboard selection of more than one gate bus at a time in the switches (other than via the master) nor is there a concept of "rest" (other than the obvious, ie choose a gate bus for the resting and don't use it!) That's not to say you can't mix gate bus outputs further down the chain, but it's just not implemented in the Klee rev 2 hardware (except the aforementioned master gate which is the logical OR of all three gate busses).

How would you go about implementing the live performance features of the Klee on the CVS? IMO the ability to load patterns and swap gate busses on the fly is important.

_________________
Garret: It's so retro.
EGM: What does retro mean to you?
Parker: Like, old and outdated.


Home,My Studio,and another view
Back to top
View user's profile Send private message Visit poster's website
davebr



Joined: Jun 09, 2007
Posts: 198
Location: portland, or

PostPosted: Thu Jan 22, 2009 8:31 am    Post subject: Software Klee
Subject description: Gate Bus
Reply with quote  Mark this post and the followings unread

No, I haven't spent any more time on it. For my sequencer, I have two gate outputs and I enter the values for each step using the LCD. All of that functionality is in the software so it would be easy to expand it.

For real-time, you would need more switches. I designed a simple I/O expansion board that provides 16 addtional digital and 16 additional analog inputs.
http://www.modularsynthesis.com/i2c-exp/i2c-exp.htm

One could easily add this and read the switches in real time for control. I won't go to that route but someday I should build an external module with the controls and switches.

Right now I'm just experimenting with this. I wrote some software some time ago that is pretty similar and my most used program. I implemented four counters of arbitrary length. The default (I think) is /4, /5, /6, and /7. I took the output of each counter, attenuated it through a potentiometer, and summed and scaled it for the output. I also quantize it and generate a MIDI output as well. That gave me very nice repeating sequences. I used the start and stop switches to extend the sequences (I don't remember how). You set the counters and adjust the controls until you get a pattern you like. I'm not sure the Klee will be that much different. I will be adding MIDI and setup using the LCD to the program.

EdisonRex wrote:
Dave, have you caught up on the gate bus logic? Conceptually it's actually rather simple, and from the point of the CVS (something I've been reading a lot about on your site btw) I don't think it would be that hard to do either. All that's happening in the gate bus is that as the pattern steps through, the gate is enabled and routed to one of the 3 gate busses.
Back to top
View user's profile Send private message
davebr



Joined: Jun 09, 2007
Posts: 198
Location: portland, or

PostPosted: Sun Jan 25, 2009 1:09 pm    Post subject: Software Klee
Subject description: Program and sample
Reply with quote  Mark this post and the followings unread

I've had a couple of requests for my code. Rather than keeping track and sending out revisions I put the development program on my programs page.

This morning I added gate, trigger, and MIDI functionality along with the beginnings of a setup menu. This isn't a faithful replication of a Klee but has evolved and is more inspired by it.

The program now consists of single 16 bit shift register or dual 8 bit shift registers. In dual shift register mode the lower shift register is clocked at half rate. I use a random function to set the lower bit of the shift registers. There are three CV outputs (16 bits, high 8 bits, low 8 bits) corresponding to bits in the shift register attenuated by the corresponding front panel control, auto-scaled, quantized, ranged, and offset to provide a narrower range of CV outputs. There are three gate outputs corresponding to the three CV outputs generated by comparing the shift register with a gate mask. There are two trigger outputs corresponding to the clock and half clock rate. MIDI notes corresponding to the 16 bit CV output is sent along with a program change corresponding to the lower 6 bits of the high byte of the shift register. The LCD menu selects the gate mask and MIDI offset.

This program is on my page at http://modularsynthesis.com/programs/programs.htm

I made a quick sample of the program. It is a very simple patch consisting of the sequencer in dual 8 bit mode driving two VCOs and a MIDI synth. The VCOs are each driven by the 8 bit shift registers. Their output is mixed through a VCF and VCA controlled by the gate output with a slight bit of lag. The output is mixed with the MIDI synth and separated in my FFB into a right and left channel. There is a bit of spring reverb on the output.

The sample is on my page at http://modularsynthesis.com/samples/samples.htm

Comments welcome. - Dave
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: Scott Stites, Uncle Krunkus, v-un-v
Page 1 of 1 [6 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Klee sequencer
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use