lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GSoC in contemporary notations


From: Urs Liska
Subject: Re: GSoC in contemporary notations
Date: Thu, 21 Mar 2019 07:58:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1

Hi Tsz Kiu Pang (which of these names would you like to be called, or should I use all of them like I did?)

Am 21.03.19 um 06:58 schrieb Tsz Kiu Pang:
Hi all,

I am writing to express my interest in working on LilyPond as part of GNU
in the Google Summer of Code.

I was just looking at the project suggestions, and am interested in working
on contemporary notations.


This would be great. While all of our GSoC suggestions would be very welcome additions this one would maybe provide the most "visible" and spectacular addition, opening up LilyPond for a whole range of applications and therefore potential users.


As a composer myself, I do find using Lilypond a
very steep learning curve, especially for contemporary music, where a lot
of workarounds are needed.


That's true, and one major issue with that (which a package would address) is that so many things have to be done from scratch over and over again, for each new project, or at least by each new user dealing with them.


I hope I can use this opportunity to create an
infrastructure for contemporary notations that will make composers' life
easier. I am also interested in creating a package that covers the style of
composers such as Iannis Xenakis or Elliott Carter.


A specific composer's package would be a secondary package built on top of a general package, and I think it would be great to aim at starting one for one specific composer (the one I had always thought of as a basis was Lachenmann, but Xenakis or Carter are equally valid choices), although it is not a requirement to achieve /comprehensive/ coverage of a composer.



I am just wondering if there are any suggestions in applying for GSoC and
writing a project proposal?


Basically you'd have to discuss a proposal on this list or in a somewhat more private circle (although generally as much as possible communication should be in public space) and find a way to show us your qualification, potential and way of communication until April 9.  A bit more on that below.



As for qualifications, I did my undergraduate in Music, majored in
Composition during my honours year, so I have good knowledge in
contemporary notation techniques and the capacity to research further if
required. I am currently a Master student in electrical engineering at the
University of Melbourne. I have only started programming last year but now
I am a tutor in programming/computing in C at the University. Though
scheme/guile is not my strong suit yet (I know the basic syntax and list
operations, but still struggling to count the parentheses), I am willing to
learn more and I believe I will have a good command in scheme/guile in a
few weeks.


The Scheme/Guile part has three steps for you to consider:

 * "Counting parentheses" (i.e. the language basics)
   Depending on how far you've got https://scheme-book.ursliska.de
   might be a useful resource for you. It goes only that far but it
   specifically addresses a) the Scheme language from a dedicated
   LilyPond perspective and b) users counting parentheses (i.e. giving
   a pretty slow-paced introduction)
 * Understanding how Scheme is hooked into LilyPond (on a general level)
 * (Learning how openLilyLib ist structured)
 * Learning how to retrieve the relevant information about score
   elements and how to modify them in appropriate places.

The last one is probably the hardest one since it is pretty opaque and terribly documented. But it's the crucial one for a contemporary notation package - and it's the one where such a package will make it hugely easier for people to work with non-standard notation.

Just last week I've decided to start with a new openLilyLib package: https://github.com/openlilylib/grob-tools. The repository on Github is empty, and right now I only have one single uncommited function locally, but the idea is to create building blocks for recurring tasks like getting the exact position of objects relative to the staff or to another object, enumerating all NoteColumns included in a slur or similar things. This will be very much relevant for a contemporary notation package. One could either say that you should put much of your results in that package, or we can try to make development of that package a community effort so that would take work from you, giving you the freedom to go further with the specific challenges.

###

What you should do now is:

 * [of course dive more into Scheme]
 * get an understanding of openLilyLib with
   a) https://github.com/openlilylib/oll-core/wiki
   b) the code in that repository
   c) looking at how other openLilyLib packages are built within that
   infrastructure
 * Form an idea how a contemporary notation package could be approached
   and discuss that with us
 * Find some small things you could do to openLilyLib package(s) to a)
   practice and b) give us an opportunity to assess your work. If we
   have some idea about your current familiarity with the matter we can
   find some suggestions for that.

HTH
Urs


Kind regards,
Tsz-Kiu
_______________________________________________
lilypond-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-devel


reply via email to

[Prev in Thread] Current Thread [Next in Thread]