Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.3 #17

Merged
merged 4 commits into from
Apr 5, 2024
Merged

1.3 #17

merged 4 commits into from
Apr 5, 2024

Conversation

dstroud
Copy link
Owner

@dstroud dstroud commented Apr 5, 2024

Features

  • Nota Bene (NB) voice support. MIDI and Crow are supported by default and additional voices can be installed via the following Maiden commands. See the NB topic on Lines for details.

    Soft synths:

    ;install https://github.com/sixolet/doubledecker 2-layer synth a la CS-80

    ;install https://github.com/sixolet/emplaitress Polyphonic MI Plaits

    ;install https://github.com/dstroud/nb_polyperc Norns PolyPerc

    ;install https://github.com/entzmingerc/nb_rudiments Rudiments percussion

    i2c devices:

    ;install https://github.com/sixolet/nb_wsyn Whimsical Raps W/synth

    ;install https://github.com/sixolet/nb_jf Whimsical Raps Just Friends

    ;install https://github.com/sixolet/nb_ex Expert Sleepers Disting EX

    ;install https://github.com/sixolet/nb_ansible Monome Ansible

  • Swing settings for Chord, Seq, CV harmonizer, and Crow clock out.

  • Seq ‘Accent’ param applies a positive or negative dynamics offset to swing steps.

  • "Step" duration setting adjusts note duration to always match the step length (Chord and Seq) or Trigger division (CV harmonizer).

  • Pressing a Grid pattern key when transport is stopped will play that chord or note.

  • Chromatic mapping option added to Notes parameter.

  • The SONG menu now has settings for configuring Crow's outputs which will result in various CV or CV/Env pair options appearing in Voice parameters. All outs can send CV, Env, and Events while out 4 can send also send a Clock pulse when transport is running.

  • Crow events event category has been created with subcategories for outputs 1-4. There's also a new event "5v 8-steps" event for driving a sequential switch (i.e. Vice Virga) that maybe works with similar devices (0.31v, 0.94v, 1.56v, 2.19v, 2.81v, 3.44v, 4.06v, 4.69v).

Changes and FYI

  • Requires Norns 240221

  • An event category is created for each NB voice at script launch, allowing script control over each voice's sound. Event verification occurs on .pset load. WARNING: if a pset is loaded that includes events for a NB voice mod that has since been disabled, those events will be deleted.

  • Events now respect controlspec/taper parameter mappings. E.g. Increment/Wander will result in the same values as if performing a parameter change via encoders.

  • Chord preload setting is disabled. I’m not sure how necessary this feature was (it was intended to allow jamming on a keyboard into the MIDI/CV harmonizers, even if the notes were hit a little before the chord change). I never really used it and it’s a bit complicated to implement with Lattice so I’m just turning it off for now. LMK if you need this and I can look into bringing it back.

  • MIDI device names may be shortened to fit (acronym-based) and will appear alphabetically as if they have an invisible prefix of "MIDI". The numbers at the end are port.instance where port is the assigned MIDI port in system>>devices and instance is the number of instances of the NB voice (default 1).

  • Chord division change events will now occur before the chord plays rather than on the next step.

  • Important transport changes (depending on clock source):

    • Internal clock source (preferred)

      • Pressing K2 will immediately pause Dreamsequence and send a stop message out to synced devices.
      • New MIDI CLOCK OUT settings are available for each MIDI clock port via K3>>PARAMETERS>>EDIT>>PREFERENCES and determine behavior when continuing after pausing.
        • The “song” option will send out MIDI Song Position Pointer (SPP) and ‘continue’ messages which should work well for things like DAWs.
        • The “pattern” setting will cause Dreamsequence to continue playback and then send a ’start’ message at the beginning of the next measure. This works well for devices that don’t support SPP: drum machines, loopers, Ableton live’s “Session” view, etc…
        • In order for pattern mode to work as expected, you must set a time signature via SONG>>Beats per bar/Beat length (time signature numerator and denominator). Changing the time signature requires a stop and restart, I think.
    • Link clock source (limited support)

      • The good news: the issue with starting Link from Norns is addressed in update 240221!
      • The bad news: the way the Link issue is being addressed prevents pause/continue from working at all. I’ve raised an issue about this and hopefully a solution can be found. For now, K2 or a stop message from a synced device will result in a full stop.
    • MIDI clock source

      • K2/K3 are disabled.
      • No pause/continue (full stop/start only).
    • Crow clock source (not supported)

Known issues

  • At the end of a 1-shot arrangement, a MIDI/Link stop message is sent. This technically occurs at the start of the next measure which may cause synced devices to stop late (Link in particular as there's no latency compensation).
  • Live time signature changes probably will break something.

@dstroud dstroud merged commit fd3e5e5 into main Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant