Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General issue: Three voices that do not align properly #42

Open
bel28kent opened this issue Apr 5, 2024 · 6 comments
Open

General issue: Three voices that do not align properly #42

bel28kent opened this issue Apr 5, 2024 · 6 comments
Labels
vhv-viz-bug This issue concerns a bug in VHV visualization of kern.

Comments

@bel28kent
Copy link
Owner

Screen Shot 2024-04-05 at 1 12 31 PM
@bel28kent bel28kent added the vhv-viz-bug This issue concerns a bug in VHV visualization of kern. label Apr 5, 2024
@craigsapp
Copy link
Contributor

You should highlight the text in question in the screen shots so it is easier for me to see what you are referring to. Also if it is a single note, you could click on it to make it red.

@craigsapp
Copy link
Contributor

craigsapp commented Apr 6, 2024

I don't see the problem (I fixed areas that look wrong in the above image, but they were correct I think when I looked at them, but in any case I adjusted the spines by swapping 2 and 3 layers which may have fixed it as well). Here is the full markup of the score:

Screenshot 2024-04-05 at 8 52 03 PM
Click to view Humdrum score for above example.
!!!COM: Scriabin, Alexander
!!!OTL@@FR: Prélude en ré mineur
!!!OTL@EN: Prelude in D Minor
!!!OPR@@FR: 7 Préludes
!!!OPR@RU: Семь прелюдий
!!!OPR@EN: Seven Preludes
!!!OPR@DE: Sieben Präludien
!!!OPS: 17
!!!ONM: 1
!!!ODT: 1895-1896
!!!AGN: Prelude
**kern	**kern	**dynam
*staff2	*staff1	*staff1/2
*Ipiano	*Ipiano	*
*clefF4	*clefG2	*
*k[b-]	*k[b-]	*
*d:	*d:	*
!!!Xfilter: humbreak -m 6,11,16,21,26,31,36,41,46,51
!!LO:TX:omd:tempo:a:t=Allgretto [quarter] = 112
*M3/4	*M3/4	*
*MM112	*MM112	*
8A	8r	.
=1	=1	=1
*	*^	*
*	*	*^	*
4A	(8fL	2f	4ryy	p
.	8a	.	.	.
4G#X	8b-	.	4b-\	.
.	8dd	.	.	.
4Gn	8ff:	4b-: 4d:	4ryy	.
.	8eeJ	.	.	.
*	*v	*v	*v	*
=2	=2	=2
!LO:N:vis=4	!	!
(16%3b-	8gL	.
.	8dd	.
!LO:N:vis=4	!	!
16%3d	.	.
.	8ee	.
!LO:N:vis=4	!	!
16%3G	8gg	<
.	8ccc	.
!LO:N:vis=4	!	!
16%3E)	.	.
.	8bb-J	.
=3	=3	=3
(20%3AA	8eeeL	.
.	8gg#X	[ >
20%3E	.	.
.	8bb-	.
20%3c#X	.	.
.	8aa	.
20%3A	.	.
.	8dd#X	.
20%3g)	.	.
.	8eeJ	]]
=4	=4	=4
(8DL	8ffL	.
8AJ	8ee	.
!!LO:TX:a:i:t=rit.
4f)	8g#X	.
.	8aJ	.
8r	8dd)	.
!!LO:TX:a:i:t=a tempo
8d	8r	.
=5	=5	=5
*	*^	*
*	*	*^	*
4d	(8b-L	2b-	4ryy	.
.	8dd	.	.	.
4c#X	8ee-X	.	4ee-\	.
.	8gg	.	.	.
4cn	8bb-	4ee- 4g	4ryy	.
.	8aaJ	.	.	.
*	*v	*v	*v	*
*clefG2	*	*
!!LO:LB:g=original
=6	=6	=6
!LO:TUP:b	!	!
!LO:N:vis=4	!	!
(16%3ee-X	8ccL	<
.	8gg	.
!LO:N:vis=4	!	!
16%3g	.	.
.	8aa	.
!LO:N:vis=4	!	!
16%3c	8ccc	.
.	8fff	.
!LO:N:vis=4	!	!
16%3A)	.	.
.	8eee-XJ	[
*clefF4	*	*
=7	=7	=7
(20%3D/	8aaaL	>
.	8ccc#X	.
20%3cn	.	.
.	8eee-X	.
20%3f#X	.	.
.	8ddd	.
20%3c	.	.
.	8gg#X	.
*clefG2	*	*
20%3dd)	.	.
.	8aaJ	.
*clefF4	*	*
=8	=8	=8
(8E-XL	8cccL	.
8cJ	8bb-	]
4g)	8bn	.
.	8ccJ	.
8r	8gg)	.
8E-	8r	.
=9	=9	=9
4En	8r	.
.	(8bn	<
4B-X 4g	8ccL	.
.	8bb-X	.
8r	8cc	.
8E	8cc#XJ	.
=10	=10	=10
4F	8aaL	.
.	8cc#X	.
4B- 4f	8dd	.
.	8gg	.
(8dL 8b-	8ee	.
8FJ)	8ffJ)	.
!!LO:LB:g=original
=11	=11	=11
4F#X	8r	<
.	(8cc#X	.
*clefG2	*	*
4d 4ccn	8ddL	.
.	8cccn	.
8r	8dd	.
*clefF4	*	*
8F#	8ee-XJ	.
=12	=12	=12
4G	8bb-L	.
.	8ee-X	.
*clefG2	*	*
4d 4b-	8een	.
.	8aa	.
4e 4dd	8ff#X	.
.	8ggJ)	.
=13	=13	=13
*^	*	*
!	!	!	!LO:DY:t=%s rubato
4A	4rcyy	(8gg#XL	f
.	.	8aa	.
[2dd	4f	8fff	.
.	.	8ddd	.
.	4gn	8ccc	.
.	.	8ggnJ	.
=14	=14	=14	=14
4dd]	4e	8bb-L	.
.	.	8aa	.
4raa	4rc	8gg	.
.	.	8ee	.
4raa	4rc	8dd	.
.	.	8b-J)	.
*clefF4	*	*	*
=15	=15	=15	=15
4AA	4rEEyy	(8g#XL	>
.	.	8a	.
(4f	2Gn	8b-	.
.	.	8dd	.
4e)	.	8cc#X	.
.	.	8gnJ	.
!!LO:LB:g=original
=16	=16	=16	=16
*	*	*^	*
4AA	4rEEyy	8b-L	4rcyy	.
.	.	8f	.	.
(4dn	4G	8d#X	8rcyy	.
.	.	8e	4.e	.
8c#X)	8r	8b-	.	.
8r	8A	8aJ)	.	.
*v	*v	*	*	*
=17	=17	=17	=17
*	*	*^	*
4A	(8fL	2f	4ryy	p
.	8a	.	.	.
4G#X	8b-	.	4b-\	.
.	8dd	.	.	.
4Gn	8ff	4b- 4d	4ryy	.
.	8eeJ	.	.	.
*	*v	*v	*v	*
=18	=18	=18
!LO:N:vis=4	!	!
(16%3b-	8gL	<
.	8dd	.
!LO:N:vis=4	!	!
16%3d	.	.
.	8ee	.
!LO:N:vis=4	!	!
16%3G	8gg	.
.	8ccc	.
!LO:N:vis=4	!	!
16%3E)	.	.
.	8bb-J	[
=19	=19	=19
(20%3AA	8eeeL	>
.	8gg#X	.
20%3E	.	.
.	8bb-	.
20%3c#X	.	.
.	8aa	.
20%3A	.	.
.	8dd#X	.
20%3g)	.	.
.	8eeJ	.
=20	=20	=20
(8DL	8ffL	.
8AJ	8ee	.
4f)	8g#X	.
.	8aJ	]
8r	8dd)	.
8d	8r	.
!!LO:LB:g=original
=21	=21	=21
*	*^	*
*	*	*^	*
4d	(8b-L	2b-	4ryy	.
.	8dd	.	.	.
4c#X	8ee-X	.	4ee-\	.
.	8gg	.	.	.
4cn	8bb-	4ee- 4g	4ryy	.
.	8aaJ	.	.	.
*	*v	*v	*v	*
*clefG2	*	*
=22	=22	=22
!LO:TUP:b	!	!
!LO:N:vis=4	!	!
(16%3ee-X	8ccL	.
.	8gg	.
!LO:N:vis=4	!	!
16%3g	.	.
.	8aa	.
!LO:N:vis=4	!	!
16%3c	8ccc	.
.	8fff	.
!LO:N:vis=4	!	!
16%3A)	.	.
.	8eee-XJ	.
*clefF4	*	*
=23	=23	=23
(20%3D	8aaaL	.
.	8ccc#X	.
20%3cn	.	.
.	8eee-X	.
20%3f#X	.	.
.	8ddd	.
20%3c	.	.
.	8gg#X	.
*clefG2	*	*
20%3dd)	.	.
.	8aaJ	.
*clefF4	*	*
=24	=24	=24
(8E-XL	8cccL	.
8cJ	8bb-	.
4g)	8bn	.
.	8ccJ	.
8r	8gg)	.
8E-	8r	.
=25	=25	=25
4En	8r	.
.	(8bn	.
4B-X 4g	8ccL	.
.	8bb-X	.
8r	8cc	<
8E	8cc#XJ	.
!!LO:LB:g=original
=26	=26	=26
4F	8aaL	.
.	8cc#X	.
4B- 4f	8dd	.
.	8gg	.
(8dL 8b-	8ee	.
8FJ)	8ffJ)	.
=27	=27	=27
4F#X	8r	.
.	(8cc#X	.
*clefG2	*	*
4d 4ccn	8ddL	.
.	8cccn	.
8r	8dd	.
*clefF4	*	*
8F#	8ee-XJ	.
=28	=28	=28
4G	8bb-L	.
.	8ee-X	.
*clefG2	*	*
4d 4b-	8een	.
.	8aa	.
4e 4dd	8ff#X	.
.	8ggJ)	.
=29	=29	=29
*^	*	*
4A	4rcyy	(8gg#XL	.
.	.	8aa	.
[2dd	4f	8fff	.
.	.	8ddd	.
.	4gn	8ccc	.
.	.	8ggnJ	.
=30	=30	=30	=30
4dd]	4e	8bb-L	.
.	.	8aa	.
4raa	4rc	8gg	.
.	.	8ee	.
4raa	4rc	8dd	.
.	.	8b-J	.
*clefF4	*	*	*
!!LO:LB:g=original
=31	=31	=31	=31
4AA	4rEEyy	8g#XL	.
.	.	8a	.
[2d	4F	8ff	.
.	.	8dd	.
.	4Gn	8cc	.
.	.	8gnJ	.
=32	=32	=32	=32
4d]	4E	8b-L	>
.	.	8a	.
4rc	4rEE	8g	.
.	.	8e	.
4rc	4rEE	8d	.
.	.	8B-J)	.
=33	=33	=33	=33
!!LO:TX:a:i:t=accel.
4AAA	4rEEyy	(>8G#XL	p
.	.	8A	.
(4F	2AA	8B-	.
.	.	8d	.
4E)	.	8c#X	.
.	.	8GnJ	.
=34	=34	=34	=34
*	*	*^	*
4rc	4rEE	8B-L	4rcyy	.
.	.	8F	.	.
(4D	2AA	8E-X	8rcyy	.
.	.	8En	4.E	.
4C#X)	.	8B-	.	.
.	.	8AJ	.	.
*	*	*v	*v	*
=35	=35	=35	=35
!!LO:TX:a:i:t=accel.
4rc	4rEE	8c#XL	.
.	.	8d	.
(4B-	2AA	8e-X	.
.	.	8g	.
4A)	.	8f#X	<
.	.	8cnJ	.
!!LO:LB:g=original
=36	=36	=36	=36
4rc	4rEE	8e-XL	.
.	.	8B-	.
(4G	2AA	8A-X	.
.	.	8An	.
4F#X)	.	8d	.
.	.	8cJ)	.
=37	=37	=37	=37
*	*	*^	*
(2.G	[2.AA	(>8B-L	4ryy	.
.	.	[8d	.	.
.	.	8g	2d] 2g	.
.	.	8a	.	.
.	.	8cc	.	.
.	.	8b-J)	.	.
=38	=38	=38	=38	=38
2.G#X	2.AA]	(>8B-L	4ryy	.
.	.	[8d	.	.
.	.	8f	2d] 2f	.
!!LO:TX:a:i:t=accel.
.	.	8a	.	.
.	.	8cc	.	.
.	.	8b-J)	.	.
*	*	*v	*v	*
=39	=39	=39	=39
2.A	2.AA	(8FL	.
.	.	8c#X	.
.	.	8d	.
.	.	8f	.
.	.	8b-	.
.	.	8aJ)	.
=40	=40	=40	=40
!	!	!	!LO:DY:rj
2.B-	2.AA	(8FL	p
!!LO:TX:a:i:t=accel.
.	.	8c#X	.
.	.	8d	.
.	.	8f	.
.	.	8a	.
.	.	8g#XJ)	.
!!LO:LB:g=original
=41	=41	=41	=41
!	!	!	!LO:DY:rj
4.Bn	2.AA	(8FL	f
.	.	8c#X	.
.	.	8d	.
4.B-X	.	8f	.
.	.	8a	.
.	.	8g#XJ)	.
=42	=42	=42	=42
4.A	2.AA	(8FL	.
!	!	!LO:TX:a:i:t=rit.	!
.	.	8d	.
.	.	8f	.
4.G#X)	.	8bn	>
.	.	8ee	.
.	.	8ddJ)	.
=43	=43	=43	=43
[2.Gn	[2.AA	(8B-XL	.
!	!	!LO:TX:a:i:t=rit.	!
.	.	8d	.
.	.	8e	.
.	.	8g	.
.	.	8cc	.
.	.	8b-J)	.
=44	=44	=44	=44
2.G]	2.AA]	(8c#XL	.
!	!	!LO:TX:a:i:t=rit.	!
.	.	8g#X	.
.	.	8b-	.
.	.	8a	.
.	.	8ff	.
.	.	8eeJ)	.
*v	*v	*	*
=45	=45	=45
*	*^	*
!	!	!LO:TX:a:i:t=a tempo	!
4DD	(8b-L	4b-	p
.	8dd	.	.
4c#X	8ee-X	4g	.
.	8gg	.	.
4cn	8bb-	4f#X	.
.	8aaJ	.	.
!!LO:LB:g=original
=46	=46	=46	=46
!LO:N:vis=4	!	!	!
(16%3B-	8gL	2.g	.
.	8dd	.	.
!LO:N:vis=4	!	!	!
16%3E-X	.	.	.
.	8ee-X	.	<
!LO:N:vis=4	!	!	!
16%3BB-	8gg	.	.
.	8ccc	.	.
!LO:N:vis=4	!	!	!
16%3DD)	.	.	.
.	8bb-J	.	[
*	*v	*v	*
=47	=47	=47
4DD	8ccc#XL	>
.	8gg#X	.
4AA 4Gn 4c#X	8bb-	.
.	8aa	.
4r	8ee-X	.
.	8eenJ	.
=48	=48	=48
4DD	8ffL	.
.	8ee	.
4AA 4F 4d	8.g#X	.
.	16aJk	]
4r	4dd)	.
=49	=49	=49
*^	*^	*
4r	2.DD	8AL	4A	pp
.	.	8d	.	.
4C#X	.	8e-X	4G	.
.	.	8g	.	.
4Cn	.	8b-	4F#X	.
.	.	8aJ	.	.
=50	=50	=50	=50	=50
2.BB-	[2.DD	8GL	2.G	.
.	.	8d	.	.
.	.	8e-X	.	<
.	.	8g	.	.
.	.	8cc	.	.
.	.	8b-J	.	[[
*	*	*v	*v	*
!!LO:LB:g=original
=51	=51	=51	=51
4AA	4DD]	(>8cc#XL	>
.	.	8g#X	.
4AA 4Gn 4c#X	4rEEyy	8b-	.
.	.	8a	.
4r	4r	8e-X	.
.	.	8enJ	]
*v	*v	*	*
=52	=52	=52
[4DD	8fL	.
.	8e	.
4.DD] 4.AA 4.F	8G#X	.
.	8AJ	.
.	4d)	.
[>8AA	.	.
=53	=53	=53
!	!LO:TX:c:i:t=rubato	!
4DD 4AA]	(8cc#X~L	.
.	8g#X~	.
4.AA 4.Gn 4.c#X	8b-~	.
.	8a~	.
.	8e-X	.
[>8AA	8enJ	.
=54	=54	=54
[4DD 4AA_	8fL	.
.	8eJ	.
2DD_ 2AA_ [2F	4.G#X	.
.	8A	.
=55	=55	=55
2.DD_ 2.AA_ 2.F_	[2.d	.
=56	=56	=56
2DD] 2AA] 2F]	2d])	.
4r	4r	.
==	==	==
*-	*-	*-
!!!system-decoration: {(*)}
!!!RDF**kern: > = above
!!!RDF**kern: < = below
!!!RDF**dynam: > = dim.
!!!title: @{OTL}, op. @{OPS}, no. @{ONM}
!!!ENC: Bryan Jacob Bell
!!!END: November 2021 to April 2022
!!!PED: Konstantin Igumnov and Yakov Milstein
!!!PTL: A.N. Skryabin: Polnoe sobranie sochinenii dlia fortepiano (Muzgiz)
!!!URL-pdf: https://vmirror.imslp.org/files/imglnks/usimg/e/e1/IMSLP67928-PMLP20236-Scriabin--Preludes-Op17--Ed-Muzgiz-Konemann.pdf#page=1 	A.N. Skryabin: Polnoe sobranie sochinenii dlia fortepiano, Vol.2, Moscow: Muzgiz, 1948. Plate M. 18995 Г.
!!!URL-pdf: https://vmirror.imslp.org/files/imglnks/usimg/9/9d/IMSLP08377-Scriabin_-_Op.17_-_7_Preludes.pdf#page=1 	A.N. Skryabin: Polnoe sobranie sochinenii dlia fortepiano, Vol.2, Moscow: Muzgiz, 1948. Plate M. 18995 Г., Reissue - Muzyka, 1973. Plate 7641
!!!URL-pdf: https://vmirror.imslp.org/files/imglnks/usimg/b/bb/IMSLP79146-PMLP20236-Scriabin--Prelude-Op17-No1--FE.pdf#page=1 First edition, Leipzig: M.P. Belaïeff, n.d. (ca.1897).

Some notes:

(1) For the quartuplets, I used !LO:N:vis=4 (make the note look like a quarter note. The *rscale method was not working, so I used this more literal method.

(2) I added three URL-pdf: entries: the first is what I think is the reference edition (the reference edition should always go first), then two others, with the last one being the first edition. When you mouse over the PDF icons on the main toolbar the title of the URL will be displayed:

Screenshot 2024-04-05 at 8 55 21 PM

(3) I cleaned up some of the 3-layer sections (flipping layers 2 and 3).

(4) You could realize the rit. and accel. with *MM tempo markings if you want the score playback to be somewhat like a performance rendering. But this could be a future enhancement where you align the score to a particular performance (useful for performance analysi), basically copying the timings of a performance (ignoring timing difference between notes that are simultaneous in the score, where such timing differences are usually small and otherwise much more time to encode).

(5) There are quarter note rests like this:

Screenshot 2024-04-05 at 8 59 19 PM

I left them as is, since I am changing to more automatic rest vertical placement (using verovio placement), and such rests are now by default separated (previous default was to merge them). I will probably add *rjoin interpretations to merge such rest when desired.

@bel28kent
Copy link
Owner Author

bel28kent commented Apr 6, 2024

My apologies; I was doing this quickly between classes. Here is an annotated version of the screenshot:

Screen Shot 2024-04-06 at 12 30 51 PM

Link to the kern on editing branch scriabin-op17_no01.krn.

@bel28kent bel28kent changed the title op17_no01: vhv does not place the quarter-note stop correctly after the spine join General issue: Three voices that do not align properly Apr 6, 2024
@bel28kent
Copy link
Owner Author

Also in scriabin-op22_no02.krn.

Screen Shot 2024-04-06 at 1 29 04 PM

@bel28kent
Copy link
Owner Author

bel28kent commented Apr 6, 2024

scriabin-op22_no03

Screen Shot 2024-04-06 at 1 59 29 PM

Also note clef change issue in m. 23 as documented in humdrum-tools/verovio-humdrum-viewer#861

@craigsapp
Copy link
Contributor

I suspect that this is related to flipper processing more than two subspines at a time. This will be a good test file to see about generalizing flipper to three (or more) subspines.

The general problem is that there is one way to split one spine into two: "*^". But for two spines, there are * *^ and *^ *.

both of these seem to produce correct `flipper -a output:

**a
A
*^
A1	A2
*^	*
A11	A12	A2
*v	*v	*v
*-
flipper -ia -a
**a
A
*^
A2	A1
*	*^
A2	A12	A11
*v	*v	*v
*-

And with the alternate spine splitting case:

**a
A
*^
A1	A2
*	*^
A1	A11	A12
*v	*v	*v
*-
flipper -ia -a
**a
A
*^
A2	A1
*^	*
A12	A11	A1
*v	*v	*v
*-

In both case the 3-subspine data gets reversed as expected:

Case 1: A11 A12 A2A2 A12 A11

Case 2: A1 A11 A12A12 A11 A1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vhv-viz-bug This issue concerns a bug in VHV visualization of kern.
Projects
None yet
Development

No branches or pull requests

2 participants