User Tools

Site Tools


dseq32

This is an old revision of the document!


DSEQ32 (aka yet another TR clone) is based on the classic TR drumsequencers

see trsequencer for more drumsequencer designs

webs.hogent.be_032573mh_dseq32c.jpg

Features

  • 32 step 8 track drum seq, each step has trig/acc/roll
  • one track can be used as note track for bass sequencing
  • independant length/tempo divisor for each track, all can be synced to a master track
  • 8 banks of 16 patterns
  • patterns are saved on a bankstick
  • song mode (not sure how I will implement this..)
  • all functions can be executed while running
  • forward/backward playing direction
  • 24 PPQ resolution
  • midi clock master/slave (maybe also taptempo)
  • settings are stored on internal eeprom

note that these features are not final!

Interface

  • lcd: displaying (bpm pat trknr edited_par)
  • 32 step buttons + stepleds, leds are dual color to display trig/acc
    • step edit behaviour: step off/trig/trig+acc
    • all functions are accessed with a stepkey + shift combination
    • pattern selection: stepkey + pattern button
    • track select/mute: stepkey + track button
  • rotary encoder for bpm, also used for editing values
  • Step button layout:
    • Track layer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Select Select Select Select Select Select Select Select Select Select Select Select Select Select Select Select
Trk1 Trk2 Trk3 Trk4 Trk5 Trk6 Trk7 Trk8 Trk9 Trk10 Trk11 Trk12 Trk13 Trk14 Trk15 Trk16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Mute Mute Mute Mute Mute Mute Mute Mute Mute Mute Mute Mute Mute Mute Mute Mute
Trk1 Trk2 Trk3 Trk4 Trk5 Trk6 Trk7 Trk8 Trk9 Trk10 Trk11 Trk12 Trk13 Trk14 Trk15 Trk16
  • Pattern layer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Select Select Select Select Select Select Select Select Select Select Select Select Select Select Select Select
Bank A Bank B Bank C Bank D Bank E Bank F Bank G Bank 8
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Select Select Select Select Select Select Select Select Select Select Select Select Select Select Select Select
Pat 1 Pat 2 Pat 3 Pat 4 Pat 5 Pat 6 Pat 7 Pat 8 Pat 9 Pat 10 Pat 11 Pat 12 Pat 13 Pat 14 Pat 15 Pat 16
  • Function layer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Cut Copy Paste Delete NoteNr Length Divisor Normal Accent Cut Copy Paste Delete Format Midi Fwd/Backwd
Track Track Track Track Track Track Track VelocityVelocityPattern Pattern Pattern Pattern Bankstick Mode Playdir
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Fill MidiCh MidiCh LCD Reset
Track Drum NoteSeq Mode Seq

Progress

  • first prototype
  • new layout design
  • ledmatrix/buttonmatrix finished (see matrix page)
  • frontpanel finished/wired
  • first take on controll surface handler (step, track and pattern handling)
  • sequencer works, timing is not stable yet
  • made a temporary case
  • fixed flickering leds when pushing a button
  • bankstick error handling added
  • default pattern is loaded when no BS is available at startup
  • independant length/divider for each track implemented
  • LCD optimalisations
  • loading and saving of patterns works now
  • backward playing direction implemented
  • midi mode implemented with simple slave mode (no interpolation)
  • improved bpm handling (pattern bpm is saved with pattern)
  • fill function implemented
  • CS interface improved (the edit functions are now accessed with stepbutton+shift)
  • settings are saved in internal eeprom
  • notetrack implemented, this track will be used to program basslines
  • changed data structure, new pattern is 256bytes
  • cs is updated for notetrack (shift + track selects notetrack)
  • shift + stop resets the song position
  • due to code/ram space limitations the project is ported to a pic18f4620
  • the core board was modified so that the backlight can be controlled by the software
  • new bankstick routines to handle the larger pattern size
  • 2 new functions added: Seq Reset and Backlight mode
  • CC layer added

Software

most of the software will be written in C, some of the critical parts will be optimised in ASM to increase performance

the software will be based on the midibox clockbox example uCApps

Hardware

Components:

The leds/buttons are wired in a matrix configuration to reduce the number of DIN/DOUT modules needed DSEQ32_matrix

Development

First prototype:

forum topic

users.skynet.be_sky92755_testsetup.jpg

used for development of data structure, bankstick code, sequencer core

New version:

  • Construction of frontpanel
  • Wiring of the 32 step leds/buttons
  • Testing of the step buttons with the SM_example application
  • Testing of the step leds with modified SM_example app (modified version includes leddriver)
  • Development of user interface code
  • Button and led handling finished
  • The flickering led problem is solved with MIOS v 1.9c
  • Encoder handling works, but there's still a small bug
  • Updated LCD layout for new functions
  • The leds to indicate play/save/vel/special function button work now
  • Some LCD optimalisations
  • Development of seq code
  • Sequencer edit functions work as expected
  • Sequencer runs!
  • Fixed sequencer mute track bug
  • Some tracks didn't send the note off messages correctly, corrected
  • Bankstick error handling added
  • Default pattern is loaded when no BS is available at startup
  • Note length/divider is implemented
  • Independant length/divider for each track


back to user_projects

dseq32.1163978537.txt.gz · Last modified: 2006/11/19 23:23 (external edit)