Mot-clé : Elody

2002

Le programme Elody repose principalement sur les concepts du lambda-calcul, notamment les notions d'abstraction et d'application. L'abstraction classique a été étendue dans [leplatre] afin de permettre des manipulations plus puissantes de lambda-termes. Cette extension reposait sur une relation de généralité définie entre deux termes. Nous étudions ici plus précisément comment définir une relation de généralité entre deux termes, dans un but un peu différent du... read_more

Le programme Elody repose principalement sur les concepts du lambda-calcul, notamment les notions d'abstraction et d'application. L'abstraction classique a été étendue dans [leplatre] afin de permettre des manipulations plus puissantes de lambda-termes. Cette extension reposait sur une relation de généralité définie entre deux termes. Nous étudions ici plus précisément comment définir une relation de généralité entre deux termes, dans un but un peu différent du précédent: nous souhaitons pouvoir représenter des ensembles de termes, avec comme intuition qu'un terme représente lénsemble de tous les termes moins généraux que lui. On cherche donc d'abord à obtenir une définition précise à partir de cette idée intuitive, en envisageant différentes définitions possibles, et on étudie les conséquences du choix qui semble le plus logique. La définition adoptée permet de définir une relation d'ordre et une relation d'équivalence qu'il convient de caractériser. On montre ensuite qu'il est possible de définir la borne supérieure et la borne inférieure d'un ensemble fini de termes, ce qui correspond à l'union et à l'intersection pour les ensembles de termes. On obtient finalement un cadre théorique assez net autour de la notion de généralité, qui permet dénvisager d'autres développements en manipulant des ensembles de termes. A titre déxemple, on présente les algorithmes permettant déffectuer les opérations sur les termes discutées précédemment, et enfin le code source commenté d'une implémentation simple en Caml.

2000

Real-time Composition in Elody

International Computer Music Conference, 2000, Berlin, Germany. pp.336-339

Elody was initially an environment for musical composition allowing the description and algorithmic manipulation of non real-time musical structures. To allow the definition of real-time transformation processes, we have added a new primitive in the language : the real-time input stream. This object can be manipulated and transformed like non real-time objects even before being known. Evaluating a real-time expression gives as result a command sequence which dr... read_more

Elody was initially an environment for musical composition allowing the description and algorithmic manipulation of non real-time musical structures. To allow the definition of real-time transformation processes, we have added a new primitive in the language : the real-time input stream. This object can be manipulated and transformed like non real-time objects even before being known. Evaluating a real-time expression gives as result a command sequence which drives a transformation engine. This one transforms a real-time input stream in an output stream.

Stéphane Letz, Dominique Fober, Yann Orlarey

Mots-clés :
Composition, Elody, Real-time

1998

The Role of Lambda-Abstraction in Elody

International Computer Music Conference, 1998, Ann Arbor, United States. pp.377-384

The Elody music composition environment proposes lambda-abstraction on musical structures as a fundamental mechanism to represent user-defined musical concepts and compositional processes. The user can define new musical concepts either on top of concrete musical objects by generalizing them via an abstraction operation, or by composing and transforming previously defined abstractions. As the paper will show through several examples, this approach leads to a qu... read_more

The Elody music composition environment proposes lambda-abstraction on musical structures as a fundamental mechanism to represent user-defined musical concepts and compositional processes. The user can define new musical concepts either on top of concrete musical objects by generalizing them via an abstraction operation, or by composing and transforming previously defined abstractions. As the paper will show through several examples, this approach leads to a quite natural formalization as well as a convenient active notation for many musical notions and compositional techniques.

Stéphane Letz, Dominique Fober, Yann Orlarey

Mots-clés :
Elody, Functional programming, Lambda calculus

1997

Dans le cadre des recherches réalisées au laboratoire d'informatique musicale de Grame autour des langages homogènes dérivés du lambda-calcul non typé, on se propose d'étudier les possibilités de généralisation de l'abstraction héritée du lambda-calcul. Dans cette optique, on formalise une notion de généralité des expressions du langage. En référence à cette notion, on peut envisager l'abstraction généralisée d'une expression e dans une expression f comme le mo... read_more

Dans le cadre des recherches réalisées au laboratoire d'informatique musicale de Grame autour des langages homogènes dérivés du lambda-calcul non typé, on se propose d'étudier les possibilités de généralisation de l'abstraction héritée du lambda-calcul. Dans cette optique, on formalise une notion de généralité des expressions du langage. En référence à cette notion, on peut envisager l'abstraction généralisée d'une expression e dans une expression f comme le moyen de désigner dans f tous les sous-termes q de f tels que e est plus générale que q. L'opérateur ainsi défini dans un lambda-calcul non typé peut être facilement adapté à un langage de programmation musicale dérivé du lambda-calcul. Dans Elody, un langage de ce type développé à Grame en JAVA, on a remplacé de cette manière, l'opérateur d'abstraction simple implémenté à l'origine, par un opérateur d'abstraction généralisé. Ce qui a pour incidence d'élargir la fonctionnalité du langage.

L'environnement de composition musicale Elody

Journées d'Informatique Musicale, 1997, Lyon, France. pp.122-136

Elody est un environnement pour la composition musicale permettant la description et la manipulation algorithmique de structures musicales et de procédés compositionnels. Son interface utilisateur est basée sur la manipulation directe d?objets musicaux et algorithmiques par le biais du glisser-déposer et de constructeurs visuels. Elody intègre également des fonctionnalités internet afin de faciliter l?échange et la collaboration entre utilisateurs. Tout l'envir... read_more

Elody est un environnement pour la composition musicale permettant la description et la manipulation algorithmique de structures musicales et de procédés compositionnels. Son interface utilisateur est basée sur la manipulation directe d?objets musicaux et algorithmiques par le biais du glisser-déposer et de constructeurs visuels. Elody intègre également des fonctionnalités internet afin de faciliter l?échange et la collaboration entre utilisateurs. Tout l'environnement est écrit en Java et utilise les services de MidiShare pour les communications Midi et les fonctionnalités temps-réel.

Yann Orlarey, Dominique Fober, Stéphane Letz

Mots-clés :
Composition musicale, Elody

Elody : a Java+MidiShare based Music Composition Environment

International Computer Music Conference, 1997, Thessaloniki, Greece. pp.391-394

This paper introduces Elody, a MidiShare compatible music composition environment developed in Java. The heart of Elody is a visual functional language derived from the G-Calculus. The languages expressions are handled through visual constructors and Drag and Drop actions allowing the user to play in realtime with the language.

Yann Orlarey, Dominique Fober, Stéphane Letz

Mots-clés :
Composition, Elody, Functional programming, Music