[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
film score example
From: |
Curt |
Subject: |
film score example |
Date: |
Thu, 12 Sep 2013 20:54:30 -0700 |
Hi all -
About a year ago, several of you answered questions of mine about notating a
film score. I reached a stopping point with the first cue and learned a bit
more about git, so I have the first film cue from the score up on github now:
https://github.com/tunesmith/TheForgivingSea
(pdf of score at:
https://github.com/tunesmith/TheForgivingSea/blob/master/1M2/pdf/1M2.pdf )
The score was originally prepared (in Sibelius) a few years ago, under the
tutelage of a professional hollywood film composer, Hummie Mann, and was
performed/recorded by a volunteer orchestra, so it's been through several
revisions to tighten it up. This project was to re-notate it in lilypond.
It's also a simple, short score, so it might be useful for various learning
purposes. I'm also more than happy to receive any suggestions or "pull
requests" on how to improve the score or simplify the lilypond coding.
Appended below is part of one of the README's - the "unexpected difficulties" I
had with lilypond, as in the areas that didn't seem to work easily right away.
(Note that I started this re-notation project as a complete lilypond beginner.)
A big one here is "giant time signatures", which are common in film scores but
don't seem to have a graceful solution in lilypond. Please note that these are
just the (minor) complaints, and that overall I was *extremely* happy with the
experience and output. I did this all in eclipse (elysium) on a 15" MacBook
Pro and loved the "coding" experience.
Thanks for all your help, I hope someone finds this useful!
Curt
~^~^~^~^
Unexpectedly hard parts of creating this score (all specific to v2.16):
- General spacing and staff sizes. I believe Lilypond by default puts
everything
too close together for music that is read by instrumentalists,
particularly
sight-readers. The spacing commands are easy to use, but difficult to
find
and look up if you don't already know them.
- I make liberal use of "tagging" for part extraction. It appears this is the
best
way to handle minor differences between parts and full scores.
- Hairpins are surprisingly difficult. Most instruments do not have a natural
decay, so hairpins don't necessarily start or end right at the note
boundaries. It's necessary to use "fake voices" in these cases. Even
with this, it didn't support having a decrescendo end at the Fine bar -
I had to make it end at a note value before the Fine bar. And
if you have ties over these fake voices, you have to know about
\set tieWaitForNote = ##t
- Header text elements are a bit bearish to configure. Our instructions were to
put the instrument name in the "upper left" of each part; I ended up
using
the out of the box "poet" slot, and then later reconfigured all of
bookTitleMarkup to reposition "instrument" when it became clear I'd
need
the "instrument" slot for later pages. It also could be easier to put
a
simple newline in, for longer instrument names.
- The alignment of the flat sign in text markup like "Clarinet in Bb" is
difficult.
I gave up on this one because the approach to make it look right felt
too
hard-coded.
- The "\sustainOff" right-alignment looks bad to me. It should end at the
barline
or at the rest you stop pedaling; not right afterward. Pedaling
usually implies
you pedal for the duration of the note, but not longer.
- It was difficult to figure out how to create a percussion staff where someone
switched from a pitched instrument to a rhythm instrument. Also, I'm
not
quite convinced on the choice for a percussive half note- I've seen
open-heads
in these situations before, but I found it impossible to override the
notehead
in \drummode.
- It was extremely hard to specify a subito dynamic right after a hairpin. This
is a relatively common use-case, but I had to pull in a pretty
complicated
scheme function, and modify it, to make it work as expected. This one
requirement
probably took around six hours.
- Making courtesy/cautionary accidentals show up in just the parts was a more
verbose process than it needed to be, it seemed. I wasn't able to do
this
reliably unless I tagged the entire measure. The programmer in me
wanted
to just tag the cautionary accidental alone.
- Fermatas were often misaligned, too close to or colliding with slurs. Manual
padding was necessary.
- In film scoring, it's common to include the information of the SMPTE timecode
of when a last note in a cue gets cut off, for the instruments that are
playing at that time. It was not possible to make a \markup element
right-align with the final barline. This eventually required a few
overrides to Score.RehearsalMark - not too bad, but it felt a bit
hackish.
- Specifying an arbitrary bar number (like after a long multi-rest) is not
supported out of the box, but I found a lovely, concise snippet to
help with this at http://lsr.dsi.unimi.it/LSR/Item?id=431
- Eyeglasses are sometimes used in the bottom right of a page to remind an
instrumentalist that there really is another page. I had to override
rehearsal mark in a few ways to get this to work.
- One interesting semi-bug is that top-markup-spacing doesn't seem to apply
to 2nd pages (and later pages) of scores, even if they have the
instrument
name at the top of the page. When I got to two-page parts, I had to
rejigger my formatting to use a larger top-margin, introduce
top-system-spacing, and reduce top-markup-spacing.
- It would be nice if, in a PianoStaff, you could invoke "sustainOn" in the
upper staff (for instance if you're in a melody-only section) but still
easily have the pedal markings show below the lower staff.
- Figuring out large bar numbers was difficult, and it actually required some
alpha code that is included in an issue in the lilypond issue tracker.
The mailing list was *great* at pointing this out, thanks Nick!
- Giant time signatures are actually somewhat common for film scores, but
difficult to create in any notation system. Best option I came up
with was to jack up the font size and assign them to staff groups.