

2017
New Signal Processing Libraries for Faust
We present a completely re-organized set of signal processing libraries for the Faust programming language. They aim at providing a clearer classification of the different Faust DSP functions, as well as better documentation. After giving an overview of this new system, we provide technical details about its implementation. Finally, we evaluate it and give ideas for future directions.
Faust audio DSP language for JUCE
Faust [Functional Audio Stream] is a functional programming language specifically designed for real- time signal processing and synthesis [1]. It consists of a compiler that translates a Faust program into an equivalent C++ program, taking care of generat- ing the most efficient code. JUCE is an open-source cross-platform C++ application framework devel- oped since 2004, and bought by ROLI1 in Novem- ber 2014, used for the development of desktop and mobile appl... read_more
Faust [Functional Audio Stream] is a functional programming language specifically designed for real- time signal processing and synthesis [1]. It consists of a compiler that translates a Faust program into an equivalent C++ program, taking care of generat- ing the most efficient code. JUCE is an open-source cross-platform C++ application framework devel- oped since 2004, and bought by ROLI1 in Novem- ber 2014, used for the development of desktop and mobile applications. A new feature to the Faust environnement is the addition of architectures files to provide the glue between the Faust C++ output and the JUCE framework. This article presents the overall design of the architecture files for JUCE.
2016
Embedding native audio-processing in a score following system with quasi sample accuracy
This paper reports on the experimental native embedding of audio processing into the Antescofo system, to leverage timing precision both at the program and system level, to accommodate time-driven (audio processing) and event-driven (control) computations, and to preserve system behaviour on multiple hardware platforms. Here native embedding means that audio computations can be specified using dedicated DSLs (e.g., Faust) compiled on-the-fly and driven by the A... read_more
This paper reports on the experimental native embedding of audio processing into the Antescofo system, to leverage timing precision both at the program and system level, to accommodate time-driven (audio processing) and event-driven (control) computations, and to preserve system behaviour on multiple hardware platforms. Here native embedding means that audio computations can be specified using dedicated DSLs (e.g., Faust) compiled on-the-fly and driven by the Antescofo scheduler. We showcase results through an example of an interactive piece by composer Pierre Boulez, Anthèmes 2 for violin and live electronics.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Audio, Samplerate, Scheduling, Buffer, Multimedia
Signal Rate Inference for Multi-Dimensional Faust
We introduce a new signal-level, type-and rate-based semantic framework for describing a multi-rate version of the functional , domain-specific Faust language, dedicated to audio signal processing, and here extended to support array-valued samples. If Faust is usually viewed as a formalism for combining signal processors, which are expressions mapping input signals to output signals, we provide here the first formal, lower-level semantics for Faust based on sig... read_more
We introduce a new signal-level, type-and rate-based semantic framework for describing a multi-rate version of the functional , domain-specific Faust language, dedicated to audio signal processing, and here extended to support array-valued samples. If Faust is usually viewed as a formalism for combining signal processors, which are expressions mapping input signals to output signals, we provide here the first formal, lower-level semantics for Faust based on signals instead. In addition to its interest in understanding the inner workings of the Faust compiler, which uses symbolic evaluation of signal expressions, this approach turns out to be useful when introducing a language extension targeting multi-rate and multi-dimensional (array-valued) processing. More precisely, we provide (1) new syntax and dynamic semantics for (recursive) Faust-based signals, (2) a type and, more interestingly, rational rate static semantics and (3) a new rate inference algorithm, together with its soundness and (relative) completeness theorems. Preliminary experiments in a prototype implementation of this extension in the Faust compiler are underway.
Mots-clés :
Type systems, Audio signal processing, Faust
CALCUL D'UNE EXPRESSION FAUST ÉQUIVALENTE À PARTIR D'UN GRAPHE D'APPLICATIONS
Nous proposons une méthode permettant de traduire un graphe de programmes FAUST, en un programme FAUST équivalent. Le programme ainsi obtenu peut être compilé, et donc bénéficier de toutes les optimisations du compilateur FAUST, mais il peut également être exporté vers les différentes plateformes supportées par FAUST (VST, Max/MSP, SuperCollider, Csound, etc.). Nous décrivons l'algorithme qui parcourt le graphe et calcule l'expression FAUST équivalente ainsi qu... read_more
Nous proposons une méthode permettant de traduire un graphe de programmes FAUST, en un programme FAUST équivalent. Le programme ainsi obtenu peut être compilé, et donc bénéficier de toutes les optimisations du compilateur FAUST, mais il peut également être exporté vers les différentes plateformes supportées par FAUST (VST, Max/MSP, SuperCollider, Csound, etc.). Nous décrivons l'algorithme qui parcourt le graphe et calcule l'expression FAUST équivalente ainsi que les principes de modularité de FAUST qui permettent de combiner les fichiers sources pour réaliser l'opération. De plus, nous présentons une implémentation de l'algorithme dans le cadre de l'application FaustPlayground.
Faust Environment Everyware : une solution ubiquitaire pour le traitement audionumérique portable et multiplateforme
Mots-clés :
FAUST, Composition, Web, Programmation DSP
INScore expressions to compose symbolic scores
INScore is an environment for the design of augmented interactive music scores turned to non-conventional use of music notation. The environment allows arbitrary graphic resources to be used and composed for the music representation. It supports symbolic music notation, described us- ing Guido Music Notation or MusicXML formats. The environment has been extended to provided score level com- position using a set of operators that consistently take scores as argu... read_more
INScore is an environment for the design of augmented interactive music scores turned to non-conventional use of music notation. The environment allows arbitrary graphic resources to be used and composed for the music representation. It supports symbolic music notation, described us- ing Guido Music Notation or MusicXML formats. The environment has been extended to provided score level com- position using a set of operators that consistently take scores as arguments to compute new scores as output. INScore API supports now score expressions both at OSC and at scripting levels. The work is based on a previous research that solved the issues of the notation consistency across scores composition. This paper focuses on the language level and explains the different strategies to evaluate score expressions.
Mots-clés :
Inscore, Interaction, Music score, Score composition
Composition de partitions symboliques dans INScore
INScore est un environnement pour la conception de partition interactives augmentées, tourné vers des usages non conventionnels de la notation musicale. L’environnement permet d’utiliser et de composer des ressources graphiques arbitraires pour la représentation de la musique aussi bien que de la notation symbolique aux formats GMN (Guido Music Notation) ou MusicXML. INScore a été étendu pour fournir des opérations de composition de partitions en notatio... read_more
INScore est un environnement pour la conception de partition interactives augmentées, tourné vers des usages non conventionnels de la notation musicale. L’environnement permet d’utiliser et de composer des ressources graphiques arbitraires pour la représentation de la musique aussi bien que de la notation symbolique aux formats GMN (Guido Music Notation) ou MusicXML. INScore a été étendu pour fournir des opérations de composition de partitions en notation symbolique avec un jeu d’opérateurs qui de manière consistante, prennent des partitions en entrée pour produire une partition en sortie. L’API d’INScore inclut des score expressions, aussi bien au niveau OSC que dans son langage de script. Le travail présenté est basé sur une recherche précédente qui a porté sur les problèmes de consistance de la notation musicale à travers des opérations de composition de partitions. Ce sont les aspects langage et stratégies d’évaluation des score expressions qui sont abordés ici.
Mots-clés :
Composition, Interaction, Partition musicale
2015
Migration d’INScore pour plateformes mobiles et pour le web
INScore est un environnement pour le design de partitions musicales augmentées. Ces partitions permettent l’extension de la notation à des objets graphiques arbitraires, la description de relations explicites entre les espaces graphiques et temporels, la représentation de l’interprétation au sein de la notation et l’interaction en temps réel. Le portage sur plateformes mobiles et sur le web permet une ouverture à de nouveaux usages. Ces plateformes hétérogènes... read_more
INScore est un environnement pour le design de partitions musicales augmentées. Ces partitions permettent l’extension de la notation à des objets graphiques arbitraires, la description de relations explicites entre les espaces graphiques et temporels, la représentation de l’interprétation au sein de la notation et l’interaction en temps réel. Le portage sur plateformes mobiles et sur le web permet une ouverture à de nouveaux usages. Ces plateformes hétérogènes soulèvent à la fois des problèmes techniques et des questions de design, tant en terme de présentation que d’interaction avec la partition.. INScore is an environment for the design of Interactive Augmented Music Scores. This score provides a musical notation extension for arbitrary graphic objects, describing explicit relationships between graphic space and time, the representation of interpretation in music notation and real-time interaction. The porting to mobile platforms and the web allows an opening to new uses. These heterogeneous platforms raise both technical problems and questions of design, in terms of presentation as well as interaction with the score.
Mots-clés :
Web, Mobile, Android, IOS, Musical notation, Augmented score, Notation musicale, Partition augmentée
Distributing Music Scores to Mobile Platforms and to the Internet using INScore
Music notation is facing new musical forms such as electronic and/or interactive music, live coding, hybridizations with dance, design, multimedia. It is also facing the migration of musical instruments to gestural and mobile platforms , which poses the question of new scores usages on devices that mostly lack the necessary graphic space to display the music in a traditional setting and approach. Music scores distributed and shared on the Internet start also to... read_more
Music notation is facing new musical forms such as electronic and/or interactive music, live coding, hybridizations with dance, design, multimedia. It is also facing the migration of musical instruments to gestural and mobile platforms , which poses the question of new scores usages on devices that mostly lack the necessary graphic space to display the music in a traditional setting and approach. Music scores distributed and shared on the Internet start also to be the support of innovative musical practices, which raises other issues, notably regarding dynamic and collaborative music scores. This paper introduces some of the perspectives opened by the migration of music scores to mobile platforms and to the Internet and it presents the approach adopted with INScore, an environment for the design of augmented, interactive music scores.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Music score, Internet, Network
Composing a Web of Audio Applications
The Web offers a great opportunity to share, deploy and use programs without installation difficulties. In this article we explore the idea of freely combining/composing real-time audio applications deployed on the Web using Faust audio DSP language.
Faust Environment Everyware : une solution ubiquitaire pour le traitement audionumérique portable et multiplateforme
Mots-clés :
Composability, Faust, Web, DSP programming
Proceedings of the First International Conference on Technologies for Music Notation and Representation - TENOR2015
Mots-clés :
Technology, Notation, Music
Les nouveaux espaces de la notation musicale
La notation de la musique sert les besoins de la représentation, de l'écriture et de la création artistique. Confrontée aux nouvelles formes musicales comme les musiques électroniques, les oeuvres interactives, le live coding, aux phénomènes de migration de l'instrument musical vers des plates-formes gestuelles et mobiles, aux hybridations avec la danse, le design, le multimédia, la partition contemporaine est sou-vent étendue, éclatée sur des supports différen... read_more
La notation de la musique sert les besoins de la représentation, de l'écriture et de la création artistique. Confrontée aux nouvelles formes musicales comme les musiques électroniques, les oeuvres interactives, le live coding, aux phénomènes de migration de l'instrument musical vers des plates-formes gestuelles et mobiles, aux hybridations avec la danse, le design, le multimédia, la partition contemporaine est sou-vent étendue, éclatée sur des supports différents, revisitée à travers de nouvelles formes d'écriture. Cet article fait le point sur les évolutions actuelles de la notation musicale et sur les outils informatiques émergents pour servir ses be-soins.
Mots-clés :
Notation musicale, Informatique
Faust audio DSP language in the Web
With the advent of both HTML5 and the Web Audio API (a high-level JavaScript API for audio process- ing and synthesis) interesting audio applications can now be developed for the Web. The Web Audio API offers a set of fast predefined audio nodes as well as customizable ScriptProcessor node, allowing developers to add their own javascript audio processing code. Several projects are developing abstractions on top of the Web Audio API to extend its capabilities, a... read_more
With the advent of both HTML5 and the Web Audio API (a high-level JavaScript API for audio process- ing and synthesis) interesting audio applications can now be developed for the Web. The Web Audio API offers a set of fast predefined audio nodes as well as customizable ScriptProcessor node, allowing developers to add their own javascript audio processing code. Several projects are developing abstractions on top of the Web Audio API to extend its capabilities, and offer more complex unit generators, DSP effects libraries, or adapted syntax. This paper brings an- other approach based on the use of the Faust audio DSP language to develop additional nodes to be used as basic audio DSP blocks in the Web Audio graph. Different methods have been explored: going from an experimental version that embeds the complete Faust native compilation chain (based on libfaust + LLVM) in the browser, to more portable solutions using JavaScript or the much more efficient asm.js version. Embedding the Faust compiler it- self as a pure JavaScript library (produced using Emscripten) will also be described.The advantages and issues of each approach will be discussed and some benchmarks will be given.
Mots-clés :
Domain Specific Language, DSP, FAUST, Real-time, Web Audio API
Un modèle relationnel de la gravure musicale.
Cet article a pour objet d'élaborer un modèle relationnel de la gravure musicale. Les bases de données relationnelles, de plus en plus répandues comme solution de stockage de données, permettent de résoudre les problèmes d'indépendance et d'incohérence des données qui entravent la migration vers le web des logiciels de gravure musicale. Cette conception relationnelle de la partition musicale permet également de faire des projections arbitraires des partitions d... read_more
Cet article a pour objet d'élaborer un modèle relationnel de la gravure musicale. Les bases de données relationnelles, de plus en plus répandues comme solution de stockage de données, permettent de résoudre les problèmes d'indépendance et d'incohérence des données qui entravent la migration vers le web des logiciels de gravure musicale. Cette conception relationnelle de la partition musicale permet également de faire des projections arbitraires des partitions dans plusieurs contextes numériques. Après avoir survolé l'état de l'art de la gravure musicale assistée par ordinateur, l'article propose un modèle relationnel de la gravure avant de conclure avec une discussion sur le lien entre le modèle relationnel et d'autres systèmes déncodage musical.
Mots-clés :
Music notation, Purcell
2014
Augmented Interactive Scores for Music Creation
This article addresses music representation issues in the context of the contemporary music creation and performance. It exposes the main challenges in terms of music notation and representation, in regard of the new forms of music and with an emphasis on interactive music issues. It presents INScore, an environment for the design of augmented, interactive music scores that has been developed in response to current artistic evolutions. It gives an overview of t... read_more
This article addresses music representation issues in the context of the contemporary music creation and performance. It exposes the main challenges in terms of music notation and representation, in regard of the new forms of music and with an emphasis on interactive music issues. It presents INScore, an environment for the design of augmented, interactive music scores that has been developed in response to current artistic evolutions. It gives an overview of the system with a presentation of its main features and highlights on the main technologies involved. Concrete examples of use with recent music creations, composers' viewpoint and an electro-acoustic piece modeling will also be given.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Music, Score, Interaction
Representation of Musical Computer Processes
The paper presents a study about the representation of musical computer processes within a music score. The idea is to provide performers with information that could be useful especially in the context of interactive music. The paper starts with a characterization of a musical computer process in order to define the values to be represented. Next it proposes an approach to time representation suitable to asynchronous processes representation.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Interaction, Synchronization, Music, Score, Graphic, Process
Audio Rendering/Processing and Control Ubiquity ? a Solution Built Using the Faust Dynamic Compiler and JACK/NetJack
We usually think of an audio application as a self-contained executable that will compute audio, allow user interface control, and render sound in a single process, on a unique machine. With the appearance of fast network and sophisticated, light and wireless control devices (such as tablets, smart-phones...) the three different parts (that are audio computation , interface control and sound rendering) can naturally be decoupled to run on different processes on... read_more
We usually think of an audio application as a self-contained executable that will compute audio, allow user interface control, and render sound in a single process, on a unique machine. With the appearance of fast network and sophisticated, light and wireless control devices (such as tablets, smart-phones...) the three different parts (that are audio computation , interface control and sound rendering) can naturally be decoupled to run on different processes on a given machine , or even on different machines (on a LAN or WAN network). We describe a solution to run and control audio DSP on different machines based on: • the FAUST audio DSP language which permits local and remote dynamic compilation, code migration and deployment (using libfaust, libfaustremote and LLVM) • local and remote control capabilities (via OSC and HTTP based control interfaces) • JACK/NetJack network audio real-time layer to handle remote audio processing and rendering.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Déploiement des services du moteur de rendu de partitions GUIDO sur Internet
La librairie Guido embarque un moteur de rendu de partitions musicales et fournit une API de haut niveau pour un ensemble de services liés au rendu de partition. Cette librairie est désormais embarquée dans un serveur HTTP qui permet d'accéder à son interface par le biais d'identifiants de ressource uni- formes (URI). Après avoir décrit le style d'architec- ture representational state transfer (REST) sur lequel repose le serveur, l'article montre comment... read_more
La librairie Guido embarque un moteur de rendu de partitions musicales et fournit une API de haut niveau pour un ensemble de services liés au rendu de partition. Cette librairie est désormais embarquée dans un serveur HTTP qui permet d'accéder à son interface par le biais d'identifiants de ressource uni- formes (URI). Après avoir décrit le style d'architec- ture representational state transfer (REST) sur lequel repose le serveur, l'article montre comment l'API C/C++ de la librairie est rendue accessible sous forme de requêtes HTTP.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Partition musicale, Music notation, Web API, RESTFUL
Extension de Guido aux notations contemporaines
Le projet GUIDO regroupe à la fois un format textuel de description de partitions musicales, un moteur de rendu basé sur ce format, et une librairie qui fournit aux dévelop- peurs d'applications, un support de haut niveau pour l'en- semble des services liés au format GUIDO et à son rendu sous forme graphique. A l'origine, le projet GUIDO traite de la notation traditionnelle de la musique occidentale. Le projet a été récemment étendu, tant du point de v... read_more
Le projet GUIDO regroupe à la fois un format textuel de description de partitions musicales, un moteur de rendu basé sur ce format, et une librairie qui fournit aux dévelop- peurs d'applications, un support de haut niveau pour l'en- semble des services liés au format GUIDO et à son rendu sous forme graphique. A l'origine, le projet GUIDO traite de la notation traditionnelle de la musique occidentale. Le projet a été récemment étendu, tant du point de vue du for- mat que du point de vue du rendu, pour adresser également les besoins les plus courants de la musique contemporaine. Cet article présente ces extensions et montre comment les choix de design fournissent à l'utilisateur une large palette de solutions pour la notation de la musique.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Music notation, GUIDO, Partition musicale
Providing Music Notation Services over Internet
The GUIDO project gathers a textual format for music representation, a rendering engine operating on this format, and a library providing a high level support for all the services related to the GUIDO format and it's graphic rendering. The project includes now an HTTP server that allows users to access the musical-score-related functions in the API of the GUIDOEngine library via uniform resource identifiers (URIs). This article resumes the core tenants of the R... read_more
The GUIDO project gathers a textual format for music representation, a rendering engine operating on this format, and a library providing a high level support for all the services related to the GUIDO format and it's graphic rendering. The project includes now an HTTP server that allows users to access the musical-score-related functions in the API of the GUIDOEngine library via uniform resource identifiers (URIs). This article resumes the core tenants of the REST architecture on which the GUIDO server is based, going on to explain how the server ports a C/C++ API to the web. It concludes with several examples as well as a discussion of how the REST architecture is well suited to a web-API that serves as a wrapper for another API.
Mots-clés :
Guido, Music score, Restful web service
FAUSTLIVE, Just-In-Time Faust Compiler... and much more
FaustLive is a standalone just-in-time Faust compiler. It tries to bring together the conve- nience of a standalone interpreted language with the e ciency of a compiled language. Based on libfaust, a library that provides a full in- memory compilation chain, FaustLive doesn't require any external tool (compiler, linker, etc.) to translate Faust source code into binary ex- ecutable code. Thanks to this technology FaustLive provides several advanced features. For... read_more
FaustLive is a standalone just-in-time Faust compiler. It tries to bring together the conve- nience of a standalone interpreted language with the e ciency of a compiled language. Based on libfaust, a library that provides a full in- memory compilation chain, FaustLive doesn't require any external tool (compiler, linker, etc.) to translate Faust source code into binary ex- ecutable code. Thanks to this technology FaustLive provides several advanced features. For example it is possible, while a Faust application is running, to modify its behavior on-the- y without any sound interruption. It is also possible to mi- grate a running application from one machine to another, etc.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
DSP programming, Audio, Faust, Remote processing and interfacing
LibAudioStream est un moteur de rendu audionumérique disponible sous forme de librairie, permettant de manipuler des ressources audio à travers le concept de flux. Ce moteur est facilement intégrable dans des applications qui nécessitent de jouer des fichiers son, des montages audio, et d'appliquer des effets et des traitements DSP en temps-réel. Une algèbre de description, de composition et de transformation des flux audio permet de construire des expressions... read_more
LibAudioStream est un moteur de rendu audionumérique disponible sous forme de librairie, permettant de manipuler des ressources audio à travers le concept de flux. Ce moteur est facilement intégrable dans des applications qui nécessitent de jouer des fichiers son, des montages audio, et d'appliquer des effets et des traitements DSP en temps-réel. Une algèbre de description, de composition et de transformation des flux audio permet de construire des expressions complexes, que l'on va pouvoir ordonnancer à des dates précises dans le futur, et dont le rendu sera ensuite exécuté en temps réel le moment venu. L'application a un contrôle à l'échantillon près de ce qui est fait et à quelmoment, tout en étant déchargée des calculs audio temps réel proprement dit. Ce rapport donne une description formelle du langage d'expressions et des fonctionnalités de LibAudioStream.
synthèse et le traitement du signal audio-numérique en temps-réel. L'objectif de WP3.4 est de développer une version embarquable du compilateur Faust (appelée libfaust) pouvant être intégrée aux différentes applications du projet INEDIT. L'intérêt pour ces applications est de disposer ainsi d'une chaîne de compilation complète, permettant de traduire les traitements synchrones, écrites en Faust, en code binaire exécutable fonctionnant donc à vitesse native. En... read_more
synthèse et le traitement du signal audio-numérique en temps-réel. L'objectif de WP3.4 est de développer une version embarquable du compilateur Faust (appelée libfaust) pouvant être intégrée aux différentes applications du projet INEDIT. L'intérêt pour ces applications est de disposer ainsi d'une chaîne de compilation complète, permettant de traduire les traitements synchrones, écrites en Faust, en code binaire exécutable fonctionnant donc à vitesse native. En s'appuyant sur la technologie LLVMcette chaîne de compilation est totalement autonome et ne dépend d'aucun outil de développement extérieur. Ceci facilite grandement le deploiement auprès d'utilisateurs non informaticiens. Elle est en outre très rapide, rendant ainsi dans de nombreux cas la phase de compilation transparente pour l'utilisateur. Le rapport présente la libraire libfaust, l'infrastructure de compilation LLVM, et trois applications de cette technologie : faustgen˜ un plugin Max/MSP permettant d'éditer, de compiler et d'exécuter du code Faust depuis Max, FaustNode, une extension de laWebAudio API permettant de compiler et d'exécuter du code Faust depuis un navigateur Web et faustcsound, un ensemble de quatre opcodes pour intégrer Faust dans le langage Csound.
INteractivité dans l'Ecriture De l'Interaction et du Temps
Mots-clés :
Faust, Langage de programmation, Traitement du signal
Technique et Science Informatiques
Mots-clés :
Informatique, Musique
Programmation and Control of Faust Sound Processing in OpenMusic
We introduce OM-Faust, an OpenMusic library including objects and functions to write, compile and control Faust programs. Faust is a domain-specific functional programming language designed for DSP. The integration of Faust in OpenMusic enables composers to program and compile their own audio effects and synthesizers, controllable both in real-time or deferred time contexts. This implementation suggests a more general discussion regarding the relationship betwe... read_more
We introduce OM-Faust, an OpenMusic library including objects and functions to write, compile and control Faust programs. Faust is a domain-specific functional programming language designed for DSP. The integration of Faust in OpenMusic enables composers to program and compile their own audio effects and synthesizers, controllable both in real-time or deferred time contexts. This implementation suggests a more general discussion regarding the relationship between real-time and off-line processing in computer-aided composition.
Extended Framework for "In-time" Computer-Aided Composition
Mots-clés :
Computer-aided composition, Faust, OpenMusic
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... read_more
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.
FaustLive : Un compilateur à la volée pour Faust... et bien plus encore
FaustLive est une application qui, grâce à son compilateur Faust embarqué, se propose de réunir le confort d'un langage interprété avec l\éfficacité d'un langage compilé. Basée sur libfaust, une librairie qui offre une chaîne de compilation complète en mémoire, FaustLive ne requiert aucun outil externe (compilateur, éditeur de lien, ...) pour traduire du code FAUST en code machine exécutable. Par l'intermédiaire de cette technologie, FaustLive offre de multiple... read_more
FaustLive est une application qui, grâce à son compilateur Faust embarqué, se propose de réunir le confort d'un langage interprété avec l\éfficacité d'un langage compilé. Basée sur libfaust, une librairie qui offre une chaîne de compilation complète en mémoire, FaustLive ne requiert aucun outil externe (compilateur, éditeur de lien, ...) pour traduire du code FAUST en code machine exécutable. Par l'intermédiaire de cette technologie, FaustLive offre de multiples fonctionnalités. Par exemple, il est possible de glisser un nouveau fichier DSP sur une application FAUST en fonctionnement pour remplacer son comportement et ce, sans interruption du son. Il est aussi possible de transférer une application qui fonctionne en local, sur une autre machine, même si celle-ci utilise un système d\éxploitation différent.
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... read_more
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... read_more
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