Hi, I am new to daisy with a solid understanding of puredata, but I’m not a pro.
What would be the best way to make a step sequencer that maps to 16-32 buttons on a daisy seed and has some shift-functions and save states.
Kind of like the sequencer on a Erica LXR-02 or a simplified version of an elektron sequencer.
Also, should I drive my main clock with a [phasor~] or just a [metro]?
I am trying to build an 8-channel drum machine with one single shared 16/32-step sequencer, with a variety of shift- and hold functions on each button. Is this possible and what are some thing I need to look out for? Thanks
These are many not-quite-related questions into one big post.
My first recommendation would be: split your problem up into its constituent parts, so they can be properly investigated and answered.
From what I gather you want to solve these different problems:
- how to connect a physical (electrical) interface and mapping these controls to certain functionality
- how to control the tempo and progression of your sequencer
- have alternate “layers” of interaction using shift functionality
Did I get these right?
Hello and thank you for your prompt response.
I’m new to Daisy and this forum, so please excuse any confusion. I understand that this is an ambitious project, and I should proceed step-by-step.
Currently, I’m organizing my Puredata project into a single main file with sliders and knobs, which represent the layout I envision for the hardware version using Daisy.
Since I have no hardware experience, I need to be carefully building the layout of my controls so that it can be easily adapted to a physical interface with daisy seed later.
For example, each of my 8 drum tracks has a custom [mixer-channel.pd] abstraction with a Vslider that goes from 0 to 1. From what I understand, to control this slider using an analog input, I only have to connect a [r … @hv_param] object, outputting values from 0-1, correct?
So my main goal right now is to build a button logic, mainly focused around a 16 step sequencer with shift, long press function, that can be adapted to hardware easily without action conflicts.
Is there a clean way to do this? Any architectural diagrams, code sketches, or “don’t do this” lessons would be hugely appreciated.
I would say it’s definitely good to have your main patch focus on the top level design, like the hardware inputs and outputs.
Then I recommend that you use abstractions (separate patches, in the same folder as your main patch. that you can load like a library object) for all your low level DSP and control logic.
This makes it easier to organize the different aspects of your project. And to reuse the same components (abstractions) in different prototypes (main patches).