monome notes - app for playing and displaying midi notes with a grid

  • monome notes is an app for playing midi notes on a grid device. it turns each key on the grid into a midi note which you can trigger by pressing the key, similar to a keyboard or drum pad. the app allows you to control the way the notes are laid out and displays information about the current note layout on the leds.

    it's kind of like a guitar fretboard, where you can change the tuning between strings, change the distance between frets and even snap it to play in a scale; all the while the fretboard can light up to show you whatever scale you select.

    you set the interval between each column and row in semitones (or scale degrees if snapped to scale), relative to the first note in the grid. the first note in the grid is set by the offset number. you can set a scale using the drop down menu, set the root note for this scale to start on and snap to the scale eliminating all non-diatonic notes from the grid.

    i've attached two images to this post, the first shows the default setup, it's kind of like a bass guitar fretboard with the interval between columns set to 1 semitone and the interval between rows set to a perfect fourth or five semitones. the second image shows an ableton push style setup, with the scale snapped to C Ionian (Major) a semitone between columns and three semitones between rows.

    here's a quick tester of what i've got so far, lots more stuff on the way and tidying up to be done in the code; chiefly presets and lighting up what notes are being played on the grid. currently designed for varibrightness monome grids, not sure if the leds will work on older models. requires max 6. hope you enjoy it.

  • Looking good james.

  • great approach! i hope it scales to all sizes?

  • This looks very useful.

  • ooh. looks nice.

  • I am not exactly sure if I understand the idea from the brief description, but am excited nevertheless ;-)
    p.

  • I've actually been working on something similar as I've been working through the max tutorials to put the theory into practice. It'll be useful to see how a more experienced max mind approaches the problems ;-)

  • looks great. i love monome midi apps.
    +1 for scalable support!

  • that looks interesting! keep us updated (but watch out for the stealth mountain: https://twitter.com/StealthMountain)

  • lol. stealth mountain! what an awesome twitter account.

  • best use of a twitter bot ever.

  • It looks great ! I can't wait to try it :)

  • good bump. any news to share?

  • just posted a first alpha tester version for download in the top post. the basic functionality is there but plenty of good stuff to be added, presets for starters. i've attached two images displaying basic setups, one a bit like a bass guitar fretboard, one like the ableton push.

    sorry i've been away for a while, haven't had any time for monome projects recently. here's a couple of the things i've been busy with if anyone's interested:

    https://soundcloud.com/myr/kursa-myr-simulacra-demo-v2

  • @myr
    I dig that BW stuff...!! looks it's shot like a modded GH2...?

    Cheers

    Paul

  • oh cool. nice one myr. must check this oot

  • hey, so when i try to connect, the serialosc bpatcher says /mlr for the prefix. i'm assuming thats why there's no response. anything i can do to get this working?

  • updated the top post with a v2 download that should fix it.

    sorry about that, just chucked the latest version of serialosc.maxpat in there quickly, normally use my own serialosc bits. didn't realise you still needed to set the prefix. but yes the app needs the monome device to have a prefix of /monome, which the app should now set the monome to automatically.

    you can always use my app Monome Home, to change the prefix, ports, rotation etc. of any connected monome device.

  • thanks for the quick fix!

  • works for me! seems really nice. great work.

    root notes aren't very 'defined' on my 2011 grid lighting though. not a big issue.

    if you do consider these units, they only have 3 usuable brightness levels really.

    0 == off.
    1-3 == 3.
    4-7 == 7.
    8-11 == 11.
    12-15 == 15.

  • in case anyone hasn't seen this, here's christopher willit's take on the push. worth checking out.

  • ^^^
    thx for posting...!
    ...but now I'm really really really bleeding (again) for one of those Moog guitars. I had really managed to talk me out of that trip when they came out and now all of a sudden you come up with this vid...
    :-|

    P.

  • yeah i'm really enjoying the melodic functionality. haven't really used it much snapped to a scale though, mainly use it chromatic as I'm a recovering bass guitar player and find the shapes very familiar!

  • yeah I lost a few hours with this last night. really great work dood. kudos.

  • Very nice. I've been trying and failing to build something similar, so I hope these comments don't sound too critical. You're a lot further than I got!


    * The triangles shown in that video (which really is a defining quality of the "push style" melodic interface) rely on the snapped values to move up by fourths in each row, where right now they move in sixths. Is that configurable?

    (That may in fact be for the best, as Push's ergonomics are very different from that of the monome. But, moving from one to the other is a bit jarring.)


    * Backwards compatibility... If you don't have per-led variable brightness, you don't have any LED feedback at all. Granted, mono brightness would be extremely limiting here. But not as limiting as zero feedback.


    * Setting a width of 16 for my 128 doesn't work yet. (the buttons are active, but every column in rows 8-16 is identical to each other)

  • hey myr, would you mind just zipping the files normally - it looks like i need the full version of max to unpack a maxzip and i'd like to try this out. thanks.

  • @ gtz

    cheers! no worries, will be improving the code and adding some comments when i get a few more important features finished. hopefully will make it easy to understand and borrow bits from for other patches. also will be adding hints to the user interface and explaining it a bit better, heh.

    you can change the interval between rows and columns in the Settings section by typing a list of numbers into the Interval boxes for either the X (columns) or Y (rows) axis.

    when you are snapped to a scale the Interval and Offset controls work in scale degrees. when you are not snapped to scale they work in semitones.

    so, to get a "push style" setup when you are snapped to a scale you need to set the Interval list to "0 3 6 9 12 15 18 21". when not snapped to scale you get the push's chromatic mode by setting it to "0 5 10 15 20 25 30 35".

    when changing the width or height of the note grid you also need to change the Interval list to reflect the new number of columns or rows. so to use it with a 16 x 8 grid you need to set the X (columns) Interval list to "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15"

    Presets will make setting these things up a lot quicker, and I'll provide a set of default presets which set it up for "push style", chromatic and various grid sizes.

    Backwards compatibility. I'm currently working on getting LEDs to light up at the highest brightness level when the notes are played on the grid, or optionally when midi notes are received from a midi input. So there'd be three brightness levels, low = diatonic, mid = root note, high = playing.

    I'm setting it up so you can turn on or off whether you want the scale or the playing notes displayed independently. i'll try to make it so non-varibright users can select either the scale or playing notes for display.

  • @myr - kudos...played it last night - very enjoyful indeed. It will definitely rank very high on my list of go-to patches along with mabahabla(?) and polygomè....

    Ciao

    Paul

  • sorry to be a pain but would someone be able to unpack the maxzip and then just zip the directories and post the zip here as unless you have the full version of max then you don't appear to be able to unpack a maxzip...unless i'm missing something...which wouldn't be the first time.

  • @knecht,
    rename it as .zip, double-click.

    (I don't think it unpacks for full max users either; it just opens the whole project as a bundle, similar to frozen .amxd files)

  • thanks gtz - that worked :)

  • Hi @myr, i noticed in galapagoose's m4l thread that you mentioned that you were still working on your notes app. very much looking forward to seeing what you've done.

    is the latest version very much different to the version you posted above?

  • a lot has changed under the hood, but i've effectively got no further with functionality, heh.

    the patch started as an example on best practices for using pattr, and evolved into an attempt to bring some aspects of object oriented programming to max and learn how to use them effectively.

    after going down several rabbit holes and trying out some external objects i'm pretty much back where i was. will tidy it all up and fix on a system for programming it so i can get it out for people to use, even if i change the innards a bit later.

    it's currently all in plain max so will likely finish off the max version then port to m4l when it's all working.

  • hello hello, happy holidays all!

    i'm slowly but surely working away at a new suite of m4l devices, which will include a version of this app.

    for the moment i thought i'd upload a slightly updated (but not yet finished) version of this app in plain max.

    you can find the updated download in the top post.

    been having far too much fun playing with it running into a rhodes sounding synth, jazz cafe vibes.

    let me know what you think, hope you guys enjoy it.

  • had a go with this. working great. love that you included the random velocity settings.
    i don't have a varibright so couldn't see that, actually wasn't getting any led feedback. thanks for sharing.