Feature request: nslider spelling


    Feb 01 2007 | 11:56 am
    I've not seen this mentioned on the list and Google's not finding it,
    so:
    Would it be possible to make nslider a little more savvy about
    spelling? If we could at least set it to spell to a key, so if I were
    in, say Bb major I would see C C# D Eb F F# G Ab A Bb B.
    If we had the 12 major keys with their "harmonic" minor variants to
    choose from, that would alleviate a lot of the problems. I'm
    currently staring a Dom-7ths on C spelled with an A# and it's driving
    me bonkers.
    I won't ask for complete implementation of all notation spelling
    rules (as per Gardner Read & Co.) because there are things that go
    beyond the rules. Even "smart" notation programs like Finale and
    Sibelius don't always get it right. I'm just hoping for a middle
    ground a tad smarter than the current always-use-sharps strategy.
    The fact that I'm publically admitting to even looking at a dominant
    seventh indicates just how frustrating the current nslider is.
    Je vous remercie pour votre attention,
    Peter
    -------------- http://www.bek.no/~pcastine/Litter/ -------------
    Peter Castine +--> Litter Power & Litter Bundle for Jitter
    Universal Binaries on the way
    iCE: Sequencing, Recording &
    Interface Building for |home | chez nous|
    Max/MSP Extremely cool |bei uns | i nostri|

    • Feb 01 2007 | 12:17 pm
      > spell to a key, so if I were in, say Bb major I would see C C# D Eb
      >F F# G Ab A Bb B.
      >
      >
      peter, are you talking about this very old way to look at music?? you
      mean tonal? or modal???
      oh mon dieu!!!
      Max made me stop thinking in terms of notes - in favour of
      frequencies. certainly not classical harmony!
      all the best
      kasper
      --
      Kasper T. Toeplitz
      noise, composition, bass, computer
    • Feb 01 2007 | 2:13 pm
      On 1-Feb-2007, at 13:17, Kasper T Toeplitz wrote:
      > peter, are you talking about this very old way to look at music??
      > you mean tonal? or modal???
      I knew this was going to be embarrassing.
      All my friends are laughing at me now. My colleagues avoid me. My
      students make rude comments behind my back (even more than before).
      My cat won't even try to eat from my plate any more. My wife has
      abandoned me. If it weren't for the nice Nigerian widows writing to
      me I'd no contact with the opposite sex at all.
      Look, please... it's a project I'm doing. For other people. They want
      things like Phrygian scales. Which is bad enough. But having to read
      Phrygian in F as F F# G# A# C C# D# is just adding insult to injury.
      -- P (hoping that readers will be able to recognize the one serious
      paragraph above!-)
      -------------- http://www.bek.no/~pcastine/Litter/ -------------
      Peter Castine +--> Litter Power & Litter Bundle for Jitter
      Universal Binaries on the way
      iCE: Sequencing, Recording &
      Interface Building for |home | chez nous|
      Max/MSP Extremely cool |bei uns | i nostri|
    • Feb 01 2007 | 3:38 pm
      > I won't ask for complete implementation of all notation spelling
      > rules (as per Gardner Read & Co.) because there are things that go
      > beyond the rules. Even "smart" notation programs like Finale and
      > Sibelius don't always get it right. I'm just hoping for a middle
      > ground a tad smarter than the current always-use-sharps strategy.
      That would be nice to have a better nslider, indeed. For me, quarter-tones
      would be more important than this dual notation.
      Do you want double flats and sharps, too?
      Cb7 = Cb Eb Gb Bbb
      G#M7 = G# B# D# F##
      JF.
    • Feb 01 2007 | 3:58 pm
    • Feb 04 2007 | 11:00 pm
      Emmanuel Jourdan wrote:
      > Just to have an idea, is 61 a C# or a Db?
      Either context or 60.999999 is C# and 61 is Db... like semitone rounding...
      then Peter could patch around it...
      The other way would be to have a command to switch the behaviour for
      each note...
      Stefan
      --
      Stefan Tiedje------------x-------
      --_____-----------|--------------
      --(_|_ ----|-----|-----()-------
      -- _|_)----|-----()--------------
      ----------()--------www.ccmix.com
    • Feb 04 2007 | 11:28 pm
    • Feb 05 2007 | 12:03 am
      Depending on context, 60.9999 and 61 are either C# or Db. Context is
      everything. You need to know whether the context is distinctly
      tonal/diatonic or atonal/chromatic. This includes notes that have yet to
      occur as well as notes simultaneous or gone by. In an absolutely correct
      solution we will have to be prepared for the spelling to change depending on
      what happens next. Consider 60 61 62 63 64 = C C# D D# D following the
      chromatic direction "rule." But 60 61 62 63 64 63 62 64 63 = C C# D D# D Eb
      D E Eb.
      Part of the problem is that our beloved circle of fifths is not a circle but
      a spiral. We routinely and unceremoniously jump between the flat and sharp
      sides when we notice double flats and sharps.
      This is described in great detail by Alex Brinkman in chapter 6 of his
      Pascal Programming for Music Research (U Chicago Press, 1990 ISBN
      0-226-07508-7). He covers pitch class (pc) and name class (nc)
      representation. He describes a method for determining correct spelling under
      transposition using a binomial representation (br). The innards of Finale
      use (br) for pitch but I can't recall whether they use Brinkman's spelling
      algorithm.
      All of this is why abandoned note names for numbers 30+ years ago. I was so
      pleased in 1990 when I saw that Max uses numbers almost exclusively.
      Notation has never been an accurate representation of what is going on in
      the music.
      On 2/4/07 6:00 PM, "Stefan Tiedje" wrote:
      > Emmanuel Jourdan wrote:
      >> Just to have an idea, is 61 a C# or a Db?
      >
      > Either context or 60.999999 is C# and 61 is Db... like semitone rounding...
      >
      > then Peter could patch around it...
      >
      > The other way would be to have a command to switch the behaviour for
      > each note...
      >
      > Stefan
      Cheers
      Gary Lee Nelson
      Oberlin College
      www.timara.oberlin.edu/GaryLeeNelson
    • Feb 05 2007 | 12:30 am
      On 2/4/07 7:03 PM, "Gary Lee Nelson" wrote:
      60 61 62 63 64 63 62 64 63 = C C# D D# D Eb D E Eb.
      But add another note and
      60 61 62 63 64 63 62 64 63 64 = C C# D D# D Eb D E D# E.
      Cheers
      Gary Lee Nelson
      Oberlin College
      www.timara.oberlin.edu/GaryLeeNelson
    • Feb 05 2007 | 3:20 am
    • Feb 05 2007 | 10:28 am
      On 1-Feb-2007, at 16:58, Emmanuel Jourdan wrote:
      > Just to have an idea, is 61 a C# or a Db?
      You can observe a lot by just reading:
      On 1-Feb-2007, at 12:56, Peter Castine wrote:
      > Would it be possible to make nslider a little more savvy about
      > spelling? If we could at least set it to spell to a key, so if I
      > were in, say Bb major I would see C C# D Eb F F# G Ab A Bb B.
      so if I were in, say Bb major, I would see C C# D Eb F F# G Ab A Bb B.
      so if I were in, say Bb major, I would see C C# D Eb F F# G Ab A Bb B.
      Got it?
      -------------- http://www.bek.no/~pcastine/Litter/ -------------
      Peter Castine +--> Litter Power & Litter Bundle for Jitter
      Universal Binaries on the way
      iCE: Sequencing, Recording &
      Interface Building for |home | chez nous|
      Max/MSP Extremely cool |bei uns | i nostri|
    • Feb 05 2007 | 3:36 pm
      Gary Lee Nelson wrote:
      > Depending on context, 60.9999 and 61 are either C# or Db. Context is
      > everything. You need to know whether the context is distinctly
      > tonal/diatonic or atonal/chromatic.
      Exactly thats why I proposed to find a command for nslider to
      distinguish it instead of nslider following a rule which might not be
      the correct rule for that context. This should be left to be patched
      around if necessary.
      I think nslider was a convenient hack to have at least something which
      displays a common format. For that its fine, anything else needs to be a
      much more sophiticated something. I started for that purpose a LCD
      solution with quartetone displays and b/# as you'd want it...
      (Its still buggy, and might never be finished before I learn the FTM
      notation...)
      Stefan
      --
      Stefan Tiedje------------x-------
      --_____-----------|--------------
      --(_|_ ----|-----|-----()-------
      -- _|_)----|-----()--------------
      ----------()--------www.ccmix.com
    • Feb 05 2007 | 3:52 pm
    • Feb 05 2007 | 6:39 pm
      On 5-Feb-2007, at 11:47, Emmanuel Jourdan wrote:
      > sure, but it's usually not that simple. Keys are most of the time
      > dependent on the context, in my musicologia course souvenir.
      Je le sais bien. Look, I've got a PhD in musicology, I know this
      stuff cold, and I certainly don't need a lecture from anyone one it.
      I was asking for a simple, reasonably useful enhancement that would
      increase spelling from it's current hit-or-miss 50% to maybe 70 or
      80%. Just like all the sequencers with built-in notation do.
      No, of course this isn't going to be 100% correct spelling, but that
      takes logic that even Finale hasn't mastered. So I'm not asking for
      that. I'm asking for a facility to select a key signature to specify
      spelling preferences.
      I explained the context of my expectations in my first message and I,
      frankly, find it more than a little tedious to have to re-explicate
      it now for a third time.
      -------------- http://www.bek.no/~pcastine/Litter/ -------------
      Peter Castine +--> Litter Power & Litter Bundle for Jitter
      Universal Binaries on the way
      iCE: Sequencing, Recording &
      Interface Building for |home | chez nous|
      Max/MSP Extremely cool |bei uns | i nostri|
    • Aug 07 2008 | 7:16 pm
      Has anyone come up with a viable solution for Peter's request? I'm interested in doing something similar. Stefan, did you ever finish the LCD-based solution? To my knowledge, the nslider in Max 5 doesn't look any different than previous versions.
      I appreciate the discussion listed above, by the way, and all the different texts out there for various tuning philosophies, etc.
    • Aug 09 2008 | 12:01 am
      Wow, that got pretty interesting pretty quick :)
      I too have been frustrated by the many rules of traditional harmony, but they do make a kind of sense. At the same time, "reading" (in this case, getting the general gist of) piano-roll notation makes another kind of sense, and certainly is easier for new musicians, both for pitch and durations. It won't substitute for note-based composition in some ways, but it's also much easier to use when one isn't overly concerned about exactness... or having live people play instruments. So a lot depends on what the end result is.
      I personally haven't written a traditional note since I finished grad school in composition, but I also understand its importance. I just think that "traditional" notation is no longer the de facto standard and others are alternatives---they are all facets of ways to communicate sound visually (as are things like piano rolls, matrixctrl, jit.gl.graph, etc.) All depends on what you're trying to convey---exact information, artsy rendering, abstract expression...?
      All that aside, I'd love a "use_sharps" and "use_flats" command to nslider as well as number boxes in note-mode. This should be straightforward to implement, just have two display sets within the object that correlate to the numbers. No "white-note-accidentals" like Cb or B#, and no double-accidentals. Yes, signatures wouldn't always be totally correct, but you'd be pretty close for most: if you want to indicate keys on this half of the Circle of 5ths, use sharps; on the other side, use flats.
      I think having Cycling figure out all those key signatures is too much. However, it's always debatable within Max when one thinks: "where to draw the line with built-in features of single objects, versus extended ones that users can create using small collections of objects and some logic?" In this case, to create specific key signatures, we could use select and %12, etc., and choose flats or sharps. Since the choice is only for visual representation, and doesn't change the sound, you'd be most of the way there for most purposes.
      Very interesting discussion!
      P.S. I vote for a 6-line staff, with C in the middle space, and other C's one ledger line below/one ledger line above. That way you'd only have one kind of staff, as it would repeat at the octave. Whaddya think?
      Like that'll ever become standard... though I wish it would... ah well :)
    • Aug 09 2008 | 1:45 am
      I admit I hate seeing A#s in a C7 chord. Or perhaps more accurately, if I see them, I usually make a mistake playing the thing.
      Anyway - MaxScore has made me a pretty happy camper.
      -A
    • Aug 09 2008 | 2:21 am
      Quote: nb23 wrote on Thu, 07 August 2008 12:16
      ----------------------------------------------------
      > Has anyone come up with a viable solution for Peter's request? I'm interested in doing something similar. Stefan, did you ever finish the LCD-based solution? To my knowledge, the nslider in Max 5 doesn't look any different than previous versions.
      >
      I'm almost there with a javascript ui solution. It is part of the CNMAT MMJ Depot:
      Actually, there are two: jsChord and jsMelody. Guess what they're for. They use fonts from here:
      Stay away from the truetype fonts, postscript is your friend.
      Right now, they are sharps only (like nslider) but I could put the flats in over the weekend.
      Would you like it if positive note numbers got sharps (if needed) and negative note numbers got flats (if needed)? Then you could figure out your own spelling rules.
      mz
    • Aug 09 2008 | 9:44 pm
      The negative ints for flats and positive ints for sharps seems like a very logical solution. Thanks for putting in the work!
    • Aug 10 2008 | 1:47 am
      Quote: mzed wrote on Fri, 08 August 2008 19:21
      ----------------------------------------------------
      > Quote: nb23 wrote on Thu, 07 August 2008 12:16
      > ----------------------------------------------------
      > > Has anyone come up with a viable solution for Peter's request? I'm interested in doing something similar. Stefan, did you ever finish the LCD-based solution? To my knowledge, the nslider in Max 5 doesn't look any different than previous versions.
      OK. Alpha versions my js nsliders are here:
      Spacing is a little different in Max 4.6 and Max 5, so to be fair, I made sure they were partially wrong in either version.
      Let me know if there are bugs, or features you would like to see. I haven't gotten around to 1/6 tones, because I don't use them myself. The 1/4 and 1/8 tone stuff should be working. I'm not a big fan of the 1/8-tone notation I got, but this was the best free font I could find.
      best,
      mz
    • Oct 04 2010 | 3:35 pm
      helloworld,
      Would it be possible for someone to upload the zip file that mz linked to in the last post. The link seems to be down and I was hoping someone could re-up it for all to dl.
      Thanks in advance,
      KDS
    • Oct 19 2010 | 8:41 pm
      Not to be a pain, but could somebody help me with this please.
      I would like to use the improved nSlider in a project I am currently working on.
      Thanks,
      KDS
    • Oct 19 2010 | 11:29 pm
      Here's a zip of the files I have from ages ago. I've never actually used it but I tend to hoard things just in case. I hope it works OK for you.
      lh
    • Oct 20 2010 | 5:03 am
      Thanks Luke, you're the best!
    • Oct 21 2010 | 2:28 am
      The most current version of my work is in the CNMAT MMJ depot.
      mz