This project was inspired of idea of chaining Novation Circuit sessions using program change MIDI messages coming from the Retrokits RK002 smart MIDI cable.
Original idea was borrowed from this video of Joel Raedeke on facebook: https://www.facebook.com/541868830/videos/10157874187223831
Working instance can be found here: https://yuriizubkov.github.io/rk002-sequence-editor/
How it works with the Circuit:
You need to connect RK002 cable to your MIDI interface on PC as MIDI loopback. Yellow end goes to the input, black - to the output of the MIDI interface.
This editor should be used in conjunction with custom firmware installed on the RK002, that can be downloaded here
Without this editor you can only record program changes "actions" into sequencer of the RK002. This editor can add some additional sequencer actions, such as Loop Sessions and Jump to Actions. You can edit parameters of all actions in the sequence as well, or made the sequence from scratch and upload it to the RK002.
Simulator can be used to check your sequence before uploading to the RK002 device.
- Switch Session - switches the session to the session number and waits for the set number of beats for the next action
- Loop Sessions - switches sessions (32 beats each) sequentially up or down a specified number of times, then moves to the next action in the sequence
- Loop Actions - loops over the actions in the sequencer. Not implemented yet.
- Jump to Action - jumps to the action number in the sequence. Could be used for infinite loops in the sequencer in order to overcome limitation of 30 steps in the sequencer.
- Stop Sequence - explicit stop for the sequencer. You can set switch to empty session on the previous step and the Circuit will "play" empty session after this sequencer command.
We have 3 bits for the action type Id, so we have space for another 2 actions to be implemented. All zeros means empty slot.
Sequencer counting beats, not microsteps. We have 256 beats (1 byte) available for the counter in one action slot. Each session of the Circuit have length of 32 beats.
This is described in the repository for the RK002 custom firmware
- Rearranging of the actions is not implemented yet. Can be easily implemented with Drag and Drop between action slots.
- Not working on mobile devices yet. Need to add support for the touch events.
- There is almost no logic checks for the sequence. For example you can jump on jump action that point on first jump action, and you will get infinite loop and it'll freeze the device :)
- Ability to remove unused gaps between actions should be implemented, for easier editing experience.
- No information about progress of reading/writing the sequence
You can fork, use, modify this project as you wish.
Keep in mind that RK002lib.js belongs to Retrokits. I am not the author of this lib. So all credits goes to guys from Retrokits.com
npm install
npm run serve
npm run build
npm run lint