Reanimating and Improving Iverson Jr. - Launchpad Sequencer

Hey you lovely Developers,

since Studio6+1 has and will not port his hardware-controlled Sequencers Iverson and Iverson Jr. to V2 - I hope that someone wants to pick up on this idea and shows interest in my following proposal for a novation launchpad controlled sequencer for VCV 2.

This will not be a simple port of Iverson Jr. - more like a “Take the basic idea of Iverson and extend its features massively.”

The basic concept of all models of the current novation launchpads (mini mk3, pro mk3 and X) is that there is a programmer mode, where all buttons represents a midi-message (notes for the 8x8 grid and CC for the outer function keys) and that they can all be lit by sending note-on/off values to them with different velocity-values for different colors.

Where do I want to go with this?

  • 8-Track polyphonic sequencer with individual track-length up to 64 steps, and note, velocity, probability and gate-length per step.
  • “Overview”-Mode with auto-follow where each lane represents a track
  • “Track Edit”-Mode with a direct representation of all 64 Steps of a selected track
  • “Step Parameter Edit”-Mode with quick access to gate-length, velocity, probability, timing, flams…
  • “CV-Step Edit”-Mode with 8 channels of unipolar CV per Step.
  • “Step Note Edit”-Mode with an 8x8 chromatic grid (maybe with highlighting notes of a selected scale) for polyphonic sequencing.
  • Copy-Paste of Steps, Tracks, Sequences, Scenes…
  • 8 Sequences per track
  • 16 Scenes - each representing a combination of the sequences - with auto-queue in a live-context.
  • “Live Recording / Overdub”-Mode

The goal is to design the UI in a way, that all functions which are for programming and editing the tracks are in the right and top function-button column/row (available on all launchpads), while organizing functions and sequence/scenes are on the left and bottom function-buttons (available on the pro mkIII). All Buttons should be present in the module-design as well, so that you could use the sequencer without a launchpad or with a different grid-controller (midi-mapping should be possible).

  • I will provide all the requirements (open to suggestions of course) and the layout of the module. I am able to test it, write a manual and create tutorial videos.
  • I need a developer who is interested in building a fairly advanced open source sequencer with a lot of functionality, a grid-based UI and integrated midi.
  • I will be sponsoring a new launchpad mini mkIII and send it to you (in europe) or will donate to you the current €-Value (99,-) in the moment a working prototype (Overview, Track Edit, Midi-Integration and basic sequencing) is ready.
  • In addition I will personally motivate every launchpad-user out there to donate to you. Why every launchpad-user you may ask? The Launchpad has already a built-in sequencer! But it’s 4 Tracks, maximum 32 steps, lacks usability and has a lot to improve. And with the new module you could theoretically setup VCV, insert the module and a few CV-MIDI Modules and route all the sequencing out of the secondary midi-ports of the launchpads…

Enough Babbling, here are my initial mockups of the first modes and features. Icons, Name, Layout, Colors subject to change.

Overview Mode with UI-Explanation:

We are in auto-follow in the overview mode. Each lane of the 8x8-Grid represents a Track. Track numbers are in the right column. The white running lights in the 8x8 Grid represent the current sequence position in conjunction with the lit track-number - we are currently on step 13 (5th step of 2nd 8-step “bar”).

On the left are the Inputs:

  • Clock is high resolution (24ppq or maybe 48ppq) to allow flams, rolls and timing deviations on a step.
  • Sync. is a low resolution (think every bar or every 8 bars) clock input to sync the run-trigger to an external song structure.
  • Reset: Yes
  • Run: External arming for start and stop, sequencer will run, when next sync-trigger is received.

On the right are the outputs:

  • Polyphonic (depending on track setting) V/Oct, Gate/Trigger and Velocity Outputs.
  • Polyphonic CV-Output for the 8 Channels of CV per Track, which can be sequenced per Step.

Lower Function Rows:

  • Scene Selection with Auto-Queue when Sequencer is running.

Left Function Column (top to bottom):

  • Transpose up/down
  • Mute
  • Internal RUN
  • CV-Edit
  • Sequence Selection (changes a Sequence of one of the tracks without changing the active scene)
  • Scene
  • Home (takes you back to the Overview Mode with active Auto-Follow)

Top Function Row:

  • Decrease/Increase depending on mode
  • Arm (activates the chromatic note display in the 8x8 grid to play the selected track live)
  • Record with toggle for 4 different modes (Last selected mode will be activated next time Record is selected):
  1. Record unquantized (overwrites current track content, quantized to selectable time shifts per step)
  2. Record quantized (overwrites current track content, quantized to steps)
  3. Overdub unquantized
  4. Overdub quantized
  • Copy: Copies the step, track, sequence or scene that is selected after copy is activated.
  • Paste: Pastes the copied content to the next selected step, track, sequence or scene
  • Settings: Activates the Setting-Page of the step or track (depending if a step or a track button is activated after that)
  • Notes: Activates the 8x8 chromatic grid for the step which is selected after activation.

Overview-Mode without autofollow:

We hit a decrease/increase button (top left), which deactivated auto-follow. While the sequence is playing back the second 8-step-bar (indicated with yellow track), we are looking and editing the 6th 8-step-bar (indicated by green track number).

Track Edit Mode:

To enter Track Edit Mode we simply selected a track number in the right column. The Grid will now represent all 64 steps of the current track which can be toggled. Alternatively we can edit a step by selecting “settings” in the top right and selecting an active step, which will lead to the…

Step Setting Edit Mode:

  • The first two rows are Gate length with usable values between Trigger and 16steps.
  • the second two rows are velocity
  • the third two rows are probability
  • the 7th row is timing with usable values between on-point (no pad selected), early and late.
  • the 8th row is flam/roll/ratchet with usable values between nothing (no pad selected), rolls in front or after the main trigger.

If you hit the Note-Button (top-right) while in Track Edit Mode and selected a step, you would have entered the…

Step Note Edit Mode:

This is a chromatic representation of the step. Root is violet, notes from the selected scale (menu option) are blue and active notes for that step are green. The settings (Gate, Velocity, etc.) will be valid for all selected notes.


That’s it for a sneak preview of my initial ideas. Let me hear if you think this is a feasible and an interesting idea for a fully featured hardware-controlled sequencer in VCV.

Thanks for reading,

  • mo
6 Likes

That sounds supper cool. I’d be interested in developing it if no one else is. I’m currently working on a module with @aetrion-music but that done here within a few weeks.

2 Likes

After reading though your description again I’ve got a few small questions:

  1. Instead of PPQ, you could have a clock multiplier built in. That would work assuming the clock is steady.
  2. In step setting edit mode, for rows 7 and 8, how do you get back to no pad selected? Maybe tapping the selected pad again?
  3. Since this is ment to be a midi controller, should selecting the scale be doable from the launchpad itself (without the contextual menu)
1 Like

Thanks for your interest!

Regarding your questions:

  1. Would that work even on the very first clock impulse reveived? I always thought that for multiplication you need at least two triggers to determine the multiplied clock.
  2. Yes, exactly. Since the launchpad is only representing an internally stored value (in VCV) we would have a lot of possible ways to indicate those values. 8 Pads does not mean we are limited to 8 values. In theory a row of 8 pads could be seen as a binary 8bit storage, so 256 values - but that would be not a user-friendly solution and would involve shift-clicking on the module itself and learning all the possible values. But there should be an option to deactivate different settings by toggling an activated pad. That seems to be intuitive and can be used on the module too.
  3. Yes, that would work too. I am thinking about a global settings-page (in context of a “preset”, which represents all scenes, sequences and tracks), maybe hitting the setting and home pad could bring up such a menu. The launchpad in standalone-mode has a menu-option where you can select the root note and one of 16 scales. Maybe we could adapt that. But there should be a way to differ from the global setting per sequence… I have to think about it, but that’s already great input!

I will continue with the requirements and will post a few more updates to this over the weekend. I would love to have feedback from our community before we start with the actual work on this, so if this takes a while that’s totally fine for me.

  • mo

You are correct and PPQ fixes that. I think it might be worth asking how often that matters though. Like how often is the first note going to be a roll? Or for my workflow I usually hook the clock up first then start playing and by the time I’m playing we are past the first clock. But I haven’t used a launch pad before so maybe there are more common use cases where it matters. Anyways all details we could talk through down the road.

1 Like

In addition to what you have allready written, I would love to see:

  1. Jump functionality - seen on Doepfer dark time. " If two or more of the switches are in the Jump position the sequence jumps to the next step with the switch in the Jump position and then continues from this position (until another step with the switch in the Jump position is reached and then the same procedure is carried out again)"

  2. Tempo setting for each step. Seen on PPG system 300 from 1976. The PPG 300 brochure is linked on this page.

  3. Built-in OSC control.

  4. Work with Ableton Push 2 in addition to Novation Launchpads - layout

1 Like

Thanks for your ideas.

  1. Jump functionality looks funny, I think that is possible with NYSTHIs programmer, right? This could be a performance function for Track Edit Mode. You press down two or more pads and - when jump mode is activated - the sequence will jump from one to the next. Or do you mean as a toggle in the step edit mode?
  2. I thought about integrating a clock, but I think in the context of VCV clock should always be external - so clock/tempo differences between steps could be sequenced outside of this module. But I am now thinking about a polyphonic clock input, so that each track could have a different tempo…
  3. Do you mean that the module is controlled via OSC instead of Midi or that it sends out OSC somehow?
  4. Push 2 should be possible right from start. I want to implement mapping presets, so that everyone could share their midi-mappings for it - depending on which device is used.
  1. I don’t own the Doepfer Dark time - I can’t say where it should be in an “Improved Iversion”. It’s a performance feature for sure. Doepfer Dark Time Quadruple Parallel Sequencer Session - YouTube The NYSTHI programmer module lets you skip steps, in either forward or backward direction, by toggling their led to grey, but I don’t think it can jump.

  2. perhaps the ability to set how many ticks of an external clock should be received, before advancing the sequence.

  3. Atleast be “nice”, and let all functions be mappable by ex. trowasoft cvOSCcv. Considering trowasoft has not made cvOSCcv available for Rack v2, Perhaps it’s better to build in OSC comms in the sequencer in addition to MIDI control of the module and OSC/MIDI out to change the LEDs of the controller. The module should still output V/Oct / CV + gate to other vcv modules.

  4. I’m thinking about the two columns of buttons next to the 8x8 matrix - Push2 only has one column of buttons next to the matrix. Perhaps it’s mappable using some clever modifier use.

I support OSC Integration, but in the end it will depend on who will program this module. Since Trowasofts cvOSCcv is open source, maybe we can work something out.

I think the Layout of Push 2 is actually really good and comparable to the launchpad. A few things are upside-down, but i would use the 16 buttons around the display for the Scene Selection, the column right of the grid for track selection and map all the other buttons to corresponding functions, most labels are available on the push.

I loved Iverson even though I never had a launchpad, the nice grid interface and the easy Euclidean generator made it one of my favorite sequencers. Thanks for picking it up :slight_smile:

1 Like

Just a quick note that this idea is still relevant and I am writing the requirement document whenever I find the time for it. A little Kitchen-Renovation-Project is holding me up at the moment…

3 Likes

Following with great interest. Love to see ideas that integrate VCV with hardware control.

1 Like

Also, would it be at all possible to design it with the ability to integrate with other controllers? Maybe the ability to use a generic 16 pad controller and page buttons? Just a thought, IDK how plausible that would be.

Abolutely, midi-mapping different controllers was a key-feature of Iverson and should be present in the new module. I think the layout of the launchpads is really good, so I took that as a starting point for the User Interface of the module (and because I own one) - but every type of Grid-Controller should be mappable.

Again, sorry for the delay in writing the requirements, but my “little” kitchen-renovation is taking all my free time at the moment. I guess I will continue with this idea here in about two weeks.

2 Likes

Kitchens definitely do that : /

Has there been any movement on this sweet little project? Any way that non-programmers can help move the project forward?

1 Like

Yes, I started with the requirements document on sunday and will continue to work on it over the next weekend.

5 Likes

Quick update: This is taking longer then expected, but the (brain-)work that goes into writing down all the requirements is a lot and I have underestimated that… I only find the time to think and write (in english - not my native language) uninterrupted for two or three hours on the weekends at the moment. Sorry for that.

I mostly finished the Page Hierarchy (the different views represented by the grid) - but those pages are not fully described yet. The Navigation (what to press to get where) comes with the Hierarchy.

I defined the goals and the scope for a Version 1.0 - and I think this was an important step for me to stop thinking about all the little shenanigans and start to work more on the basics:

  • Launchdeck (LD) should be a Bread-and-Butter-Sequencer for the musician who wants to sequence tracks in a traditional way and organize them in a song-structure.
  • LD should work with the majority of grid-style hardware controllers, providing a flexible midi-mapping-setup.
  • The target for version 1.0 of LD is to provide a stable sequencer with all the basic functionality of classic hardware sequencers.
  • To prevent feature creep and to assist in reaching the above goals for version 1.0, I will exclude things like Euclidean rhythms, microtonal scales, OSC-Integration or randomization of different parameters. This doesn’t mean that they won’t be included in a later version.

I’ll keep you updated.

4 Likes

Fantastic idea man. Thanks for putting your time into this.

2 Likes

Yeah this is looking great! - hopefully it will work with Push2. Thanks!

1 Like