-
Notifications
You must be signed in to change notification settings - Fork 3
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
rationals in rhythm-seqs #58
Comments
That doesn’t surprise me, because your rthm-seqs are being entered the way sc would expect your to explicitly notate dots. It’s not so easy to catch all dots, double dots, and triple dots, in all varieties, especially when rationals can lead to complex (nested) tuplets. That’s why there’s the rqq way of entering rhythms. If you’re algorithmically creating rationals then rqq is the way to go:
(let* ((working-title
(make-slippery-chicken
'+working-title+
:title "working-title"
:ensemble '(((oboe (oboe :midi-channel 1))))
:set-palette '(( 1 ((c4))))
:tempo-map '((1 (q 90)))
:set-map `((1 (1)))
:rthm-seq-palette '((1 ((((4 4) (4 (3 1))))))) ;4/3 4)))))
:rthm-seq-map `((1 ((oboe (1))))))))
(cmn-display working-title)
(lp-display working-title)
(write-xml working-title))
Of course that works out the number of dots, as you can see, so theoretically we could bang away at the code to try and catch all cases, if you’re up for that.
Best, Michael
… On 18. Apr 2022, at 18:32, Leon-Focker ***@***.***> wrote:
There seems to be an issue with rationals as rhythm values when trying to write cmn, lilypond or xml data. Here is a minimal example that produces nonsense:
(let* ((working-title
(make-slippery-chicken
'+working-title+
:title "working-title"
:ensemble '(((oboe (oboe :midi-channel 1))))
:set-palette '(( 1 ((c4))))
:tempo-map '((1 (q 90)))
:set-map `((1 (1)))
:rthm-seq-palette '((1 ((((4 4) 4/3 4)))))
:rthm-seq-map `((1 ((oboe (1))))))))
(cmn-display working-title)
(lp-display working-title)
(write-xml working-title))
With cmn, the 4/3, which should be a dotted half note, becomes just a half note.
Lilypond writes a whole note and the following quarter into a second bar, which shoudln't exist.
When opening the xml file with musescore I see a whole note and a quarter in one 4/4 bar.
For me there is no error or warning within sc.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
|
PS (get-rhythm-letter-for-value 4/3) ---> h. |
Ah I see, I'll try and make acquaintance with rqq then! The (get-rhythm-letter-for-value) function helps a lot for now. Do you think that some form of it should maybe be run when parsing the rhythms? In that case you could probably prevent some weird notation outputs and also get a warning as soon as rationals get a bit out of hand for notation... |
Sadly rqq only solves a few of my troubles... Maybe working with a 13/16 time signature wasn't such a good idea after all :d
|
Hi Leon,
The (get-rhythm-letter-for-value) function helps a lot for now. Do you think that some form of it should maybe be run when parsing the rhythms?
I think it’s something _you_ should run when parsing _your_ rhythms and before you make a rthm-seq or bar or whatever with them.
It’s a bit like skiing: the pistes are prepared for you. You can go this way, you can go that way. If you choose to go off-piste, don’t complain when you hit a tree ;-)
In that case you could probably prevent some weird notation outputs and also get a warning as soon as rationals get a bit out of hand for notation…
On a more serious note, see how you get along pre-processing your data and let’s talk about this. We’d need a way of reliably detecting a number (because we can’t restrict ourselves to rationals, surely?) that we know we'd want to process for possible dots and (possibly nested) tuplets—you can’t ignore those if you’re going to accept any random number and try to make it work in notation. It can be done of course but it might need a while and a lot of tests. See parse-rhythms in rthm-seq-bar.lsp for example.
Cheers, Michael
|
There seems to be an issue with rationals as rhythm values when trying to write cmn, lilypond or xml data. Here is a minimal example that produces a weird score:
With cmn, the 4/3, which should be a dotted half note, becomes just a half note.
Lilypond writes a whole note and the following quarter into a second bar, which shoudln't exist.
When opening the xml file with musescore I see a whole note and a quarter in one 4/4 bar.
For me there is no error or warning within sc.
The text was updated successfully, but these errors were encountered: