Hi,
Here the first version of an euclidian sequencer with 2 Lickogic, 1 Dilicktal and 1 Lcd.
16 tracks in 4 banks with individual note, swing and rythm_mode (POLY : ppqn = 6 (1/16th), SOLO : ppqn depends on nb_steps).
Sync / Master Midi.
Signal on Serial, Mid or USB.
To come :
Potentiometer motion capture (velocity/accent, note, roll...)
Accent and Roll (with euclidian algo)
Arpeggio
Regards,
Laurent.
ref :
http://en.wikipedia.org/wiki/Euclidean_Rhythm
http://archive.bridgesmathart.org/2005/ ... 005-47.pdf
https://ics-web.sns.ornl.gov/timing/Rep ... 20Note.pdf
Euclidian Sequencer
-
- Attachments
-
-
euclide_0_5.zip (4.73 KiB)
- source
Downloaded 1247 times
-
Dear Igranie,
What s a huge project you posted here !!!
Could you post a video about possibilities of your euclidien sequencer.
Just a question , why do you not use PotMux library? Is it because of the 7 bits value conversion ?
I will add new function like : Pot.Read7bits() or 8bits or 10bits in the next PotMux library update.
I will make a review on the web site home page.
Really good job
Best regards,
e-licktronic
What s a huge project you posted here !!!
Could you post a video about possibilities of your euclidien sequencer.
Just a question , why do you not use PotMux library? Is it because of the 7 bits value conversion ?
I will add new function like : Pot.Read7bits() or 8bits or 10bits in the next PotMux library update.
I will make a review on the web site home page.
Really good job
Best regards,
e-licktronic
Best regards,
e-licktronic
e-licktronic
Hi,
And I'm looping only one time to read all pots. You're function loop on all pots anytime you read one pot.
Look at checkPotValues() and checkValuePotChange(byte *value, byte _value_pot, byte _precision, byte _plage)
Here's the version 0_6!
Changelog :
- uint8_t to byte to avoid out of memory
- add roll (euclidean algo)
- add accent (euclidean algo)
- update velo step by step (!play_pattern in PLAY ACCENT SCREEN) (maybe change step to pulse here to apply velo on pulse not step)
- 4 levels of velo (32, 64, 96, 127) visible on bitmap mode screen!
To come :
- Arpeggio
- anti bagotement (pot read => refresh screen)
Regards,
Laurent
Thx you, I spend hours on this. I'm going crazy :pe-licktronic wrote: What s a huge project you posted here !!!
I will... I attach some pictures to begin (you will understand BLACK_BUTTON, etc...)e-licktronic wrote: Could you post a video about possibilities of your euclidien sequencer.
No, I think it is because there was a problem on initialization with the lcd.e-licktronic wrote: Just a question , why do you not use PotMux library? Is it because of the 7 bits value conversion ?
And I'm looping only one time to read all pots. You're function loop on all pots anytime you read one pot.
Look at checkPotValues() and checkValuePotChange(byte *value, byte _value_pot, byte _precision, byte _plage)
Here's the version 0_6!
Changelog :
- uint8_t to byte to avoid out of memory
- add roll (euclidean algo)
- add accent (euclidean algo)
- update velo step by step (!play_pattern in PLAY ACCENT SCREEN) (maybe change step to pulse here to apply velo on pulse not step)
- 4 levels of velo (32, 64, 96, 127) visible on bitmap mode screen!
To come :
- Arpeggio
- anti bagotement (pot read => refresh screen)
Regards,
Laurent
- Attachments
-
-
IMG_20140911_133536.jpg (168.21 KiB)Pictures Viewed 22086 times
-
euclide_0_6.zip (6.51 KiB)
- Euclide-0_6
Downloaded 1267 times
-
Dear Laurent,
it looks like a great project, maybe we will add this one on the project section cause i m sure it will interest some Diyer. Only Cv and Gate are missing now, but this one of the next board we are preparing.
I still not try but as soon as i can i do it of course.
Great job
Best regards,
e-licktronic
it looks like a great project, maybe we will add this one on the project section cause i m sure it will interest some Diyer. Only Cv and Gate are missing now, but this one of the next board we are preparing.
I still not try but as soon as i can i do it of course.
Great job
Best regards,
e-licktronic
Best regards,
e-licktronic
e-licktronic
ATTENTION : I'm working on the 0_8 version and I found a lot of bugs :/ ATTENTION
Hello,
I will wait for faders to think to another project : a synth.
Here is the version 0.7 !!! \o/
http://laurent.granie.free.fr/euclide_s ... de_0_7.zip
Changelog :
I used this with Inkscape to generate a pdf and I send it to a website who printed it on plexiglass.
The final pdf is joint too.
Of course, you can add it to the corresponding board page.
http://laurent.granie.free.fr/euclide_s ... tronic.zip
Regards,
Laurent.
Hello,
Thank you. Of course, you can add this project to your website. I will be glad.e-licktronic wrote: it looks like a great project, maybe we will add this one on the project section cause i m sure it will interest some Diyer.
Yes of course! I've already cv/gated my monotron ^^e-licktronic wrote: Only Cv and Gate are missing now, but this one of the next board we are preparing.
I will wait for faders to think to another project : a synth.
Here is the version 0.7 !!! \o/
http://laurent.granie.free.fr/euclide_s ... de_0_7.zip
Changelog :
- Add Arpeggio :
- Choose between 11 scales (12 with MONO, ie. same note on every pulse)
- Determine the number (<8) of notes you want to be played. (if ==0, then default MONO scale)
- Play only up for now - Remove 4 levels of velo on every pulse (if pulse == nb_step == 32 on each inst => too much memory)
Keep default = 100 and accent = 127 - Use bitwise operation to store boolean (boolean is 8bits long and I store a lot of boolean ^^)
- Change 'array'[current_bank][current_inst] to 'array'[current_inst] (win 2Ko on compiled binary size)
- Arpeggio type : up, down, random...
- A version with only 4 knobs (not 16, more memory saved) :
- Use white buttons to change current_inst (no more bank)
- Use the knobs horizontally - Buffering next pulse (midi_velo, midi_note) to be ready to play as soon as possible
- Use EEPROM to store and restore current state
- Try another solution for antibagotement with knobs :/
I used this with Inkscape to generate a pdf and I send it to a website who printed it on plexiglass.
The final pdf is joint too.
Of course, you can add it to the corresponding board page.
http://laurent.granie.free.fr/euclide_s ... tronic.zip
Regards,
Laurent.
Hello e-licktronicers,
Here is the version 0.8 \o/
http://laurent.granie.free.fr/euclide_s ... de_0_8.zip
Changelog :
Laurent.
Here is the version 0.8 \o/
http://laurent.granie.free.fr/euclide_s ... de_0_8.zip
Changelog :
- Arpeggio use Euclid to compute the notes
- Arpeggio type : up, down, up/down, down/up...
- Only 8 knobs (not 16, more memory saved) :
- Use white buttons to change current_inst (no more bank)
- Use the knobs horizontally - Use EEPROM to store and restore current state. Each time you change inst, it is saved
- Another solution for antibagotement with knobs
- Follower : if A follows B, when B play an active step, A move one step
- Chords, Chords progression, ...
- Step resolution in POLY mode : 1/16, 1/8, 1/4, ... but keep the SOLO mode
- Buffering next pulse (midi_velo, midi_note) to be ready to play as soon as possible
Laurent.
Hi everyone,
Project is not dead.
Now he got is own page on github :
https://github.com/lgranie/euclidseq
and
https://github.com/lgranie/smoozpotmux
Regards,
Laurent.
Project is not dead.
Now he got is own page on github :
https://github.com/lgranie/euclidseq
and
https://github.com/lgranie/smoozpotmux
Regards,
Laurent.
An update is really necessary, but we can stille-licktronic wrote:Dear Igranie,
What s a huge project you posted here !!!
Could you post a video about possibilities of your euclidien sequencer.
Just a question , why do you not use PotMux library assurance obsèques ? Is it because of the 7 bits value conversion ?
I will add new function like : Pot.Read7bits() or 8bits or 10bits in the next PotMux library update.
I will make a review on the web site home page.
Really good job
Best regards,
e-licktronic