Functional Art, Music, Modeling and Design (FARM 2021) Aug 27: Call for Participation

21 views
Skip to first unread message

Michael Sperber

unread,
Aug 10, 2021, 9:58:54 AM8/10/21
to Procedural Content Generation

======================================================================
                  FARM 2021

          9th ACM SIGPLAN International Workshop on
          Functional Art, Music, Modeling and Design

          27 August, 2021, co-virtuel with ICFP 2021

           https://functional-art.org/2021/
======================================================================
                   
The ACM SIGPLAN International Workshop on Functional Art, Music,
Modelling and Design (FARM) gathers together people who are harnessing
functional techniques in the pursuit of creativity and expression.

Functional Programming has emerged as a mainstream software
development paradigm, and its artistic and creative use is booming. A
growing number of software toolkits, frameworks and environments for
art, music and design now employ functional programming languages and
techniques. FARM is a forum for exploration and critical evaluation of
these developments, for example to consider potential benefits of
greater consistency, tersity, and closer mapping to a problem domain.

Registration
------------

You can register via the ICFP 2021 registration:

http://icfp21.sigplan.org/attending/registration

Don't be confused that it says ~ICFP~ - FARM is part of a larger event
around ICFP 2021, and you can register for FARM without registering
for ICFP.

Keynote
-------

Phoenix Perry will hold the keynote.

Accepted papers
---------------

minimum: a self-extensible programming language for sound and music
Tomoya Matsuura and Kazuhiro Jo

MidifilePerformer: a case study for chronologies
Juliette Chabassier, Myriam Desainte-Catherine, Jean Haury, Marin Pobel and Bernard Serpette

Temporal-Scope Grammars for Polyphonic Music Generation
Lukas Eibensteiner, Martin Ilčík and Michael Wimmer

The W-calculus: A Synchronous Framework for the Verified Modelling of Digital Signal Processing Algorithms
Emilio Jesus Gallego Arias, Pierre Jouvelot, Sylvain Ribstein and Dorian Desblancs

Human-in-the-loop Program Synthesis for Live Coding
Mark Santolucito

Live Performances
-----------------

FARM 2021 will feature a session of live performances:

- John Leo, Logical Soundness
- Emiddio Vasquez, Title TBA
- José Miguel Fernandez, Homotopy

Workshop Organisation
---------------------

Workshop Chair: Daniel Winograd-Cort (Luminous Computing)
Program Chair: Jean-Louis Giavitto (IRCAM Paris)
Publicity Chair: Michael Sperber (Active Group GmbH)
Performance Chair: John MacCallum (HfMT Hamburg)

François Luc Denhez-Teuton

unread,
Aug 19, 2021, 11:32:40 AM8/19/21
to Procedural Content Generation
If I'm generating musical notes by evaluating a numerical function per note parameter (pitch, duration, velocity, etc), is that functional art?

Because I have written a program that parses and calculates user-written numerical functions over program-controlled variables. Right now it reads a specially-formatted text file and outputs a standard MIDI file (.mid), but I'm working on a GUI.

Michael Sperber

unread,
Aug 20, 2021, 3:15:10 AM8/20/21
to François Luc Denhez-Teuton, Procedural Content Generation

On Thu, Aug 19 2021, François Luc Denhez-Teuton <flte...@gmail.com> wrote:

> If I'm generating musical notes by evaluating a numerical function per note
> parameter (pitch, duration, velocity, etc), is that functional art?
>
> Because I have written a program that parses and calculates user-written
> numerical functions over program-controlled variables. Right now it reads a
> specially-formatted text file and outputs a standard MIDI file (.mid), but
> I'm working on a GUI.

In principle, I'd say yes. Ideally, there'd be some conceptual
framework or new idea behind this, which is hard to gauge from your
brief description.

Note that the program for FARM 2021 is done - this would have to be
2022. But you can get an impression of what FARM is like by attending,
of course!

--
Regards,
Mike

François Luc Denhez-Teuton

unread,
Aug 20, 2021, 8:20:48 PM8/20/21
to Procedural Content Generation
All right, I'll give you the full rundown and you tell me if there's anything novel or interesting. I've looked at wikipedia and the closest I've come to recognizing my idea is in the "mathematical models" section of the wikipedia article on algorithmic composition.

Basically, the concept behind this program is to use only mathematical formulas to write musical compositions. The only knowledge the composer is required to know is arithmetic (including the modulo operation), trigonometric and logarithmic functions, rounding functions, the absolute functions, and some indicative operators that return 1 if the relation is true (the equality, inequality, greater-than and lesser-than relations) and 0 if not, as well as how the different variables increment after evaluation. The composer doesn't need to know how to program.

A note in that context has 4 numbers associated with it, the pitch, duration, temporal offset from the beginning of the piece, and velocity. If you take all the notes in a composition and assign them an order, you get a sequence. A sequence can be calculated by a function. The simplest variable on which to sample that function is the number of notes written before the current note, which we'll call "c", for note counter. Another variable would be the time taken up by all the notes previously written, which we'll call "t", for time (as counted in MIDI ticks) elapsed. There's also a "data[expression][expression]:parameter-name" that provides the value of any parameter of any note that's been previously written in the context of that piece. But let's not talk about "data[][]:", because then things get real complicated real fast. There's also a "D" constant, for the Duration of the piece.

Now we get to the potentially novel part: These musical parameter functions can be piecewise! Well, sort of piecewise. The composer can use several subfunctions to define the sequence that they want to use, but instead of defining the subdomain for each subfunction as a range, instead, the length of each subdomain (aka segment) is calculated by a function, and the subfunction calculated over that segment is also calculated (aka selected) by a function. These two "control functions" are named the length selector and formula selector, respectively. This also means that each subfunction has a number associated with it, assigned implicitly by it's appearance order. Now, this segmentation allows for new variables to be used, such as the "s" variable, representing the quantity of segments previously completed, and the "L" constant (at least it's a constant segment-wise) and "l" variable, which represent the Length of the current segment and the length remaining in the current segment, being measured in notes or ticks, at the composer's choosing. Additionally, there are the variables counting the number of times the subfunction has completed a segment (named "n") and the number of notes the subfunction specifically has written ("x"). These four last variables cannot be used by the control functions, because they are either calculated by them or don't know their values.

A final variable is merely a uniformly-distributed random variable, named "r", which takes a decimal value in the range [0,1[. Additionally, every "r" in a formula is evaluated independently, and has a different value.

I realize that this is a very strange way of writing music, but the idea was to provide a conceptual framework for the mathematical modelisation of individual musical pieces, which would have potentially profound consequences for music theory. In addition, we could then have a mathematical language for discussing the structure of a piece, or a specific melody, or anything that music theorists could think of.

Michael Sperber

unread,
Aug 22, 2021, 6:04:39 AM8/22/21
to François Luc Denhez-Teuton, Procedural Content Generation

I could see some interesting material here, but you'd need to contrast
this with popular livecoding frameworks (such as TidalCycles), which
also allow specifying musical compositions via mathematical formulae.

Make sure to reach out to next year's FARM Program Committee!

--
Regards,
Mike
Reply all
Reply to author
Forward
0 new messages