2014
Gesture cutting through textual complexity: Towards a tool for online gestural analysis and control of complex piano notation processing
This project introduces a recently developed prototype for real-time processing and control of complex piano notation through the pianist’s gesture. The tool materializes an embodied cognition-influenced paradigm of interaction of pianists with complex notation (embodied or corporeal navigation), drawing from latest developments in the computer music fields of musical representation (augmented and interactive musical scores via INScore) and of multimodal intera... Lire la suite
This project introduces a recently developed prototype for real-time processing and control of complex piano notation through the pianist’s gesture. The tool materializes an embodied cognition-influenced paradigm of interaction of pianists with complex notation (embodied or corporeal navigation), drawing from latest developments in the computer music fields of musical representation (augmented and interactive musical scores via INScore) and of multimodal interaction (Gesture Follower). Gestural, video, audio and MIDI data are appropriately mapped on the musical score, turning it into a personalized, dynamic, multimodal tablature. This tablature may be used for efficient learning, performance and archiving, with potential applications in pedagogy, composition, improvisation and score following. The underlying metaphor for such a tool is that instrumentalists touch or cut through notational complexity using performative gestures, as much as they touch their own keyboards. Their action on the instrument forms integral part of their understanding, which can be represented as a gestural processing of the notation. Next to the already mentioned applications, new perspectives in piano performance of post-1945 complex notation and in musicology (‘performative turn’), as well as the emerging field of ‘embodied and extended cognition’, are indispensable for this project.
2013
Atelier: Quelles interfaces pour combiner l' écriture et la manipulation dynamique du temps dans les systèmes musicaux interactifs ?
Programming Interactive Music Scores with INScore
INScore is an environment for the design of interactive music scores that includes an original event-based interaction system and a scripting language for associating arbitrary messages to these events. We extended the previous version by supporting scripting languages offering a great flexibility in the description of scores and in the interactions with scores. The textual format is directly derived from the OSC message format that was defined in the original... Lire la suite
INScore is an environment for the design of interactive music scores that includes an original event-based interaction system and a scripting language for associating arbitrary messages to these events. We extended the previous version by supporting scripting languages offering a great flexibility in the description of scores and in the interactions with scores. The textual format is directly derived from the OSC message format that was defined in the original INScore version. This article presents the scripting language and illustrates its ability to describe interactions based on events, while remaining in the temporal space. It also introduces the IRCAM gesture follower and how it is embedded into INScore to provide gestural interaction capabilities.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Interaction, Synchronization, Music, Score, Graphic, Programming
COMMENT EMBARQUER LE COMPILATEUR FAUST DANS VOS APPLICATIONS ?
Le compilateur Faust est désormais disponible sous la forme d'une librairie nommée libfaust. Associée à la technologie LLVM, cette librairie peut être embarquée dans n'importe quelle application ou plugin audio, leur permettant ainsi de compiler et d'exécuter dynamiquement du code Faust de manière native, aussi efficacement que du code compilé traditionnel. L'article présente la libraire libfaust, l'infrastructure de compilation LLVM, et deux applications de ce... Lire la suite
Le compilateur Faust est désormais disponible sous la forme d'une librairie nommée libfaust. Associée à la technologie LLVM, cette librairie peut être embarquée dans n'importe quelle application ou plugin audio, leur permettant ainsi de compiler et d'exécuter dynamiquement du code Faust de manière native, aussi efficacement que du code compilé traditionnel. L'article présente la libraire libfaust, l'infrastructure de compilation LLVM, et deux applications de cette technologie : faustgen un plugin Max/MSP permettant d'éditer, de compiler et d'exécuter du code Faust depuis Max, et FaustNode, une extension de la WebAudio API permettant de compiler et d'exécuter du code Faust depuis un navigateur Web.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Programmation événementielle de partitions musicales interactives
INSCORE est un environnement pour la conception de partitions musicales interactives qui intègre un système original d'interaction basé sur des événements et sur un langage de script permettant d'associer des messages arbitraires à ces événements. Initialement conçu pour être piloté via OSC, la version textuelle des messages OSC s'est rapidement constituée en format de stockage, puis étendue en un langage de script permettant une plus grande souplesse dans la d... Lire la suite
INSCORE est un environnement pour la conception de partitions musicales interactives qui intègre un système original d'interaction basé sur des événements et sur un langage de script permettant d'associer des messages arbitraires à ces événements. Initialement conçu pour être piloté via OSC, la version textuelle des messages OSC s'est rapidement constituée en format de stockage, puis étendue en un langage de script permettant une plus grande souplesse dans la description des partitions et des interactions avec ces partitions. Cet article présente ce langage de script et illustre notamment ses capacités à décrire des interactions sous forme événementielle, tout en restant dans l'espace temporel.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Partitions musicales, Interaction, Programmation
Ce rapport présente une étude préliminaire réalisée dans le cadre du projet ANR INEDIT. L'objectif est de définir les éléments de caractérisation des processus musicaux et la manière de les représenter, pouvant servir notamment à une représentation des processus musicaux au sein de la partition musicale.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Processus musical, Interaction, Représentation, Partition musicale
Etudier et jouer une oeuvre musicale en manipulant des objets.
Cet article présente trois expériences musicales et pédagogiques menées à l'Atelier des Feuillantines. Elles s'inscrivent dans le cadre de divers projets nationaux comme « Interlude » ou « Musique Lab 2 ». Certains de ces projets visent à préfigurer ce que pourrait être l'écoute d'une oeuvre au moyen de technologies de suivi de geste, dans des contextes allant de la pédagogie musicale aux installations grand public, d'autres sont explicitement axés sur le dével... Lire la suite
Cet article présente trois expériences musicales et pédagogiques menées à l'Atelier des Feuillantines. Elles s'inscrivent dans le cadre de divers projets nationaux comme « Interlude » ou « Musique Lab 2 ». Certains de ces projets visent à préfigurer ce que pourrait être l'écoute d'une oeuvre au moyen de technologies de suivi de geste, dans des contextes allant de la pédagogie musicale aux installations grand public, d'autres sont explicitement axés sur le développement de nouveaux outils croisant pédagogie et création. Les trois expériences décrites dans cet article appartiennent à deux grandes catégories. La première concerne l'utilisation d'un outil associant des gestes, une partition et un enregistrement, la seconde consiste à jouer une oeuvre, en l'occurrence ici le canon par tons de l'Offrande Musicale de Bach, et une partie de la Rousserolle Effarvatte d'Olivier Messiaen à partir de leurs constituants de base matérialisés par des objets dont la manipulation coïncide avec des traitements reproduisant le « mouvement » de la composition.
Mots-clés :
Interaction, Musique, Pédagogie
The T-Calculus : towards a structured programing of (musical) time and space
In the field of music system programming, the T-calculus is a proposal for combining space modeling and time programming into a single programming feature: spatiotemporal tiled programming. Based on a solid algebraic model, it aims at decomposing every operation on musical objects into the sequence of a synchronization operation that describes how objects are positioned one with respect the other, and a fusion operation that describes how their values are then... Lire la suite
In the field of music system programming, the T-calculus is a proposal for combining space modeling and time programming into a single programming feature: spatiotemporal tiled programming. Based on a solid algebraic model, it aims at decomposing every operation on musical objects into the sequence of a synchronization operation that describes how objects are positioned one with respect the other, and a fusion operation that describes how their values are then combined. A first simple version of such a tiled calculus is presented and studied in this paper. 1 Introduction
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Interactive music, Synchronous programing, Event based programing, Tiled programing
2012
Abstraction du processus temps réel : une stratégie pour la préservation à long terme
Les recherches décrites ici abordent la problématique de la préservation à long terme du processus temps réel dans la création contemporaine utilisant le numérique. En effet, nous avons développé une stratégie d' abstraction, laquelle consiste à générer automatiquement une documentation mathématique qui explicite la sémantique d'un processus, représentée uniquement à l'aide de la notation mathématique et du langage naturel. L'objectif et lénjeu de cette approch... Lire la suite
Les recherches décrites ici abordent la problématique de la préservation à long terme du processus temps réel dans la création contemporaine utilisant le numérique. En effet, nous avons développé une stratégie d' abstraction, laquelle consiste à générer automatiquement une documentation mathématique qui explicite la sémantique d'un processus, représentée uniquement à l'aide de la notation mathématique et du langage naturel. L'objectif et lénjeu de cette approche sont à situer dans le statut auto-suffisant de cette documentation, en tant que support autonome pour la réimplémentation.
Mots-clés :
DSP, FAUST, Heritage, Preservation, Programming
SCORES LEVEL COMPOSITION BASED ON THE GUIDO MUSIC NOTATION
Based on the Guido Music Notation format, we have developed tools for music score ”composition”, i.e. operators that take scores both as target and arguments of high level transformations, applicable for example to the time domain (e.g. cutting the head or the tail of a score) or to the structural domains (e.g. putting scores in sequence or in parallel). Providing these operations at score level is particularly convenient to express music ideas and to compose t... Lire la suite
Based on the Guido Music Notation format, we have developed tools for music score ”composition”, i.e. operators that take scores both as target and arguments of high level transformations, applicable for example to the time domain (e.g. cutting the head or the tail of a score) or to the structural domains (e.g. putting scores in sequence or in parallel). Providing these operations at score level is particularly convenient to express music ideas and to compose these ideas in an homogeneous representation space. However, scores level composition gives raise to a set of issues related to the music notation consistency. This paper introduces the GUIDO Music Notation format, presents the score com- position operations, the notation issues and a proposal to solve them.
Mots-clés :
Composition, Music score
Composition de partitions musicales
Basé sur le format de notation musicale Guido , nous avons développé un ensemble d'outils pour la composition de partitions musicales. Il s'agit d'opérations de transformation de haut niveau, prenant des partitions en entrée pour en générer de nouvelles en sortie. Ces opérations peuvent par exemple s'appliquer au domaine temporel (e.g. couper le début ou la fin d'une partition) ou concerner la structure de la partition (mise en séquence, en parallèle).
Mots-clés :
Processing, Score
The Faust Online Compiler: a Web-Based IDE for the Faust Programming Language
The Faust Online Compiler is a PHP/JavaScript based web application that provides a cross-platform and cross-processor programming environment for the Faust language. It allows to use most of Faust features directly in a web browser and it integrates an editable catalog of examples making it a platform to easily share and use Faust objects.
INScore - An Environment for the Design of Live Music Scores
INScore is an open source framework for the design of interactive, augmented, live music scores. Augmented music scores are graphic spaces providing representation, composition and manipulation of heterogeneous and arbitrary music objects (music scores but also images, text, signals...), both in the graphic and time domains. INScore includes also a dynamic system for the representation of the music performance, considered as a specific sound or gesture instance... Lire la suite
INScore is an open source framework for the design of interactive, augmented, live music scores. Augmented music scores are graphic spaces providing representation, composition and manipulation of heterogeneous and arbitrary music objects (music scores but also images, text, signals...), both in the graphic and time domains. INScore includes also a dynamic system for the representation of the music performance, considered as a specific sound or gesture instance of the score, and viewed as signals. It integrates an event based interaction mechanism that opens the door to original uses and designs, transforming a score as a user interface or allowing a score self-modification based on temporal events. This paper presents the system features, the underlying formalisms, and introduces the OSC based scripting language.
Mots-clés :
Graphic, Interaction, Music, Score, Synchronization
Le compilateur en ligne de Faust : un IDE en ligne pour le langage de programmation FAUST
FAUST est un langage de programmation fonctionnel pour le traitement du signal et la synthèse de sons en temps réel. Grâce à un système de fichiers d’architectures, un seul et unique programme FAUST peut être utilisé pour générer du code pour un ensemble de types d’applications et de plug-ins. Le compilateur en ligne de FAUST ici présenté est une application Web écrite en PHP et en JavaScript offrant un environnement de développement multiplateforme et multipro... Lire la suite
FAUST est un langage de programmation fonctionnel pour le traitement du signal et la synthèse de sons en temps réel. Grâce à un système de fichiers d’architectures, un seul et unique programme FAUST peut être utilisé pour générer du code pour un ensemble de types d’applications et de plug-ins. Le compilateur en ligne de FAUST ici présenté est une application Web écrite en PHP et en JavaScript offrant un environnement de développement multiplateforme et multiprocesseur pour le langage FAUST. Cet outil rend possible l’utilisation de la plupart des fonctionnalités de FAUST dans un navigateur Web et intègre un catalogue d’exemples évolutif faisant de lui une plate-forme pour utiliser et échanger facilement tout objet FAUST. Le fonctionnement du compilateur en ligne de FAUST est présenté en détail dans cet article. Les possibilités offertes par cet outil sont discutées et une brève ouverture sur les enjeux de l’utilisation des technologies Web pour l’informatique musicale est faite.
Mots-clés :
DSP, FAUST, Programming, Web
Segments and Mapping for Scores and Signal Representations
We present a general theoretical framework to describe segments and the different possible mapping that can be established between them. Each segment can be related to different music representations, graphical scores, music signals or gesture signals. This theoretical formalism is general and is compatible with large number of problems found in sound and gesture computing. We describe some examples we developed in interactive score representation, superposed w... Lire la suite
We present a general theoretical framework to describe segments and the different possible mapping that can be established between them. Each segment can be related to different music representations, graphical scores, music signals or gesture signals. This theoretical formalism is general and is compatible with large number of problems found in sound and gesture computing. We describe some examples we developed in interactive score representation, superposed with signal representation, and the description of synchronization between gesture and sound signals.
Mots-clés :
Synchronization, Gesture, Music, Music score
Real-Time Score Notation from Raw MIDI Inputs
This paper describes tools designed and experiments conducted in the context of MIROR, a European project investigating adaptive systems for early childhood music education based on the paradigm of reflexive interaction. In MIROR, music notation is used as the trace of both the user and the system activity, produced from MIDI instruments. The task of displaying such raw MIDI inputs and outputs is difficult as no a priori information is known concerning the unde... Lire la suite
This paper describes tools designed and experiments conducted in the context of MIROR, a European project investigating adaptive systems for early childhood music education based on the paradigm of reflexive interaction. In MIROR, music notation is used as the trace of both the user and the system activity, produced from MIDI instruments. The task of displaying such raw MIDI inputs and outputs is difficult as no a priori information is known concerning the underlying tempo or metrical structure. We describe here a completely automatic processing chain from the raw MIDI input to a fully-fledge music notation. The low level music description is first converted in a score level description and then automatically rendered as a graphic score. The whole process is operating in real-time. The paper describes the various conversion steps and issues, including extensions to support score annotations. The process is validated using about 30,000 musical sequences gathered from MIROR experiments and made available for public use.
Mots-clés :
MIDI, Music score, Real-time
2011
Dependent vector types for data structuring in multirate Faust
Faust is a functional programming language dedicated to the specification of ex- ecutable monorate synchronous musical applications. To extend Faust capabil- ities to important domains such as FFT-based spectral processing, we introduce here a multirate extension of the core Faust language. The novel idea is to link rate changes to data structure manipulation operations. Creating a vector-valued output signal divides the rate of input signals by the vector size... Lire la suite
Faust is a functional programming language dedicated to the specification of ex- ecutable monorate synchronous musical applications. To extend Faust capabil- ities to important domains such as FFT-based spectral processing, we introduce here a multirate extension of the core Faust language. The novel idea is to link rate changes to data structure manipulation operations. Creating a vector-valued output signal divides the rate of input signals by the vector size, while serializ- ing vectors multiplies rates accordingly. As duals to vectors, we also introduce record-like data structures, which are used to gather data but do not change sig- nal rates. This interplay between data structures and rates is made possible in the language static semantics by the introduction of dependent types. We present a typing semantics, a denotational semantics and correctness theorems that show that this data structuring/multirate extension preserves the language synchronous characteristics. This new design is under implementation in the Faust compiler.
FAUST Architectures Design and OSC Support.
FAUST [Functional Audio Stream] is a functional programming language specifically designed for real-time signal processing and synthesis. It consists in a compiler that translates a FAUST program into an equivalent C++ program, taking care of generating the most efficient code. The FAUST environment also includes various architecture files, providing the glue between the FAUST C++ output and the host audio and GUI environments. The combination of architecture f... Lire la suite
FAUST [Functional Audio Stream] is a functional programming language specifically designed for real-time signal processing and synthesis. It consists in a compiler that translates a FAUST program into an equivalent C++ program, taking care of generating the most efficient code. The FAUST environment also includes various architecture files, providing the glue between the FAUST C++ output and the host audio and GUI environments. The combination of architecture files and FAUST output gives ready to run applications or plugins for various systems, which makes a single FAUST specification available on different platforms and environments without additional cost. This article presents the overall design of the architecture files and gives more details on the recent OSC architecture.
Mots-clés :
Architecture, FAUST
Auto-documentation mathématique pour le traitement du signal avec Faust
L'article aborde le problème de la préservation à long terme des processus numériques temps réel utilisés dans la création musicale contemporaine. Nous présentons une stratégie de préservation par abstraction mathématique. Elle consiste à générer automatiquement une documentation mathématique qui décrit de manière précise la sémantique complète de tels processus.
Mots-clés :
DSP, FAUST, Heritage, Preservation, Programming
INScore OSC Messages Reference v.0.96
INScore scripting API version 0.96. INScore is a system for the design of live music scores. It is basically driven by OSC messages. This document describes the set of OSC messages supported by the system.
2010
Automatic Parallelization of Audio Applications with Faust
FAUST est un langage de programmation fonctionnel spécifiquement conçu pour la synthèse et le traitement du signal en temps réel. L'une des particularités du langage est de concilier une syntaxe textuelle avec une approche par composition algébrique de bloc-diagrammes. Une autre particularité de FAUST est de pouvoir être compilé de manière très efficace. Le code C++ produit par le compilateur Faust peut généralement rivaliser avec du code écrit à la main par un... Lire la suite
FAUST est un langage de programmation fonctionnel spécifiquement conçu pour la synthèse et le traitement du signal en temps réel. L'une des particularités du langage est de concilier une syntaxe textuelle avec une approche par composition algébrique de bloc-diagrammes. Une autre particularité de FAUST est de pouvoir être compilé de manière très efficace. Le code C++ produit par le compilateur Faust peut généralement rivaliser avec du code écrit à la main par un développeur expérimenté. Faust offre une alternative de haut niveau au C pour l'écriture de plugins, de bibliothèques et d'applications audio sans pour autant sacrifier les performances. En outre, grâce à son système d'architectures, le code Faust peut être facilement déployé sur plus d'une dizaine de plateformes audio (VST, MAX/MSP, PD, SC, CSOUND, JACK, etc.). Nous avons récemment étendu le compilateur avec de nouvelles options permettant de générer automatiquement du code parallelisé. L'objectif de l'exposé sera de présenter ces techniques de génération de code et les gains de performances que l'on peut espérer sur les machines multicore actuelles. La présentation sera accompagnée de démonstrations et d'exemples concrets. Signalons que le projet est accessible sur sourceforge (\url{http://sourceforge.net/projects/faudiostream/}). Il est également possible d'utiliser le compilateur FAUST en ligne, à l'adresse suivante : \url{http://faust.grame.fr}.
Time Synchronization in Graphic Domain - A new paradigm for Augmented Music Scores
We propose a simple method for synchronization of arbitrary graphic objects, based on their time relations. This method relies on segmentation and mappings that are relations between segmentations. The paper gives a formal description of segmentations and mappings and presents Interlude, a framework that implements the proposed method under the form of an augmented music score viewer, opening a new space to music notation.
Mots-clés :
Music, Notation, Synchronization
Automatic Paralllelization of Audio Applications with Faust
Faust (Functional AUdio STreams) [1] stands for both a programming language and its compiler. Being fully compiled allows Faust to be used as an alternative to C/C++ to develop high-performance audio signal processing applications, DSP libraries and plug-ins for a variety of audio platforms and standards.
Mots-clés :
Compiler, Dataflow, Functional, Processing, Programming, Real-time, Signal
First Steps Towards an Organology Of Virtual Instruments In Computer Music
In this paper, we will first take assess of 25 years of interactive real-time music, and introduce the problem of preservation of this music for the future generations, that is to say its ability to be re-performed, and not only to preserve the recordings. We present the state of the art in the field of active preservation of real-time works. We then give an overview of the solutions developed by IRCAM and its partners Grame, Armines ParisTech and CIEREC, in th... Lire la suite
In this paper, we will first take assess of 25 years of interactive real-time music, and introduce the problem of preservation of this music for the future generations, that is to say its ability to be re-performed, and not only to preserve the recordings. We present the state of the art in the field of active preservation of real-time works. We then give an overview of the solutions developed by IRCAM and its partners Grame, Armines ParisTech and CIEREC, in the framework of the ASTREE project, and explain the possibilities envisioned in a case study that is En Echo by Philippe Manoury.
Mots-clés :
FAUST
Dependent Vector Types for Multirate Faust
Faust is a functional programming language dedicated to the specification of executable monorate synchronous mu- sical applications. To extend Faust capabilities to domains such as spectral processing, we introduce here a multi- rate extension of the core Faust language. The key idea is to link rate changes to data structure manipulation op- erations: creating a vector-valued output signal divides the rate of input signals by the vector size, while serializing... Lire la suite
Faust is a functional programming language dedicated to the specification of executable monorate synchronous mu- sical applications. To extend Faust capabilities to domains such as spectral processing, we introduce here a multi- rate extension of the core Faust language. The key idea is to link rate changes to data structure manipulation op- erations: creating a vector-valued output signal divides the rate of input signals by the vector size, while serializing vectors multiplies rates accordingly. This interplay be- tween vectors and rates is made possible in the language static semantics by the introduction of dependent types. We present a typing semantics, a denotational semantics and a correctness theorem that show that this extension preserves the language synchonous characteristics. This new design is under implementation in the Faust compiler.
Partitions musicales augmentées
Une partition musicale augmentée est une partition mettant en relation un objet musical symbolique avec différentes représentations de son interprétation. La partition musicale est à considérer au sens large, comme un objet graphique permettant de représenter un objet temporel. L'interprétation représente une instance sonore ou gestuelle particulière de la partition. Nous présenterons les fondements théoriques qui sous-tendent la partition augmentée, ainsi qu'u... Lire la suite
Une partition musicale augmentée est une partition mettant en relation un objet musical symbolique avec différentes représentations de son interprétation. La partition musicale est à considérer au sens large, comme un objet graphique permettant de représenter un objet temporel. L'interprétation représente une instance sonore ou gestuelle particulière de la partition. Nous présenterons les fondements théoriques qui sous-tendent la partition augmentée, ainsi qu'une application sous forme d'afficheur mettant en oeuvre les solutions proposées.
Mots-clés :
Graphique, Interprétation, Musicale, Partition, Signal, Synchronization
INTERLUDE - A FRAMEWORK FOR AUGMENTED MUSIC SCORES
An Augmented Music Score is a graphic space providing the representation, composition and manipulation of het- erogeneous music objects (music scores but also images, text, signals...), both in the graphic and time domains. In addition, it supports the representation of the music perfor- mance, considered as a specific sound or gestural instance of the score. This paper presents the theoretical foundation of the augmented music score as well as an application -... Lire la suite
An Augmented Music Score is a graphic space providing the representation, composition and manipulation of het- erogeneous music objects (music scores but also images, text, signals...), both in the graphic and time domains. In addition, it supports the representation of the music perfor- mance, considered as a specific sound or gestural instance of the score. This paper presents the theoretical foundation of the augmented music score as well as an application - an augmented score viewer - that implements the proposed solutions.
Mots-clés :
Graphic, Interaction, Music, Score, Synchronization
Work Stealing Scheduler for Automatic Parallelization in Faust
Faust 0.9.10 introduces an alternative to OpenMP based parallel code generation using a Work Steal- ing Scheduler and explicit management of worker threads. This paper explains the new option and presents some benchmarks.
Mots-clés :
Compiler, Dataflow, Functional, Processing, Programming, Real-time, Signal
2009
PARALLELIZATION OF AUDIO APPLICATIONS WITH FAUST
Faust 0.9.9.6 introduces new compilation options to automatically parallelize audio applications. This paper explains how the automatic parallelization is done and presents some benchmarks.
La librairie GUIDO - Une boite à outils pour le rendu de partitions musicales.
Le format GUIDO Music Notation (GMN) est un langage textuel et lisible de représentation de partitions musicales. Basée sur ce format, la GUIDOLib est une librairie multi-plateformes offrant une API de rendu graphique de partitions musicales. Cet article présente le format GMN et le moteur de rendu GUIDO. Un exemple d'application, le GUIDO Scene Composer, est ensuite décrit.