2018

MENDING BELLS AND CLOSING BELFRIES WITH FAUST

International Faust Conference, 2018, Mainz, Germany

Finite Element Analyses (FEA) was used to predict the resonant modes of the Tsar Kolokol, a 200 ton fractured bell that sits outside the Kremlin in Moscow. Frequency and displacement data informed a physical model implemented in the Faust programming language (Functional Audio Stream). The authors hosted a concert for Tsar bell and Carillon with the generous support of Meyer Sound and a University of Michigan bicentennial grant. In the concert, the simulated Ts... Lire la suite

Finite Element Analyses (FEA) was used to predict the resonant modes of the Tsar Kolokol, a 200 ton fractured bell that sits outside the Kremlin in Moscow. Frequency and displacement data informed a physical model implemented in the Faust programming language (Functional Audio Stream). The authors hosted a concert for Tsar bell and Carillon with the generous support of Meyer Sound and a University of Michigan bicentennial grant. In the concert, the simulated Tsar bell was triggered by the keyboard and perceptually fused with the bourdon of the Baird Carillon on the University of Michigan campus in Ann Arbor.

John Granzow, Tiffany Ng, Chris Chafe, Romain Michon

Mots-clés :
DSP, Ecosystem, FAUST

Conçu et utilisé pour des applications de synthèse et de traitement du son ou de lutherie numérique sur scène, le langage de programmation Faust, développé au centre national de création musicale GRAME, est désormais enseigné dans plusieurs universités dans le monde, en particulier au Center for Computer Research in Music and Acoustics de l’université Stanford.

Yann Orlarey

Mots-clés :
Enseignement, FAUST, Teaching

This paper demonstrates how FAUST, a functional programming language for sound synthesis and audio processing, can be used to develop efficient audio code for the Web. After a brief overview of the language, its compiler and the architecture system allowing to deploy the same program as a variety of targets, the generation of WebAssembly code and the deployment of specialized WebAudio nodes will be explained. Several use cases will be presented. Extensive bench... Lire la suite

This paper demonstrates how FAUST, a functional programming language for sound synthesis and audio processing, can be used to develop efficient audio code for the Web. After a brief overview of the language, its compiler and the architecture system allowing to deploy the same program as a variety of targets, the generation of WebAssembly code and the deployment of specialized WebAudio nodes will be explained. Several use cases will be presented. Extensive benchmarks to compare the performance of native and WebAssembly versions of the same set of DSP have be done and will be commented

Stéphane Letz, Yann Orlarey, Dominique Fober

Mots-clés :
Webassembly, Webaudio, Audio, Compilation, Domain Specific Language, DSP, FAUST, Signal processing

3D Printing and Physical Modeling of Musical Instruments: Casting the Net

Sound and Music Computing Conference, 2018, Limassol, Cyprus

Predicting the acoustics of objects from computational models is of interest to instrument designers who increasingly use Computer Assisted Design. We examine techniques to carry out these estimates using a database of impulse responses from 3D printed models and a custom algorithm for mode interpolation within a geometrical matrix. Test geometries are organized as a function of their physical characteristics and placed into a multidimensional space/matrix whos... Lire la suite

Predicting the acoustics of objects from computational models is of interest to instrument designers who increasingly use Computer Assisted Design. We examine techniques to carry out these estimates using a database of impulse responses from 3D printed models and a custom algorithm for mode interpolation within a geometrical matrix. Test geometries are organized as a function of their physical characteristics and placed into a multidimensional space/matrix whose boundaries are defined by the objects at each corner. Finite Element Analyses is integrated into the open-source CAD environment to provide estimates of material vibrations also compared to measurements on the fabricated counterparts. Finally, predicted parameters inform physical models for aural comparisons between fabricated targets and computational estimates. These hybrid methods are reliable for predicting early modes as they covary with changes in scale and shape in our test matrix.

Romain Michon, Chris Chafe, John Granzow

Mots-clés :
3D, FAUST, Physical modeling

An Overview of the FAUST Developer Ecosystem

International Faust Conference, 2018, Mainz, Germany

The FAUST language has been designed to provide developers an alternative to C/C++ code, to easily develop and deploy DSP algorithms, effects, instruments etc. The ecosystem is composed of the language and its compiler, as well as different components that help test, benchmark and optimize, and run the resulting code on a large variety of platforms. In this paper we present various architectures files, optimization and testing tools, that have been developed ov... Lire la suite

The FAUST language has been designed to provide developers an alternative to C/C++ code, to easily develop and deploy DSP algorithms, effects, instruments etc. The ecosystem is composed of the language and its compiler, as well as different components that help test, benchmark and optimize, and run the resulting code on a large variety of platforms. In this paper we present various architectures files, optimization and testing tools, that have been developed over the years as part of the FAUST ecosystem, in order to expand the use of the compiler on various targets, and help developers optimize their DSP code. Some of them were publicly announced and can help when deploying DSPs, some are more experimental to be tested by more adventurous developers.

Stéphane Letz, Yann Orlarey, Dominique Fober

Mots-clés :
Faust, Ecosystem, DSP

Building Faust with CMake

International Faust Conference, 2018, Mainz, Germany

This paper describes the new Faust building system that is now based on CMake. This new building system preserves the previous Makefile approach as much as possible while offering far more flexibility and above all, a platform independent solution for compiling the various faust components. The paper gives practical information to address basic uses of the building system as well as for advanced and custom settings.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
DSP, Ecosystem, FAUST

This paper introduces the FAUST Physical Modeling Library, an environment to create physical models of musical instruments in a modular way in the FAUST programming language. Low and high level elements can be combined to implement existing or completely novel instruments. Various examples of physical models are provided. The combined use of mesh2faust, a tool to generate FAUST physical models from 3D drawings, and of the FAUST Physical Modeling Library is also... Lire la suite

This paper introduces the FAUST Physical Modeling Library, an environment to create physical models of musical instruments in a modular way in the FAUST programming language. Low and high level elements can be combined to implement existing or completely novel instruments. Various examples of physical models are provided. The combined use of mesh2faust, a tool to generate FAUST physical models from 3D drawings, and of the FAUST Physical Modeling Library is also demonstrated through the implementation of a marimba physical model.

Romain Michon, Julius Smith, Chris Chafe, Ge Wang, Matthew Wright

Mots-clés :
DSP, Ecosystem, FAUST

2017

The Faust architecture files ecosystem is regularly enriched with new targets to deploy Digital Signal Processing (DSP) programs. This paper presents re-cently developed techniques to expand the standard one DSP source, one program or plugin model, and to better control parameter changes during the audio computation. Sample accurate control and polyphonic instruments definition have been introduced, and will be explained particularly in the context of MIDI cont... Lire la suite

The Faust architecture files ecosystem is regularly enriched with new targets to deploy Digital Signal Processing (DSP) programs. This paper presents re-cently developed techniques to expand the standard one DSP source, one program or plugin model, and to better control parameter changes during the audio computation. Sample accurate control and polyphonic instruments definition have been introduced, and will be explained particularly in the context of MIDI control.

Stéphane Letz, Yann Orlarey, Dominique Fober, Romain Michon

Mots-clés :
Audio, DSP programming, FAUST, MIDI

Faust audio DSP language for JUCE

Linux Audio Conference, 2017, Saint-Etienne, France. pp.61-68

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... Lire la suite

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.

Adrien Albouy, Stéphane Letz

Mots-clés :
Audio, Domain Specific Language, DSP, FAUST, JUCE, Real-time

Le modèle du temps dans INScore

Journées d'Informatique Musicale, 2017, Paris, France

INScore est un environnement pour la conception de partition interactives augmentées, tourné vers des usages non conventionnels de la notation musicale, sans exclure pour autant les approches classiques. Dans cet environnement, bien que tous les objets de la partition aient une dimension temporelle, le temps reste fixe i.e. que la date (ou la durée) d'un objet ne change pas, sauf à réception d'un message qui ne peut être produit que de manière externe ou événem... Lire la suite

INScore est un environnement pour la conception de partition interactives augmentées, tourné vers des usages non conventionnels de la notation musicale, sans exclure pour autant les approches classiques. Dans cet environnement, bien que tous les objets de la partition aient une dimension temporelle, le temps reste fixe i.e. que la date (ou la durée) d'un objet ne change pas, sauf à réception d'un message qui ne peut être produit que de manière externe ou événementielle. INScore n'inclut donc pas de gestionnaire du temps au sens classique du terme. A l'origine, ce choix a été dicté par le fait que le système fut conçu pour des usages couplés avec des logiciels de production sonore (e.g. Max/MSP, Pure Data), qui ont des contraintes de temps-réel plus strictes que lénvironnement graphique d'INScore. Toutefois, la nécessité d'introduire un temps dynamique a progressivement émergé, conduisant à un modèle original, à la fois événementiel et continu. Cést ce modèle qui est présenté et ses propriétés dans lénvironnement d'INScore.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Dynamic score, Inscore, Interactive score

INScore Time Model

International Computer Music Conference, 2017, Shanghai, China. pp.64-68

INScore is an environment for augmented interactive music score design, oriented towards unconventional uses of music notation, without excluding conventional approaches. In this environment, although all the objects of a score have a temporal dimension, the time remains fixed i.e., the date (or duration) of an object does not change, except when a message is received (sent from an external application or resulting from events handling). Thus, INScore does not... Lire la suite

INScore is an environment for augmented interactive music score design, oriented towards unconventional uses of music notation, without excluding conventional approaches. In this environment, although all the objects of a score have a temporal dimension, the time remains fixed i.e., the date (or duration) of an object does not change, except when a message is received (sent from an external application or resulting from events handling). Thus, INScore does not include a time manager in the classic sense of the term. This choice was based on the fact that the system was originally designed to be used with sound production software (e.g., Max/MSP, Pure Data), that have more strict real-time constraints than INScore's graphical environment. However, the need to introduce dynamic time has gradually emerged, leading to an original model, both continuous and event based. The paper presents this model and its properties in the frame on INScore.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Dynamic score, Inscore, Music score, Time model

Towards dynamic and animated music notation using INScore

Linux Audio Conference, 2017, Saint-Etienne, France. pp.43-51

INScore is an environment for the design of augmented interactive music scores opened to conventional and non-conventional use of the music notation. The system has been presented at LAC 2012 and has significantly evolved since, with improvements turned to dynamic and animated notation. This paper presents the latest features and notably the dynamic time model, the events system, the scripting language, the symbolic scores composition engine, the network and We... Lire la suite

INScore is an environment for the design of augmented interactive music scores opened to conventional and non-conventional use of the music notation. The system has been presented at LAC 2012 and has significantly evolved since, with improvements turned to dynamic and animated notation. This paper presents the latest features and notably the dynamic time model, the events system, the scripting language, the symbolic scores composition engine, the network and Web extensions, the interaction processes representation system and the set of sensor objects.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Dynamic score, Inscore, Interactive score, Score composition, Sensors

New Signal Processing Libraries for Faust

Linux Audio Conference, 2017, Saint-Etienne, France. pp.83-87

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.

Romain Michon, Julius Smith, Yann Orlarey

Mots-clés :
Computer Music Programming Language, Digital signal processing, FAUST

faust2api: a Comprehensive API Generator for Android and iOS

Linux Audio Conference, 2017, Saint-Etienne, France. pp.77-82

We introduce faust2api, a tool to generate custom DSP engines for Android and iOS using the Faust programming language. Faust DSP ob jects can easily be turned into MIDI-controllable polyphonic synthesizers or audio effects with built-in sensors support, etc. The various elements of the DSP engine can be accessed through a high-level API, made uniform across platforms and languages. This paper provides technical details on the implementation of this system as w... Lire la suite

We introduce faust2api, a tool to generate custom DSP engines for Android and iOS using the Faust programming language. Faust DSP ob jects can easily be turned into MIDI-controllable polyphonic synthesizers or audio effects with built-in sensors support, etc. The various elements of the DSP engine can be accessed through a high-level API, made uniform across platforms and languages. This paper provides technical details on the implementation of this system as well as an evaluation of its various features.

Romain Michon, Julius Smith, Chris Chafe, Stéphane Letz, Yann Orlarey

Mots-clés :
Android, FAUST, IOS, Mobile Instruments

2016

Embedding native audio-processing in a score following system with quasi sample accuracy

ICMC 2016 - 42th International Computer Music Conference, Sep 2016, Utrecht, Netherlands

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... Lire la suite

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

Pierre Donat-Bouillud, Jean-Louis Giavitto, Arshia Cont, Nicolas Schmidt, Yann Orlarey

Mots-clés :
Samplerate, Audio, Scheduling, Buffer, Multimedia

Signal Rate Inference for Multi-Dimensional Faust

The 28th symposium on Implementation and Application of Functional Languages (IFL 2016), Aug 2016, Leuven, Belgium. pp.1:1--1:12, ⟨10.1145/3064899.3064902⟩

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... Lire la suite

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.

Yann Orlarey, Pierre Jouvelot

Mots-clés :
Faust, Audio signal processing, Type systems

CALCUL D'UNE EXPRESSION FAUST ÉQUIVALENTE À PARTIR D'UN GRAPHE D'APPLICATIONS

Journées d'Informatique Musicale (JIM 2016), AFIM, Mar 2016, Albi, France

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... Lire la suite

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

Sarah Denoux, Yann Orlarey, Stéphane Letz, Dominique Fober

Mots-clés :
FAUST, Composition, Web, Programmation DSP

INScore expressions to compose symbolic scores

International Conference on Technologies for Music Notation and Representation, 2016, Cambridge, United Kingdom. pp.137-143

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... Lire la suite

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.

Gabriel Lepetit-Aimon, Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Inscore, Interaction, Music score, Score composition

Composition de partitions symboliques dans INScore

Journées d'Informatique Musicale, 2016, Albi, France. pp.54-60

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 symbo... Lire la suite

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.

Gabriel Lepetit-Aimon, Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Composition, Interaction, Partition musicale

2015

Migration d’INScore pour plateformes mobiles et pour le web

Environnements Informatiques pour l'Apprentissage Humain. 2015

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... Lire la suite

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.

Distributing Music Scores to Mobile Platforms and to the Internet using INScore

12th Sound and Music Computing Conference (SMC15), Jul 2015, Maynooth, Ireland. pp.229-233

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... Lire la suite

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

Dominique Fober, Guillaume Gouilloux, Yann Orlarey, Stéphane Letz

Mots-clés :
Music score, Internet, Network

MobileFaust: a Set of Tools to Make Musical Mobile Applications with the Faust Programming Language

Proceedings of the International Conference on New Interfaces and Musical Expression (NIME-15), May 2015, Baton Rouge, United States

This work presents a series of tools to turn Faust code into various elements ranging from fully functional applications to multi-platform libraries for real time audio signal processing on iOS and Android. Technical details about their use and function are provided along with audio latency and performance comparisons, and examples of applications.

Romain Michon, Julius O Iii Smith, Yann Orlarey

Mots-clés :
Faust, IOS, Android, DSP

Composing a Web of Audio Applications

1st Web Audio Conference, IRCAM, Mozilla Foundation, Jan 2015, Paris, France

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

Sarah Denoux, Yann Orlarey, Stephane Letz, Dominique Fober

Mots-clés :
Composability, Faust, Web, DSP programming

Faust audio DSP language in the Web

Linux Audio Conference, 2015, Mainz, Germany. pp.29-36

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... Lire la suite

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.

Stéphane Letz, Sarah Denoux, Yann Orlarey, Dominique Fober

Mots-clés :
Domain Specific Language, DSP, FAUST, Real-time, Web Audio API

Marc Battier, Jean Bresson, Pierre Couprie, Cécile Davy-Rigaux, Dominique Fober, Yann Geslin, Hugues Genevois, François Picard, Alice Tacaille

Mots-clés :
Music, Notation, Technology

Un modèle relationnel de la gravure musicale.

Journées d'Informatique Musicale, 2015, Montréal, Canada

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... Lire la suite

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.

Mike Solomon, Dominique Fober

Mots-clés :
Music notation, Purcell

Les nouveaux espaces de la notation musicale

Journées d'Informatique Musicale, Faculté de musique de l'Université de Montréal, 2015, Montréal, Canada

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... Lire la suite

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.

Dominique Fober, Jean Bresson, Pierre Couprie, Yann Geslin

Mots-clés :
Notation musicale, Informatique

2014

Augmented Interactive Scores for Music Creation

Korean Electro-Acoustic Music Society's 2014 Annual Conference, Oct 2014, Seoul, South Korea. pp.85-91

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... Lire la suite

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

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Music, Score, Interaction

Representation of Musical Computer Processes

Joint Conference ICMC / SMC 2014, Sep 2014, Athens, Greece. pp.1604-1609

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

Dominique Fober, Yann Orlarey, Stéphane Letz

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

40th International Computer Music Conference joint with the 11th Sound & Music Computing conference (ICMC/SMC 2014), Jul 2014, Athènes, Greece

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... Lire la suite

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

Stephane Letz, Sarah Denoux, Yann Orlarey