2002
Etude de l'extension de la notion d'abstraction du lambda-calcul.
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... Lire la suite
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.
Mots-clés :
Elody, Lambda-calcul, Language, Music, Programming
2000
Real-time Composition in Elody
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... Lire la suite
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.
Mots-clés :
Composition, Elody, Real-time
1998
The Role of Lambda-Abstraction in Elody
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... Lire la suite
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.
Mots-clés :
Elody, Functional programming, Lambda calculus
1997
Développement d'un opérateur d'abstraction généralisée pour le langage de programmation musicale Elody.
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... Lire la suite
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.
Mots-clés :
Elody, Lambda-calcul, Language, Music, Programming
Elody : a Java+MidiShare based Music Composition Environment
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.
Mots-clés :
Composition, Elody, Functional programming, Music
L'environnement de composition musicale Elody
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... Lire la suite
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.
Mots-clés :
Composition musicale, Elody