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

semitone filter #881

Open
derkveen opened this issue Feb 12, 2024 · 1 comment
Open

semitone filter #881

derkveen opened this issue Feb 12, 2024 · 1 comment
Assignees
Labels

Comments

@derkveen
Copy link

derkveen commented Feb 12, 2024

The semitone filter often results in a red screen. Is there a way to use this filter more flexibly? For example, I couldn't find any errors in the following file, but the semitone filter doesn't work for this file.

**kern	**kern	**kern	**kern
*part1	*part1	*part1	*part1
*staff4	*staff3	*staff2	*staff1
*clefG2	*clefF4	*clefG2	*clefG2
*k[b-]	*k[b-]	*k[b-]	*k[b-]
*F:	*F:	*F:	*F:
*M4/4	*M4/4	*M4/4	*M4/4
*met(c)	*met(c)	*met(c)	*met(c)
=1	=1	=1	=1
16r	1r	2r	2r
16gLL	.	.	.
16f	.	.	.
16e-XJJ	.	.	.
16dLL	.	.	.
16c	.	.	.
16B-	.	.	.
16AJJ	.	.	.
4G	.	16r	2g
.	.	16fLL	.
.	.	16e-X	.
.	.	16dJJ	.
*clefF4	*	*	*
16r	.	4e-	.
16cLL	.	.	.
16B-	.	.	.
16AJJ	.	.	.
=2	=2	=2	=2
[4G	1r	16r	2b-
.	.	16dLL	.
.	.	16e	.
.	.	16f#XJJ	.
16GLL]	.	[4g	.
16F	.	.	.
16E-X	.	.	.
16DJJ	.	.	.
8.CL	.	16gLL]	2a
.	.	16g	.
.	.	16f#	.
16CJk	.	16eJJ	.
16DLL	.	[4f#	.
16A	.	.	.
16d	.	.	.
16cJJ	.	.	.
=3	=3	=3	=3
4Bn	4r	16f#LL]	2g
.	.	16f	.
.	.	16e-X	.
.	.	16dJJ	.
16r	8cL	[4e-	.
16GLL	.	.	.
16c	8cJ	.	.
16E-XJJ	.	.	.
4c	[4c	16e-LL]	2rb
.	.	16e-	.
.	.	16d	.
.	.	16cJJ	.
4r	16cLL]	4d	.
.	16c	.	.
.	16B-X	.	.
.	16AJJ	.	.
=4	=4	=4	=4
16r	4B-	2r	2rb
16GLL	.	.	.
16F	.	.	.
16E-XJJ	.	.	.
16DLL	4r	.	.
16C	.	.	.
16BB-	.	.	.
16AAJJ	.	.	.
4GG	4G	16r	2g
.	.	16fLL	.
.	.	16e-X	.
.	.	16dJJ	.
4r	16r	4e-	.
.	16cLL	.	.
.	16B-	.	.
.	16AJJ	.	.
!!pagebreak:original
=5	=5	=5	=5
16rD	1r	4B-	2rb
16GLL	.	.	.
16F	.	.	.
16E-XJJ	.	.	.
16DLL	.	4r	.
16E-	.	.	.
16D	.	.	.
16CJJ	.	.	.
4r	.	16r	2dd
.	.	16fLL	.
.	.	16g	.
.	.	16aJJ	.
16rD	.	[4b-	.
16B-LL	.	.	.
16A	.	.	.
16GJJ	.	.	.
=6	=6	=6	=6
[4F#X	1r	16b-LL]	2cc
.	.	16b-	.
.	.	16a	.
.	.	16gJJ	.
16F#LL]	.	4a	.
16F#	.	.	.
16E	.	.	.
16DJJ	.	.	.
[4G	.	16aLL	2b-
.	.	16a	.
.	.	16g	.
.	.	16f#XJJ	.
16GLL]	.	[4g	.
16F#	.	.	.
16E	.	.	.
16DJJ	.	.	.
=7	=7	=7	=7
4C#X	16r	4g]	2a
.	16ELL	.	.
.	16F	.	.
.	16GJJ	.	.
8rBB	4A	16r	.
.	.	16eLL	.
8C#	.	16f	.
.	.	16gJJ	.
[4D	16r	4f	2rb
.	16ALL	.	.
.	16B-	.	.
.	16cJJ	.	.
16DLL]	8d	8r	.
16E	.	.	.
16F	8r	8f	.
16GJJ	.	.	.
=8	=8	=8	=8
4A	16dLL	4e	2rb
.	16d	.	.
.	16c	.	.
.	16B-JJ	.	.
16ALL	4c	8r	.
16B-	.	.	.
16A	.	8e-X	.
16GJJ	.	.	.
4F#X	2r	16r	2a
.	.	16gLL	.
.	.	16f#X	.
.	.	16e-JJ	.
16r	.	4d	.
16cLL	.	.	.
16B-	.	.	.
16AJJ	.	.	.
!!pagebreak:original
=9	=9	=9	=9
*^	*	*	*
[4G	2ryy	1r	16r	2b-
.	.	.	16dLL	.
.	.	.	16e	.
.	.	.	16f#XJJ	.
16GLL]	.	.	[4g	.
16A	.	.	.	.
16G	.	.	.	.
16FJJ	.	.	.	.
[4E-X	2ryy	.	16gLL]	2b-
.	.	.	16a	.
.	.	.	16g	.
.	.	.	16f#XJJ	.
16E-LL]	.	.	[4g	.
16F	.	.	.	.
16E-	.	.	.	.
16DJJ	.	.	.	.
=10	=10	=10	=10	=10
4C	2ryy	1r	16gLL]	2cc
.	.	.	16d	.
.	.	.	16e	.
.	.	.	16fJJ	.
16r	.	.	4e	.
16B-LL	.	.	.	.
16A	.	.	.	.
16GJJ	.	.	.	.
4F	2ryy	.	16r	2cc
.	.	.	16gLL	.
.	.	.	16a	.
.	.	.	16b-JJ	.
16rD	.	.	4a	.
16E-XLL	.	.	.	.
16D	.	.	.	.
16CJJ	.	.	.	.
=11	=11	=11	=11	=11
4BB-	2ryy	1r	16r	2dd
.	.	.	16f#XLL	.
.	.	.	16g	.
.	.	.	16aJJ	.
16rD	.	.	4g	.
16ALL	.	.	.	.
16G	.	.	.	.
16FJJ	.	.	.	.
4E	2ryy	.	16r	4dd
.	.	.	16b-LL	.
.	.	.	16a	.
.	.	.	16gJJ	.
16rD	.	.	4a	[4cc
16GLL	.	.	.	.
16F#X	.	.	.	.
16EJJ	.	.	.	.
*v	*v	*	*	*
=12	=12	=12	=12
8.FL	16r	4a	4cc]
.	16A#XKL	.	.
.	8dJ	.	.
16FJk	.	.	.
8.GL	16dLL	8g	4b-
.	16dJ	.	.
.	8gJ	8r	.
16GGJk	.	.	.
4C	16r	8.gL	2a
.	16EKL	.	.
.	8A#J	.	.
.	.	16gJk	.
4D	16A#LL	8.fL	.
.	16A#	.	.
.	16Bn	.	.
.	16cJJ	16e-XJk	.
!!pagebreak:original
=13	=13	=13	=13
2G	4Bn	16dLL	2g
.	.	16f	.
.	.	16e-X	.
.	.	16dJJ	.
.	16BLL	8.e-L	.
.	16BJ	.	.
.	8cJ	.	.
.	.	16fJk	.
4GG	16cLL	2d	2rb
.	16c	.	.
.	16B-X	.	.
.	16AJJ	.	.
16rD	4B-	.	.
16ALL	.	.	.
16G	.	.	.
16F#XJJ	.	.	.
=14	=14	=14	=14
16GLL	4G	2r	2r
16E-X	.	.	.
16D	.	.	.
16CJJ	.	.	.
16r	4D	.	.
16CLL	.	.	.
16BB-	.	.	.
16AAJJ	.	.	.
4GG	2r	4r	4r
12GL	.	[4b-	4dd
12g	.	.	.
12fJ	.	.	.
=15	=15	=15	=15
12eL	1r	4b-]	2cc
12D	.	.	.
12EJ	.	.	.
12F#XL	.	4a	.
12EE	.	.	.
12FF#XJ	.	.	.
12GGL	.	4a	2b-
12G	.	.	.
12F#J	.	.	.
12EL	.	4g	.
12e	.	.	.
12dJ	.	.	.
=16	=16	=16	=16
12cL	1r	4g	2a
12B-	.	.	.
12cJ	.	.	.
12dL	.	4f	.
12F	.	.	.
12DJ	.	.	.
12B-L	.	12cL	12eL
12A	.	12d	12f
12GJ	.	[12eJ	[12gJ
6A	.	12eL]	12gL]
.	.	12d	12f
12AA	.	12cJ	12eJ
!!pagebreak:original
=17	=17	=17	=17
12DL	1r	4d	4f
12F	.	.	.
12EJ	.	.	.
12DL	.	4r	4rb
12F	.	.	.
12AJ	.	.	.
12dL	.	4r	4r
12F	.	.	.
12AJ	.	.	.
12B-L	.	4b-	4dd
12g	.	.	.
12fJ	.	.	.
=18	=18	=18	=18
*	*^	*	*
12c#XL	4rc	2r	4g	2a
12A	.	.	.	.
12c#J	.	.	.	.
12r	4d	.	2f	.
12FL	.	.	.	.
12DJ	.	.	.	.
12r	4d	4F	.	2r
12DL	.	.	.	.
12BB-J	.	.	.	.
8GG	12d	12B-L	4e	.
.	6c	12A	.	.
8r	.	.	.	.
.	.	12GJ	.	.
*	*v	*v	*	*
=19	=19	=19	=19
*M4/4	*M4/4	*M4/4	*M4/4
*met(c)	*met(c)	*met(c)	*met(c)
4DD	1r	1r	4r
2.r	.	.	8.aL
.	.	.	16aJk
.	.	.	8.b-L
.	.	.	16b-Jk
.	.	.	8.ccL
.	.	.	16ccJk
=20	=20	=20	=20
1r	1r	4r	4dd
.	.	8.dL	8rdd
.	.	.	8dd
.	.	16dJk	.
.	.	8.e-XL	8.ccL
.	.	16e-Jk	16ccJk
.	.	8.fL	8.aL
.	.	16fJk	16aJk
=21	=21	=21	=21
1r	1r	4g	8.b-L
.	.	.	16ccJk
.	.	8.gL	[4dd
.	.	16dJk	.
.	.	[4e-X	8ddL]
.	.	.	16ccL
.	.	.	16b-JJ
.	.	8e-L]	[4cc
.	.	16dL	.
.	.	16cJJ	.
!!pagebreak:original
=22	=22	=22	=22
1r	4r	4d	8ccL]
.	.	.	16b-L
.	.	.	16aJJ
.	8.GL	8.gL	8.b-L
.	16GJk	16gJk	16b-Jk
.	8.AL	8.fL	8.ccL
.	16AJk	16fJk	16ccJk
.	8.BnL	8.e-XL	8.ddL
.	16BJk	16dJk	16ddJk
=23	=23	=23	=23
4r	8.cL	8.eL	8.gL
.	16cJk	16eJk	16gJk
8.AAL	8.cL	8.fL	8.aL
16AAJk	16cJk	16fJk	16aJk
8.BB-L	8.dL	4f	8.gL
16BB-Jk	16dJk	.	16aJk
8.CL	4c	4e	8.b-L
16CJk	.	.	16ccJk
=24	=24	=24	=24
8.FFL	4f	1r	4a
16CJk	.	.	.
4F	8.fL	.	2.r
.	16fJk	.	.
8.GL	8.e-XL	.	.
16GJk	16e-Jk	.	.
8.AL	8.dL	.	.
16AJk	16cJk	.	.
=25	=25	=25	=25
8rD	4B-	1r	4d
8D	.	.	.
8.DDL	8r	.	8rb
.	8B-	.	8d
16DDJk	.	.	.
8.EEL	8.B-L	.	4c
16EEJk	16B-Jk	.	.
8.FF#XL	8.AL	.	8r
.	.	.	8c
16FF#Jk	16AJk	.	.
=26	=26	=26	=26
2GG	8.GL	1r	8.B-L
.	16FJk	.	16dJk
.	8.E-XL	.	8.gL
.	16DJk	.	16fJk
4C	8.r	.	8.eL
.	16B-	.	16gJk
8.r	8.AL	.	8.ccL
16C	16GJk	.	16b-Jk
!!pagebreak:original
=27	=27	=27	=27
8.DL	4F#X	2r	8.aL
16CJk	.	.	16aJk
8.BB-L	8.GL	.	8.ddL
16AAJk	16F#Jk	.	16ccJk
4GG	4G	8.r	4b-
.	.	16d	.
4r	8.r	[4g	4r
.	16G	.	.
=28	=28	=28	=28
2rD	4e-X	8.gL]	2.r
.	.	16aJk	.
.	8.dL	4b-	.
.	16e-Jk	.	.
8rD	4f#X	4a	.
16rD	.	.	.
16D	.	.	.
8rD	4d	4f	4a
16rD	.	.	.
16DD	.	.	.
=29	=29	=29	=29
8.GGL	4d	4g	4b-
16DJk	.	.	.
8.GL	4r	8.r	4b-
16FJk	.	16d	.
8.E-XL	4r	8.gL	[4cc
16CJk	.	16b-Jk	.
8.r	4F	4a	8.ccL]
16FF	.	.	16ee-XJk
=30	=30	=30	=30
4BB-	8.r	4b-	4dd
.	16F	.	.
8.r	4B-	8.fL	4dd
16BB-	.	16gJk	.
4F	8.r	4a	4cc
.	16e-X	.	.
(8.GL	4d	4g	4b-
48FLL	.	.	.
48E	.	.	.
48DJJJ)	.	.	.
!!pagebreak:original
=31	=31	=31	=31
*	*	*^	*
4C	8r	8rb	2rG	2a
.	8G	8e-XL	.	.
4D	4F#X	8d	.	.
.	.	8cJ	.	.
4BBn	2G	8gL	4d	8r
.	.	8fJ	.	4dd
4C	.	4e-	4rF	.
.	.	.	.	8cc
*	*	*v	*v	*
=32	=32	=32	=32
1GG	1G	1d	1bn
==	==	==	==
*-	*-	*-	*-
!!!system-decoration: {(s1,s2,s3,s4)}
@craigsapp
Copy link
Member

craigsapp commented Feb 12, 2024

I suspect it is spine splits, and also more likely spine merges which are causing the problem. With music without splits/merges the semitones filter is working;

https://verovio.humdrum.org/?file=chorales/chor001.krn&filter=semitones%20%7C%20shed%20-e%20s%2Ftti%2Ftext-tti%2FX

Screenshot 2024-02-12 at 12 18 02

So I will check out what the problem is (I created that filter a while ago and haven't used it since, so I have never noticed that problem).

On the command-line terminal, the output of semitones is visible (VHV suppresses displaying it since it had invalid syntax):

humcat h://chorales/chor001.krn | semitones | rid -G

Output:

**kern	**tti	**kern	**tti	**kern	**tti	**kern	**tti
*ICvox	*ICvox	*ICvox	*ICvox	*ICvox	*ICvox	*ICvox	*ICvox
*Ibass	*Ibass	*Itenor	*Itenor	*Ialto	*Ialto	*Isoprn	*Isoprn
*I"Bass	*I"Bass	*I"Tenor	*I"Tenor	*I"Alto	*I"Alto	*I"Soprano	*I"Soprano
*>[A,A,B]	*>[A,A,B]	*>[A,A,B]	*>[A,A,B]	*>[A,A,B]	*>[A,A,B]	*>[A,A,B]	*>[A,A,B]
*>norep[A,B]	*>norep[A,B]	*>norep[A,B]	*>norep[A,B]	*>norep[A,B]	*>norep[A,B]	*>norep[A,B]	*>norep[A,B]
*>A	*>A	*>A	*>A	*>A	*>A	*>A	*>A
*clefF4	*clefF4	*clefGv2	*clefGv2	*clefG2	*clefG2	*clefG2	*clefG2
*k[f#]	*k[f#]	*k[f#]	*k[f#]	*k[f#]	*k[f#]	*k[f#]	*k[f#]
*G:	*G:	*G:	*G:	*G:	*G:	*G:	*G:
*M3/4	*M3/4	*M3/4	*M3/4	*M3/4	*M3/4	*M3/4	*M3/4
*MM100	*MM100	*MM100	*MM100	*MM100	*MM100	*MM100	*MM100
4GG	12	4B	0	4d	0	4g	0
=1	=1	=1	=1	=1	=1	=1	=1
4G	-3	4B	1	4d	2	2g	7
4E	2	8cL	-1	4e	-2	.	.
.	.	8BJ	-2	.	.	.	.
4F#	1	4A	-2	4d	0	4dd	-3
=2	=2	=2	=2	=2	=2	=2	=2
4G	-5	4G	-1	2d	-3	4.b	-2
4D	2	4F#	1	.	.	.	.
.	.	.	.	.	.	8a	-2
4E	-4	4G	5	4B	5	4g	0
=3	=3	=3	=3	=3	=3	=3	=3
4C	-1	8cL	-1	8eL	-2	4.g	2
.	.	8BJ	1	8d	2	.	.
8BBL	-2	4c	2	8e	2	.	.
8AAJ	-2	.	.	8f#J	1	8a	2
4GG	7	4d	0	4g	-1	4b	-2
=4	=4	=4	=4	=4	=4	=4	=4
2D;	-7	2d;	0	2f#;	1	2a;	2
4GG	-1	4d	-5	4g	-5	4b	3
=5	=5	=5	=5	=5	=5	=5	=5
4FF#	1	4A	2	4d	2	2dd	-2
4GG	2	4B	1	4e	2	.	.
4AA	2	4c	2	4f#	1	4cc	-1
=6	=6	=6	=6	=6	=6	=6	=6
4BB	1	4d	2	2g	-1	4b	-2
4C	2	4e	-2	.	.	2a	-2
4D	-7	8dL	-2	4f#	-4	.	.
.	.	8cJ	-1	.	.	.	.
=7	=7	=7	=7	=7	=7	=7	=7
2GG;	0	2B;	3	2d;	5	2g;	4
=:|!	=:|!	=:|!	=:|!	=:|!	=:|!	=:|!	=:|!
*>B	*>B	*>B	*>B	*>B	*>B	*>B	*>B
4GG	0	4d	0	[4g	-1	4b	0
=8	=8	=8	=8	=8	=8	=8	=8
4GG	2	4d	-2	8gL]	.	4b	1
.	.	.	.	8f#J	-2	.	.
4AA	2	4c	-1	8eL	2	4cc	2
.	.	.	.	8f#J	1	.	.
4BB	0	8BL	-2	[4g	2	4dd	0
.	.	8AJ	2	.	.	.	.
=9	=9	=9	=9	=9	=9	=9	=9
4.BB	-2	8BL	1	8gL]	.	4.dd	-2
.	.	8cJ	2	8aJ	-2	.	.
.	.	4d	0	8gL	-1	.	.
8AA	-2	.	.	8f#J	1	8cc	-1
4GG	7	4d	0	4g	-1	4b	-2
=10	=10	=10	=10	=10	=10	=10	=10
2D;	2	2d;	-3	2f#;	-2	2a;	-2
[4E	-2	4B	-4	4e	0	4g	4
=11	=11	=11	=11	=11	=11	=11	=11
4E]	.	4G	4	4e	2	2b	1
4D	-2	4B	5	8f#L	1	.	.
.	.	.	.	8gJ	2	.	.
4C	-1	4e	-2	4a	0	4cc	2
=12	=12	=12	=12	=12	=12	=12	=12
4.BB	1	2d	0	4a	-2	2dd	-2
.	.	.	.	4.g	-1	.	.
8C	2	.	.	.	.	.	.
4D	-7	4d	0	.	.	4cc	-1
.	.	.	.	8f#	1	.	.
=13	=13	=13	=13	=13	=13	=13	=13
8GGL	2	2.d	-2	2g	-2	2.b	-4
8AAJ	2	.	.	.	.	.	.
4BB	-4	.	.	.	.	.	.
4GG	5	.	.	4f	-1	.	.
=14	=14	=14	=14	=14	=14	=14	=14
2C;	-5	2c;	2	2e;	3	2g;	4
4GG	-1	4d	0	4g	2	4b	3
=15	=15	=15	=15	=15	=15	=15	=15
4FF#	1	8dL	-2	4.a	-2	2dd	-2
.	.	8cJ	-1	.	.	.	.
4GG	2	4B	1	.	.	.	.
.	.	.	.	8g	-1	.	.
4AA	2	4c	2	4f#	1	4cc	-1
=16	=16	=16	=16	=16	=16	=16	=16
4BB	-4	2d	0	2g	-1	2b	-2
4GG	7	.	.	.	.	.	.
4D	2	8dL	-2	[4f#	-2	4a	-2
.	.	8cJ	-1	.	.	.	.
=17	=17	=17	=17	=17	=17	=17	=17
8EL	-2	4B	1	8f#L]	.	4.g	2
8D	-2	.	.	8eJ	0	.	.
8C	-1	4c	2	8eL	2	.	.
8BB	-2	.	.	8f#J	1	8a	2
8AA	-2	4d	0	4g	-1	4b	-2
8GGJ	7	.	.	.	.	.	.
=18	=18	=18	=18	=18	=18	=18	=18
2D;	5	2d;	0	2f#;	1	2a;	2
[4G	-1	4d	0	4g	2	4b	3
=19	=19	=19	=19	=19	=19	=19	=19
4G]	.	2d	2	2a	-2	2dd	-2
4F#	-2	.	.	.	.	.	.
[4E	-2	4e	0	8gL	-1	4cc	-1
.	.	.	.	8f#J	1	.	.
=20	=20	=20	=20	=20	=20	=20	=20
8EL]	.	2e	-2	2g	-1	4b	-2
8DJ	-2	.	.	.	.	.	.
4C	2	.	.	.	.	2a	-2
4D	-7	8dL	-2	4f#	-4	.	.
.	.	8cJ	-1	.	.	.	.
=21	=21	=21	=21	=21	=21	=21	=21
2GG;	.	2B;	.	2d;	.	2g;	.
==	==	==	==	==	==	==	==
*-	*-	*-	*-	*-	*-	*-	*-

Checking this output on the command line:

cat input.krn | semitones | rid -G | humdrum  | head

The first error is:

humdrum: ERROR 22: Exclusive interpretations do not match for designated
                   join spines in line 198, file STDIN.

Checking that line in the output:

Screenshot 2024-02-12 at 12 24 53

The problem is as I expect: There are four *v in a row, and the loose interpretation of these lines are to merge all four of the first spines into a single spine. But this merges **kern and **tti, which is bad. This line should be split into two lines with two separate merges for the the two spines. Not backwards compatible with the original Humdrum Toolkit, I could have VHV filters and conversion to notation not allow merging spines of two different data types. One related output option I could generate is creating **tti analysis data where as a single spine for all notes on the "staff" (all subspines of a given **kern spine, which would avoid spine splits and merges in the **tti data).

@craigsapp craigsapp self-assigned this Feb 12, 2024
@craigsapp craigsapp reopened this Feb 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants