Feature request: nslider spelling

Peter Castine's icon

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

Kasper's icon

> 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

Peter Castine's icon

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

Jean-Francois Charles's icon

> 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.

Peter Castine's icon
Stefan Tiedje's icon

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

Jean-Francois Charles's icon
Gary Lee Nelson's icon

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

Gary Lee Nelson's icon

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

Emmanuel Jourdan's icon
Peter Castine's icon

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

Stefan Tiedje's icon

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

Steven Miller's icon
Peter Castine's icon

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

Nathan Bowen's icon

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.

seejayjames's icon

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 :)

Andrew Pask's icon

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

mzed's icon

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

Nathan Bowen's icon

The negative ints for flats and positive ints for sharps seems like a very logical solution. Thanks for putting in the work!

mzed's icon

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

kennethstewart's icon

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

kennethstewart's icon

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

Luke Hall's icon

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

kennethstewart's icon

Thanks Luke, you're the best!

mzed's icon

The most current version of my work is in the CNMAT MMJ depot.

mz