I’m in the process of developing a very simple pattern sequencer that supports up to 256-measure long tracks.
I was wondering if anyone here had any C examples of sequencers of any kind that they’d be willing to share? I will document this project and post the code.
My first version will simply play back pre-loaded patterns - so I don’t need any pattern-programming capabilities yet.
(31cmx17cmx10cm)
Here are the specifications:
2 independent sequencers , one of which can be slaved to the other.
Each sequencer will be able to load one “song” at a time. A song is chosen by the push-button rotary encoder.
16 sections per song
6 tracks per section that can be muted or unmuted with the track-mute buttons (more than 6 tracks could be implemented, but that’s all I need)
256 measures per track - this is where this really differs from the Midibox Seq
I perform live electronic dance music for a living and want something lighter to replace my aging RM1x.
I currently use a Yamaha RM1x to sequence Kontakt 2, which is loaded with 6gb of my home-made loops and samples. The pots control various effects and scripts in Kontakt.
In the top right, you can see my tiny silver PC that weighs only 2kg. When I turn it on, it automatically loads Kontakt with all my samples - so I don’t need a monitor, keyboard or mouse!
(and that lil’ red box is my little Midibox Clockbox that syncs up all my sequencers )
A good start would be clockbox, then define some struct to hold your (timed) midi events. I believe clockbox keeps track of bars/steps, which you could use to index your array of events.
I really wanted to paint the front panel black but I simply don’t have time and I have 7 gigs coming up… plus it’s really irritating to do a few coats of paints and a clear-coat and then suddenly some holes are too small for pots & buttons.
i decided the silver was too distracting so i’m going “the extra mile” and painting it black today.
re. knobs - futurlec.com (i posted a link for all my parts at the beginning
re. colourful - you’re the second person be pointing that out :
honestly, when you’re performing in a dark club, it really improves the user interface if you only have to quickly glance to see what find a button or knob. for example, i’ve got knobs permanently assigned to things like chorus, flanger, phaser, delay, lo-pass, hi-pass, bit crusher, etc… hence the very specific colour-coding. sorry to get a bit defensive, but i perform live for a living and this particular user-interface design is backed up by 10 years of experience 8)
Hey sneak, I already checked your links but there is no knobs I see on this picture:
honestly, when you’re performing in a dark club, it really improves the user interface if you only have to quickly glance to see what find a button or knob. for example, i’ve got knobs permanently assigned to things like chorus, flanger, phaser, delay, lo-pass, hi-pass, bit crusher, etc… hence the very specific colour-coding. sorry to get a bit defensive, but i perform live for a living and this particular user-interface design is backed up by 10 years of experience
Dont you worry about my comment, I am slave of colour minimalism. :P For club useage color coding makes much more sense.
In my case, it makes perfect sense to design the user-interface first because the software can easily be modified to fit my workflow.
Software Description:
Over the last decade, I’ve written all sorts of material (over 100 different songs, some completely finished, some very raw) on my rm1x and rs7000’s in pattern-mode.
Pattern-mode consists of up to 16 sections, each having 16 tracks. This is the basic sequencing paradigm that i wanted to use.
For my live performances, I need control over groups of tracks and not each individual track. Look at the following typical example on my rs7000:
Track Instrument
----- -----------
1 kick
2 snare
3 hihat
4 claps
5 rides
6 other percussion
7 vocal samples
8
9 bass
10 melody 1
11 melody 2
12 pad
13 sfx 1
14 sfx 2
15 sfx 3
16
Since it’s more efficient to control instrument groups, I spent a month recording *all* of my studio synths and samplers and broke down songs into various 1-16 measure loops, so now the typical track looks like this:
Track Instrument
----- -----------
1 kick
2 all other drums
3 bass
4 melodies 1+2, pads
5 vocals
6 sfx 1-3
So, this gives me the ability to improvise with song structure, as well as being able mix & match parts of various songs in order to create a spontaneous live performance, albeit with bigger building blocks than your traditional midi sequencer.
However since I also use my rs7000 live, I still have very fine control over midi notes and such with one half of my setup.
The other huge benefit of all the sampling is that I don’t have to bring as much gear when I perform, and yet Kontakt’s scripting language is very powerful and allows me to retain the expressiveness over how the samples are played back.
The most important aspect is being able to respond to the dancefloor, and this setup accomplishes that nicely. The hardest part is finding a balance between automation and ability to control.