Mosaic

Welcome to Mosaic, a powerful rhythm- and harmony-focused sequencer designed to unify control over your entire studio. It combines the advanced features of Elektron sequencers with generative and modular techniques, enabling you to craft complex rhythms and harmonies effortlessly. Whether you’re sketching ideas or composing full tracks, Mosaic offers a deep and unique musical experience.

Documentation

  • The manual is the best place to understand Mosaic’s features and operation.
  • The cheat sheet is a handy reference for common functions and user interface hints.
  • See the change log for details on what’s new in the latest version.

Install

Install using the community catalogue or via maiden:

;install https://github.com/subvertnormality/mosaic

Note: please remove alpha or beta versions of Mosaic if installed, including the data/mosaic

Requirements

Key features

  • 16 track sequencer with parameter locks
  • Live midi recorder and looper with undo and redo history
  • Create complex rhythms using a variety of drum presets and pattern creation algorithms
  • Combine patterns together in interesting and musical ways using the merge modes
  • Change the length, start, and endpoint on a per channel basis to create endless combinations of polyrhythms
  • Introduce off-grid timings globally or on a per track basis using swing and shuffle modes
  • Create complex chord progressions using the scale editor and scale locks
  • Create an entire song from your patterns and progressions using the comprehensive song mode

Plays well with

  • Midi interface
  • Midi instruments, particularly Elektron Digitakt 2, Digitone, Syntakt, MidiSID, and Nord Drum 2 using included config files, but other midi devices can be controlled using the generic CC device or can be fully supported by creating device specific configuration using the configuration creator.
  • Crow, Just Friends, Ansible
  • n.b.
  • Midi keyboards
  • Intech studio EN16

Found a bug? Please DM me!

77 Likes

This is very impressive, both in terms of features and documentation! I’ll try to immerse myself in this script next week, seems like a good fit for my process.

3 Likes

well done !
so much features
and the configuration creator is very helpful
I’m diving in

1 Like

Looks great, I’m going to dive into the menu and play around.

Meta point: this would benefit from having the library tag, so people looking for scripts can find it.

1 Like

mod edit: flipped the category to Library!

4 Likes

So, on the date that the very cool, but exceptionally priced, OP-XY is announced, I realized that this script would be a fantastic replacement.

I then realized, “huh, this would be awesome running directly on my computer, without concerns of if I brought my Norns or not”

So, I have now started conceptualizing a port of this to Seamstress, for tighter DAW integration.

Let’s see if that idea gets off the ground at all. Hah!

8 Likes

It’s certainly a gas killer for me. Unfortunately now I have SAS. Scope acquisition syndrome. Next up: live recording of masks with full undo history, essentially letting you use Mosaic as a midi looper. Note data should be reasonably straight forward, with some limitations. CCs (or rather, trig locks) will be more challenging. Smooth CC recording doesn’t really fit the model. Recording trig locks in should be possible. Some sort of interpolation (trig slides in elektron terminology) would be a decent compromise. Either way, I’ll aim to release mask recording and trig lock recording as separate feature additions. No promises on timelines though.

11 Likes

No need for timeline promises, friend. I haven’t had a chance to dig in all that deep yet. But I do believe it’ll save me from my current interest in the shiny XY.

If you wanna kick around design ideas, please DM me! I’m all about conceptual design convos.

EDIT: I’ve now been able to spend time with the video manual and get about half way through the tutorial. I wanted to say, @Byzero what you have built here is nothing short of astounding. I think this is the quantized sequencer I’ve always wanted from my Norns/grid. Thanks for building this amazing tool.

4 Likes

1.0.1

Fixed issue where default midi device assignments were referencing the wrong IDs causing unexpected behaviour in certain combinations.

5 Likes

1.0.2

Fixed regression that stopped stock params from working.

5 Likes

@Byzero I finally got some time to finish up the video overview for mosaic and am pretty enamored by the sequencer.

I have a few thoughts of functionality/features I’d be excited to see, but I mention these just because I love what you built and can tell I will be spending much more time with the sequencer!

A few things I’d be curious about in the future would be:

  1. is there a chance later to somehow increase the number of programmable patterns to be greater than 16? I assume the choice was made for ease of UI since I’m not even sure how you’d organize that idea, but I’d love to have more space as I feel like I can easily eat up a bunch of channels for different percussion tracks.

  2. is there any interest in expanding on the internal sequencer mods a bit? They’re fantastic. The chord strum timing has been especially satisfying!

  3. any interest in or chance in adding an effects/modulation sequencing page that can be outright dedicated to that? For example, when connected to my daw, I’d love to have a set channel or set of channels that would specifically be targeted at just CC messages to my effects pages and such. This would allow me greater freedom is assigning mod pages, and using patterns, as i wouldn’t want to mix those in with my actual note and trig patterns.

  4. id be curious about more semi random tools similar to step components on the OP-Z (and I believe the XY?) things like ratchets with velocity curves, and things of the like.

Obviously, I would be thrilled with this sequencer staying exactly as it is. This thing is absolutely phenomenal! These are just some initial musings on ideas I’d be over the moon to see folded in!

Thanks again for this amazing tool!

3 Likes

Thank you for the kind words and for the great suggestions. The main constraints I’m operating under are:

  • UI limitations. Some things wont fit whilst remaining logical and intelligible
  • Performance constraints. It’s not super clear right now what the performance limits of the sequencer are. I know that Norns reaches a breaking point fairly quickly with n.b. devices. It’s not clear how far the sequencer with mainly midi devices can be pushed without performance becoming a problem. However, I suspect utilising all 16 channels at once with many trig locks and other features could already be enough to cause slow down.
  • Time. I absolutely love adding features and coding but my music output has stopped. I don’t code in my day job any more and it’s a real outlet for me… but at some point I need to draw the line and use the thing to make some music!

Having said all that, your suggestions are great - some are workable, some hitting against the limitations above.

  1. Increasing the number of patterns beyond 16. I think we’ll need to call this one a creative limitation for UX and performance reasons.
  2. More sequencer mods! Yes, absolutely - the idea was to add more over time. The ultimate GAS buster. See a feature in another sequencer? Don’t buy yet another tool… just implement it!
  3. Dedicated mod page. This would be doable, but would take time. Again, for now, we’ll need to chalk this one down to a creative limitation for now, but I’m not ruling it for the future. You could use channels to fulfil this purpose of course - no patterns would be taken up.
  4. Semi random tools/step components. I haven’t tried the OP-Z or XY, so I’m not sure what these features do. Would you see these working like a sequencer mod? For what it’s worth, ratchets with changing velocities are possible using the arpeggio chord mod and velocity chord mods together.

I’m just now testing live record/looping with undo/redo history and param slides. Now you can live record note masks over your rhythms and harmonies, scroll to undo, record again, loop, and repeat. You can also live record param locks and have them smoothly interpolate using slides.

3 Likes

I absolutely understand and appreciate each of your current limitations and applauding your ability to recognize them.

Truth be told, there’s already SO MUCH here and it shouldn’t be a problem to make the most of what’s here. Truly.

If you have ideas or want to test some stuff, feel free to let me know. Always happy to brainstorm.

1 Like

1.1.0

Major New Features

Live Recorder and Looper

  • The second button in the global menu now arms recording.
  • Note masks can be live-recorded into the selected channel using a MIDI keyboard.
  • Trig locks can be live-recorded into the selected channel using the Norns encoders.
  • Trig locks affect steps with active trigs or, if Trigless Locks is enabled, record into empty steps.

Memory

  • Masks and trig lock actions are now remembered, allowing for undo and redo functionality.
  • Memory history can be traversed on a per-channel basis while the sequencer is playing.

Param Slides

  • Trig locks with Param Slide activated will smoothly transition to the next trig lock’s value.
  • Param slides can be applied either per trig parameter or across an entire channel.
  • Param slides can wrap within the same song pattern if the Param Slide Wrapping setting is enabled.

MIDI Controller Mapping

  • Trig params, masks and channel memory are now able to be mapped to MIDI controllers using the Norns MIDI Map function.

QOL Improvements

  • Only mask locks blink on the grid sequencer when the mask lock page is active on the Norns screen.
  • Only trig locks blink on the grid sequencer when the trig lock page is active on the Norns screen.
  • Mask locks and trig locks blink on the grid sequencer when on the record screen on the Norns screen.
  • All locks blink when on any other channel editor norns screen.
  • K1 is now used to hold shift functions rather than K3, for better UX consistency. K3 is now generally used to confirm/select. K2 is generally used to cancel/delete.

Video overview

1.1.1

  • Performance improvements to param slides . It’s now possible to use more global param slides with trigless locks enabled without experiencing lag, although moderation is still recommended.
13 Likes

just passing by to say that i love Mosaïc . _

2 Likes

1.1.2

  • Masks, Arps, and Chords now follow the root note after random note shifts have been applied.
6 Likes

Hi @Byzero , wow wow and again wow! What a top sequencer this is becoming! really great man👌🏻.
it really has almost everything I look for in a sequencer, my compliments for your hard work! :+1:t2:

I had a Squarp Hapax sequencer and there you could use track 16 as a transpose track for your other Melody tracks, the Hermod+ also has that.
That was the reason I bought it, that’s really cool🤗
Is it possible that you could also do something like this in the Mosaic? that would be really cool!

Thank you for the Mosaic and your hard work.

cheers,

1 Like

Hi @Rayafter thanks for checking out Mosaic! As of now it’s possible to transpose and modulate the scale of notes that come through from patterns using the scale editor. Scales can be sequenced and trig locked for endless combinations of scale modulations. These pattern notes will follow the transposition and degree settings of the currently selected scale, as well as being quantised into that scale.

Notes that are added using masks - those that are either entered manually in the channel page or live recorded - are not affected by scale transposition or degree settings but they are quantised to the currently selected scale.

The idea is to have chord progressions that are set using scale locks allowing you to play the melody on top live.

Are you asking if masks could also be modulated by the currently selected scale’s transposition and degree settings? This could be possible - it could be enabled with a setting or something - but it will make live playing very confusing. Your keyboard input would jump around unexpectedly as your scales change, if that makes sense.

Thank you for your explanation :+1:t2:

Yes, of course you use the Sinfonion style chord progression sequencer, it works that way too, I forgot about that :sweat_smile:.
Except that you can’t play it live like on the Hapax and Oxi one.
But that’s not a problem at all, it could have just been a nice addition.

Interesting! I don’t own them but I’d love to see how they handle live input when the transposition is working in this way. If you have a video please share