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| http://www.dspaudio.com/ http://www.castine.de

    • 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 http://www.sleazeArt.com
    • 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| http://www.dspaudio.com/ http://www.castine.de
    • 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| http://www.dspaudio.com/ http://www.castine.de
    • 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| http://www.dspaudio.com/ http://www.castine.de
    • 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