Code Monkey home page Code Monkey logo

quence's Introduction

Q * U * E * N * C * E

spunoza's QUENCE, now updated for norns 2.0 + output to markeats' molly_the_poly

a probababilistic 4-track sequencer for norns and grid with outputs for MIDI, Crow, and Molly the Poly

by Rob Schoen (millxing at gmail)

inspired by Turing Machine, Fugue Machine, and Physical (Norns Study 4)

updated for norns 2.0 + molly_the_poly output by _ground_state_

updated for crow by justmat

tutorial video

grid usage

settings page

<#Settings page#>

track page

<#Track page#>

random tips:

There are 5 pages in total, a settings page and 4 track pages.

After launching the script, the track page for Track One will be visible and the sequencer will be paused.

The bottom row is always the toolbar: pause, mutes for tracks 1-4, lock all, clear all, select tracks 1-4, and settings page.

The LED in the bottom right corner toggles between the current track page and the settings page.

The LED in the bottom left corner toggles the sequencer pause.

On the settings page, the eight buttons in rows 5-6, cols 13-16 are currently unassigned.

For now, pressing any of these LEDs will re-sync all sequences.

Hold Key 3 on the Norns to see the midi notes in the sequence for the current track.

contributing guidlines

Note '.lua-format.cfg' and '.luacheckrc' in the root of this repo. We recommend that you please make use of them as configurations for luaformatter and lua-check, respectively, and run these two tools over any pull requests you might make.

quence's People

Contributors

ben-alkov avatar millxing avatar tildebyte avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tildebyte justmat

quence's Issues

minor midi topics

midi_device.event = function(data)
local d = midi.to_msg(data)
if d.type == 'note_on' then
transpose = d.note - 60
end
end

I don't think we need this section anymore (Actually I don't think we ever did). It looks for a root note as midi input and then transposes everything accordingly.

I know you suggested adding a separate device for each track. I'm not sure I know that would work yet. And currently the MIDI channel is just assigned by track number (e.g. Track 1 = Channel 1, Track 2 = Channel 2, etc.). So until we implement something more complicated, should we comment out midi out device and midi out channel from the parameter menu? Right now, they don't do anything.

Resetting a session

R8C9 currently clears all tracks of notes. I think that button should reset the playheads back to zero (start) and also reset the playhead directions all back to forward. Essentially resetting everything back to default.

[feat] Let's do "fugue machine" #2: Display all tracks at once

Second of some ideas to give us a UX a little more like FM.

As $subject, e.g. pressing and holding key 2 causes the grid to use all eight rows to display all four tracks as they appear on their individual pages.

Alternately (or maybe stretch goal? ;p), assign a grid key toggle and make this a new page, i.e. sequences are playable/editable the same as on their own individual pages.

[feat] Save pattern data

I know that we're in that realm of "happy accident", and we have MIDI out to capture sequences in case something really nice pops out, but it'd be kind of cool to be able to save and load the whole "deck" as a preset.

transposition improvement

I really like to use the scalar transposition feature, but one thing that bugs me is when you transpose above/below the limits of the scale vector, it loops around and shits the note to the bottom/top of the scale. This sounds bad (I think), but the nice thing is that it preserves the shape of the sequence. It sounds better to just limit the sequence to the bottom or top of the scale, but then you lose the relative positioning of the notes within the scale.

modulation of parameters

I set up 4 different sounds in VCV Rack sequenced by 4 MIDI channels coming from Quence. I was just listening to these sequences slowly evolve (randomness parameters = 3-5) and started thinking it would be cool if the Randomness and RestFrequency parameter slowly modulated themselves. Either from some internal LFO or random source, or from some external source like RACK or Ableton.

[feat] Output to crow

NOT IT ๐Ÿ˜

I don't have a crow, so I won't be implementing this, but I can't think of why this wouldn't be a good idea and reasonably straightforward to implement.

Crow Just Friends mode bug

As it stands currently, choosing or even just scrolling past the crow jf output option will put JF into Synthesis mode. The problem is that it never leaves synthesis mode. So a users JF module will be stuck in Synth mode until a power cycle.

I've had a couple drinks, so I'm not going to fix tonight :) My thoughts at the moment are to change setup_jf() to something like...

if track1 or track2 or track3 or track4 are outputting to "crow jf" then
    jf mode = 1
    crow pullup = true
else
    jf mode = 0
    crow pullup = false
end

(pseudo code obvs :) )

putting this here to make sure I remember to fix it tomorrow :)

Sync all tracks led

The block of leds on the settings page (R5-C6, C13-C16) currently sync all tracks by setting all the playheads back to zero (start). I think we should formally define which button does this and add it to the instruction graphics. What other functions could we add to this block of less?

help guide

While I have completely failed to figure out how to use Cheat Codes (despite reading the manual and watching a couple of videos), I do really like the help mode it uses.

When in help mode, pressing a led indicates on the screen what the function of the led is. I think we could implement something like this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.