Skip to main content
Topic: intelligent layering (Read 4996 times) previous topic - next topic

intelligent layering

I only have the NWC2 viewer, so I'm not sure I can test if this feature is already part of NWC2.  I tried loading a 1.7-generated .nwc file; it displayed incorrectly in v.2 just as it does for 1.7.

So, are there plans for intelligent layering of staves?  What I mean by this term is that the layering would automatically adjust positions of notes/accidentals/whatever if the layering would otherwise result in two entities being on top of one another.

The easiest and most common form of this is having a second interval, where each note is on a different, layered staff.  This is common in my usage, because I use NWC for a cappella vocal music, where it is easiest to write each voice on a separate staff.  Then I layer the ones that can go together.  However, the seconds all end up looking like over-large note heads.  The manual fix for this is to adjust the additional spacing, but I'd love for that to happen automatically.

There are, of course, more complicated scenarios.  Some would probably be too complicated to figure out automatically.

Re: intelligent layering

Reply #1
I'm probably not directly answering your question, but it sounds as if your layering is a substitute for writing chords on a single staff.  Check it out - just place the cursor to the right of the first note in the chord, move it up or down, then press control-enter.

Re: intelligent layering

Reply #2
This was always an issue for me with NWC. It is easily handled in NWC2 using extra note spacing and a stem length of zero. This will appear to reverse the notehead on the other stem. Another problem with layering in v1 is layering eighth or sixteenth notes with stems in the same direction. The beams or flags make the notes look like sixteenths. Again, NWC2  handles nicely adjusting stem length.

Re: intelligent layering

Reply #3
Unfortunately 4 part choral writing has to have 4 parts. They are either on separate staves or the 2 higher voices are on one  and the 2 lower voices on the other. On each stave the tails show the parts, which may cross at times.

It is frequently impossible to enter two parts on one stave in NWC2 because of differences in rythym so we are forced to put voices on staves of their own and overlay them.

The accidentals are a nuisance that way because they must appear in the separate parts. Changing note spacing means that the tails don't line up.

A fix I have adopted is remove one sometimes and put it in as text item so its placement can be controlled. That gives good printing. To get a midi out for the parts then requires it to be undone.

I won't comment on the complications of the placement of slurs and lyrics in 4 parts transcription.

Re: intelligent layering

Reply #4
I'm not sure this will do the trick, but did you guys try the extra accidental spacing feature?  To use it, highlight the note, press Ctrl-E, and it's the first choice you have on the Notes tab.  Press the ? to see an explanation.

Re: intelligent layering

Reply #5
It does not always do the trick. I have never seen the difference between extra note spacing and extra accidentals spacing, or it must be the odd dot.

Re: intelligent layering

Reply #6
You can get some success when you master the use of the "blank space note head" even without layering. It took me some getting used to, but I think it works reasonably well for the kind of writing being discussed.

Re: intelligent layering

Reply #7
Maybe I'm nut fully understanding the problem. I think it is the same problem I had in NWC1, and was glad to see the workaround in NWC2. Paste the following into two staves and layer them, and see if this is what you want.

Code: [Select · Download]
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Bass
|TimeSig|Signature:4/4
|Key|Signature:C
|Text|Text:"No Overrides - looks bad"|Font:StaffItalic|Pos:8
|Note|Dur:4th|Pos:2
|Note|Dur:4th|Pos:2
|Note|Dur:8th|Pos:2
|Note|Dur:8th|Pos:2
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:4th|Pos:3
|Note|Dur:4th|Pos:3
|Note|Dur:8th|Pos:3
|Note|Dur:8th|Pos:3
|Note|Dur:8th|Pos:3|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:3|Opts:Stem=Down,Beam=End
|Bar
|Text|Text:"Extra note spacing"|Font:StaffItalic|Pos:8
|Note|Dur:4th|Pos:2|Opts:XNoteSpace=1
|Note|Dur:4th|Pos:2|Opts:XNoteSpace=1
|Note|Dur:8th|Pos:2|Opts:XNoteSpace=1
|Note|Dur:8th|Pos:2|Opts:XNoteSpace=1
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=First,XNoteSpace=1
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=End,XNoteSpace=1
|Bar
|Text|Text:"Extra Stem Length"|Font:StaffItalic|Pos:8
|Note|Dur:4th|Pos:3
|Note|Dur:4th|Pos:3
|Note|Dur:8th|Pos:3|Opts:StemLength=9
|Note|Dur:8th|Pos:3|Opts:StemLength=9
|Note|Dur:8th|Pos:3|Opts:Stem=Down,StemLength=9,Beam=First
|Note|Dur:8th|Pos:3|Opts:Stem=Down,StemLength=9,Beam=End
!NoteWorthyComposerClip-End
Code: [Select · Download]
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Bass
|TimeSig|Signature:4/4
|Key|Signature:C
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:1
|Note|Dur:8th|Pos:1
|Note|Dur:8th|Pos:1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:1
|Note|Dur:8th|Pos:1
|Note|Dur:8th|Pos:1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=End
|Bar
|Text|Text:"Zero Stem Length"|Font:StaffItalic|Pos:-11
|Note|Dur:4th|Pos:1|Opts:StemLength=0
|Note|Dur:4th|Pos:1|Opts:StemLength=0
|Note|Dur:8th|Pos:1|Opts:StemLength=0
|Note|Dur:8th|Pos:1|Opts:StemLength=0
|Note|Dur:8th|Pos:1|Opts:Stem=Down,StemLength=0,Beam=First
|Note|Dur:8th|Pos:1|Opts:Stem=Down,StemLength=0,Beam=End
|Bar
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:1
|Note|Dur:8th|Pos:1
|Note|Dur:8th|Pos:1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End

Re: intelligent layering

Reply #8
There is no 'problem'; the workarounds are fine. It's more that the extra work that needs to be put in every time leads to the question 'can this be automatic?'

It's not only the extra note spacing for dissonants, when layered. There are also the default tie and slur directions; they always (no exceptions!) need to be corrected for layered staves. A little more intelligence here could do no harm:
- move a note a bit out of the way (automatic Extra note spacing +1) when a layering collision occurs
- default tie and slur direction for top layered staves is Up
- default tie and slur direction for bottom layered staves is Down.

IMnsHO
Rob.

Re: intelligent layering

Reply #9
The dissonants (seconds) are usually few.

The slur/tie directions can be taken care of by selecting the whole staff and setting the properties. Tail directions can be set as well as ties, slurs and automatic beaming for the whole stave.

If positioning of slurs is still a problem the new slur font [see Scriptorium] may be helpful.

The real problems are accidentals which may be needed for a part to sound, but not visually repeated when layered, or misplaced accidentals. Text items can fix these.

For this layering approach it seems most practical to keep print versions and midi versions separate. What looks right in print may be quite different from what works through a sound card or synth.

I don't know how much can be automated. I suspect that the layers work as graphical objects and their independence is a strong point. The fact that anything can be overlaid gives great versatility. What would be really useful would be to have an on-screen preview window, that could sit on top, showing the bar in which the cursor was working and the changes occuring live. Even better to have the same bar presented overlaid so the final affect was always visible.

Re: intelligent layering

Reply #10
Kevin, you've just given me an idea for courtesy accidentals that will survive an audit accidentals operation.

Replicate the notes on a second, layered staff.  Every time you want the courtesy accidental, force it on this staff.

Make this your first staff:

Code: [Select · Download]
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|Key|Signature:F#,C#,G#
|TimeSig|Signature:4/4
|Note|Dur:4th|Pos:-8
|Note|Dur:4th|Pos:-7
|Note|Dur:4th|Pos:n-6
|Note|Dur:4th|Pos:-5
|Bar
|Note|Dur:4th|Pos:-4
|Note|Dur:4th|Pos:-3
|Note|Dur:4th|Pos:-2
|Note|Dur:4th|Pos:-1
|Bar
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:1
|Note|Dur:Half|Pos:2
!NoteWorthyComposerClip-End
For illustration purposes, force the accidentals in the first staff.  Then make this your second staff:

Code: [Select · Download]
!NoteWorthyComposerClip(2.0,Single)
|Clef|Type:Treble
|Key|Signature:F#,C#,G#
|TimeSig|Signature:4/4
|Note|Dur:4th|Pos:-8|Visibility:Never
|Note|Dur:4th|Pos:-7|Visibility:Never
|Note|Dur:4th|Pos:n-6|Visibility:Never
|Note|Dur:4th|Pos:-5|Visibility:Never
|Bar|Visibility:Never
|Note|Dur:4th|Pos:-4|Visibility:Never
|Note|Dur:4th|Pos:-3|Visibility:Never
|Note|Dur:4th|Pos:-2|Visibility:Never
|Note|Dur:4th|Pos:-1|Visibility:Never
|Bar|Visibility:Never
|Note|Dur:4th|Pos:0|Visibility:Never
|Note|Dur:4th|Pos:#1
|Note|Dur:Half|Pos:2|Visibility:Never
!NoteWorthyComposerClip-End
Now layer the two staffs.  Then audit accidentals on the top one only.  See what I mean?

Re: intelligent layering

Reply #11
About accidentals:
I find that NWC is well behaved with them PROVIDED that key signatures are on all staves including hidden and changes of key signature are done by changing to Cmaj and then changing to the new key. By hiding the Cmaj change the correct presentation is given also.

The problems of them being badly placed when layering or needing courtesy parentheses  are fix by using a text.

Re: intelligent layering

Reply #12
Great idea, David!  I'll be trying that to.  So now I have layered staves for:

1. Normal notes, etc,
2. Notes that have to remain stem-up, such as beamed notes for an upper voice,
3. Notes that have to remain stem-down, such as beamed notes
4. Bar numbers (as theatre music is always irregular!), which I can then copy and paste for each instruments, and adjust for multi-bar rests, and
5. accidentals.

Thankfully we can now beam across rests, or there would be another staff for the included rests.  I don't use lyrics for chord symbols, as my chord font has symbols that don't work in lyric text.

So five layers for each single-staff instrument, and nine for piano/synth.  I'm very glad we have a mechanism for printing the music as we want, but with some program changes (courtesy accidental, forced stem direction), I could easily reduce the number of staves.

Well, off to the wish-list!  (For those who need it, please read "measure" for "bar", "theater" for "theatre", and any others I've missed.)
Cheers

Re: intelligent layering

Reply #13
Well, Ewan, Noteworthy's nothing if not flexible, eh?