User Tools

Site Tools


dseq32

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
dseq32 [2007/04/03 12:16]
mess
dseq32 [2008/05/19 19:51]
mess
Line 1: Line 1:
-DSEQ32 (aka yet another TR clone) 
-is based on the classic TR drumsequencers\\ 
  
-see [[trsequencer]] for more drumsequencer designs 
- 
- 
- 
- 
-{{http://​webs.hogent.be/​~032573mh/​DSEQ32d.JPG?​800}} 
- 
-====== 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 
-  * settings are stored on internal eeprom 
-  * song mode  
-  * all functions can be executed while running 
-  * forward/​backward playing direction 
-  * 24 PPQ resolution 
-  * midi clock master/​slave (maybe also taptempo) 
-  * sysex functionality ​ 
- 
-====== 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 
-trk button + track select: solo track 
-track select + play button: manually trigger note 
- 
-|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 ​  ​|Velocity|Velocity|Pattern |Pattern |Pattern |Pattern |Bankstick| Mode  | Playdir ​      | 
- 
-|17      |18      |19      |20      |21      |22      |23      |24      |25      |26      |27      |28      |29      |30      |31      |32      |      
-| Fill   ​|Shift ​  | MidiCh | MidiCh |MidiCh ​ |Offset ​ |Notelen |Sync to |Sync Ld |        |Dump cur|        |Dump BS |        |LCD |Reset| 
-| Track  |Track ​  | Drum   | NoteSeq|CC ​     |CC      |NoteTrk |Track ​  ​|Pattern |        |Pattern |        |Pattern |        |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 
-  * tracks don't go out of sync after changing divisor 
-  * the note track now has a note length parameter 
-  * pattern banks are implemented 
-  * new function: shift track 
-  * the note-on status of tracks is displayed in the track layer 
-  * note-off handling when seq is stopped added 
-  * the pattern bpm is now loaded when the seq is not running 
-  * 0.7e 
-    * pattern banks implemented,​ bug fixed in bankstick routines 
-    * manual trigger and solo implemented 
-    * basic sysex support 
-    * songmode now works 
-    * note length implementation for note track 
-    * it is now possible to sync pattern changes to begin of pattern 
-    * lots of core tick optimalisations 
-    * obsolete functions removed 
- 
- 
- 
-====== Software ====== 
- 
-Most of the code is written in C 
- 
-the software will be based on the midibox ​ [[http://​www.midibox.org/​forum/​index.php?​topic=5691.0|clockbox example]] <​sup>​uCApps</​sup>​ 
- 
-  * [[DSEQ_DATA|Data structure]] 
- 
-  * Application code  
-    * [[DSEQ_BS|Bankstick]] (updated) 
-    * [[DSEQ_CS|Control surface]] 
-    * [[DSEQ_CORE|Sequencer core]] 
-    * [[DSEQ_FUNCTIONS|Sequencer get/set and helper rountines]] 
- 
-  * you can find DSEQ32 v0.7e [[http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​dseq32_latest.zip|here]] 
- 
-  * the [[www.doxygen.org|doxygen]] generated documentation is available [[http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​doc|here]] 
- 
- 
-====== Hardware ====== 
- 
-Components: 
-  * CORE module [[http://​www.ucapps.de/​mbhp_core.html|CORE Module]] <​sup>​uCApps</​sup>​ 
-  * DOUTX3 [[http://​www.ucapps.de/​mbhp_dout.html|DOUT Module]] <​sup>​uCApps</​sup>​ 
-  * DINX1 [[http://​www.ucapps.de/​mbhp_din.html|DIN Module]] <​sup>​uCApps</​sup>​ 
-  * BANKSTICK [[http://​www.ucapps.de/​mbhp_bankstick.html|BANKSTICK Module]] <​sup>​uCApps</​sup>​ 
- 
- 
-The leds/​buttons are wired in a matrix configuration 
-to reduce the number of DIN/DOUT modules needed 
-[[DSEQ32_matrix]] 
- 
-note: this description is out of date!! 
- 
-====== Construction ====== 
- 
- 
-  * Assembly of frontpanel 
- 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​button_boards.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​back_nobutton.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​boardsinplace.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​wiring1.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​wiring2.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​wiring3.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​wiring4.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​wiring5.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly/​wiring6.JPG?​400}} 
- 
- 
-  * Painting the case 
- 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​paintcase/​case_after_cleaning.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​paintcase/​front_after_cleaning.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​paintcase/​back_grondverf2.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​paintcase/​front_grondverf.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​paintcase/​case_together_grondverf.JPG?​400}} 
- 
- 
-  * Assembly after painting 
- 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly_after_paint/​inside_case.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly_after_paint/​boards.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly_after_paint/​front_back.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly_after_paint/​front_with_nuts.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly_after_paint/​boardsinplace_back.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly_after_paint/​inside_case_w_board.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction/​assembly_after_paint/​assembled.JPG?​400}} 
- 
- 
-  * Finished hardware 
- 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction//​finished_hw/​dseq32.JPG?​400}} 
-{{http://​webs.hogent.be/​~032573mh/​midibox/​dseq32/​construction//​finished_hw/​dseq32_w_nord.JPG?​400}} 
- 
-====== Development ====== 
- 
-First prototype:​\\ 
- 
-[[http://​www.midibox.org/​forum/​index.php?​topic=6980.msg45082#​msg45082|forum topic]] 
- 
-{{http://​users.skynet.be/​sky92755/​testsetup.JPG?​400}} 
- 
-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]] 
- 
-more project by [[mess]] 
dseq32.txt ยท Last modified: 2008/05/19 19:51 by mess