Mots clés
2010 |
Fober, Dominique; Daudin, Chirstophe; Letz, Stephane; Orlarey, Yann Partitions musicales augmentées (Inproceeding) JIM, (Ed.): Actes des Journées d’Informatique Musicale JIM2010, Rennes, pp. 97–103, 2010. (Abstract | Links | BibTeX | Étiquettes: graphique, interprétation, musicale, partition, signal, synchronization) @inproceedings{ fober:10a ,
title = {Partitions musicales augmentées}, author = {Dominique Fober and Chirstophe Daudin and Stephane Letz and Yann Orlarey}, editor = {JIM}, url = {Interlude-JIM10-final.pdf}, year = {2010}, date = {2010-01-01}, booktitle = {Actes des Journées d’Informatique Musicale JIM2010, Rennes}, pages = {97–103}, abstract = {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.}, keywords = {graphique, interprétation, musicale, partition, signal, synchronization}, pubstate = {published}, tppubtype = {inproceedings} } 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.
|
Letz, Stephane; Orlarey, Yann; Fober, Dominique Work Stealing Scheduler for Automatic Parallelization in Faust (Inproceeding) LAC, (Ed.): Proceedings of Linux Audio Conference, 2010. (Abstract | Links | BibTeX | Étiquettes: compiler, dataflow, functional, processing, programming, real-time, signal) @inproceedings{ Letz:10a ,
title = {Work Stealing Scheduler for Automatic Parallelization in Faust}, author = {Stephane Letz and Yann Orlarey and Dominique Fober}, editor = {LAC}, url = {FAUST_LAC2010.pdf}, year = {2010}, date = {2010-01-01}, booktitle = {Proceedings of Linux Audio Conference}, abstract = {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.}, keywords = {compiler, dataflow, functional, processing, programming, real-time, signal}, pubstate = {published}, tppubtype = {inproceedings} } 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.
|
Orlarey, Yann; Letz, Stephane; Fober, Dominique Automatic Paralllelization of Audio Applications with Faust (Inproceeding) Actes du Congrès Français d’Acoustique, 2010. (Abstract | Links | BibTeX | Étiquettes: compiler, dataflow, functional, processing, programming, real-time, signal) @inproceedings{ Orlarey:10a ,
title = {Automatic Paralllelization of Audio Applications with Faust}, author = {Yann Orlarey and Stephane Letz and Dominique Fober}, url = {faust-CFA-2010.pdf}, year = {2010}, date = {2010-01-01}, booktitle = {Actes du Congrès Français d’Acoustique}, abstract = {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.}, keywords = {compiler, dataflow, functional, processing, programming, real-time, signal}, pubstate = {published}, tppubtype = {inproceedings} } 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.
|
2009 |
Orlarey, Yann; Fober, Dominique; Letz, Stephane Adding Automatic Parallelization to Faust (Inproceeding) Grame, (Ed.): Linux Audio Conference 2009, 2009. (Abstract | Links | BibTeX | Étiquettes: FAUST, OpenMP, Parallelism, processing, signal) @inproceedings{ orlarey:09a ,
title = {Adding Automatic Parallelization to Faust}, author = {Yann Orlarey and Dominique Fober and Stephane Letz}, editor = {Grame}, url = {faustLAC09.pdf}, year = {2009}, date = {2009-01-01}, booktitle = {Linux Audio Conference 2009}, abstract = {Faust 0.9.9.5 introduces new compilation options to do automatic parallelization of code using OpenMP. This paper explains how the automatic parallelization is done and presents some benchmarks.}, keywords = {FAUST, OpenMP, Parallelism, processing, signal}, pubstate = {published}, tppubtype = {inproceedings} } Faust 0.9.9.5 introduces new compilation options to do automatic parallelization of code using OpenMP. This paper explains how the automatic parallelization is done and presents some benchmarks.
|
Jouvelot, Pierre; Orlarey, Yann Semantics for multirate Faust (Technical Report) 2009. (Abstract | Links | BibTeX | Étiquettes: FAUST, multirate, processing, signal) @techreport{ jouvorl:09a ,
title = {Semantics for multirate Faust}, author = {Pierre Jouvelot and Yann Orlarey}, editor = {CRI MINES Paris Tech}, url = {20091015-multirate-faust.pdf}, year = {2009}, date = {2009-01-01}, abstract = {Faust is a functional programming language dedicated to the specification of executable monorate musical applications. We present here a multirate extension of the core of the Faust language, called MR Faust, together with a typing semantics, a denotational semantics and correctness theorems that link them together.}, keywords = {FAUST, multirate, processing, signal}, pubstate = {published}, tppubtype = {techreport} } Faust is a functional programming language dedicated to the specification of executable monorate musical applications. We present here a multirate extension of the core of the Faust language, called MR Faust, together with a typing semantics, a denotational semantics and correctness theorems that link them together.
|
Orlarey, Yann; Fober, Dominique; Letz, Stephane PARALLELIZATION OF AUDIO APPLICATIONS WITH FAUST (Inproceeding) Proceedings of the first Sound and Music Computing conference – SMC’09, pp. 99–112, 2009. (Abstract | Links | BibTeX | Étiquettes: compiler, dataflow, functional, processing, programming, real-time, signal) @inproceedings{ orlarey:09b ,
title = {PARALLELIZATION OF AUDIO APPLICATIONS WITH FAUST}, author = {Yann Orlarey and Dominique Fober and Stephane Letz}, url = {faust_SMC2009.pdf}, year = {2009}, date = {2009-01-01}, booktitle = {Proceedings of the first Sound and Music Computing conference – SMC’09}, pages = {99–112}, abstract = {Faust 0.9.9.6 introduces new compilation options to automatically parallelize audio applications 1 . This paper explains how the automatic parallelization is done and presents some benchmarks.}, keywords = {compiler, dataflow, functional, processing, programming, real-time, signal}, pubstate = {published}, tppubtype = {inproceedings} } Faust 0.9.9.6 introduces new compilation options to automatically parallelize audio applications 1 . This paper explains how the automatic parallelization is done and presents some benchmarks.
|
Orlarey, Yann; Fober, Dominique; Letz, Stephane FAUST : an Efficient Functional Approach to DSP Programming (Book Chapter) FRANCE, Editions DELATOUR (Ed.): NEW COMPUTATIONAL PARADIGMS FOR COMPUTER MUSIC, pp. 65–96, 2009. (Abstract | Links | BibTeX | Étiquettes: compiler, dataflow, functional, processing, programming, real-time, signal) @inbook{ orlarey:09c ,
title = {FAUST : an Efficient Functional Approach to DSP Programming}, author = {Yann Orlarey and Dominique Fober and Stephane Letz}, editor = {Editions DELATOUR FRANCE}, url = {faust-chapter.pdf}, year = {2009}, date = {2009-01-01}, booktitle = {NEW COMPUTATIONAL PARADIGMS FOR COMPUTER MUSIC}, pages = {65–96}, abstract = {FAUST is a programming language that provides a purely functional approach to signal processing while offering a high level of performance. FAUST aims at being complementary to existing audio languages by offering a viable and efficient alternative to C/C++ to develop signal processing libraries, audio plug-ins or standalone applications. The language is based on a simple and well defined formal semantics. A FAUST program denotes a signal processor, a mathematical function that transforms input signals into output signals. Being able to know precisely what a program computes is important not only for programmers, but also for compilers needing to generate the best possible code. Moreover these semantics questions are crucial for the long term preservation of music programs. The following paragraphs will give an overview of the language as well as a description of the compiler, including the generation of parallel code.}, keywords = {compiler, dataflow, functional, processing, programming, real-time, signal}, pubstate = {published}, tppubtype = {inbook} } FAUST is a programming language that provides a purely functional approach to signal processing while offering a high level of performance. FAUST aims at being complementary to existing audio languages by offering a viable and efficient alternative to C/C++ to develop signal processing libraries, audio plug-ins or standalone applications. The language is based on a simple and well defined formal semantics. A FAUST program denotes a signal processor, a mathematical function that transforms input signals into output signals. Being able to know precisely what a program computes is important not only for programmers, but also for compilers needing to generate the best possible code. Moreover these semantics questions are crucial for the long term preservation of music programs. The following paragraphs will give an overview of the language as well as a description of the compiler, including the generation of parallel code.
|
2007 |
Graef, Albert Interfacing Pure Data with Faust (Inproceeding) LAC, (Ed.): 2007. (Abstract | Links | BibTeX | Étiquettes: Computer, Data, digital, FAUST, functional, language, music, Pd, processing, programming, Pure, signal) @inproceedings{ AG07 ,
title = {Interfacing Pure Data with Faust}, author = {Albert Graef}, editor = {LAC}, url = {lac07.pdf}, year = {2007}, date = {2007-01-01}, abstract = {This paper reports on a new plugin interface for Grame’s functional DSP programming language Faust. The interface allows Faust programs to be run as externals in Miller Puckette’s Pd (Pure Data), making it possible to extend Pd with new audio objects programmed in Faust. The software also includes a script to create wrapper patches around Faust units which feature “graph-on-parent†GUI elements to facilitate the interactive control of Faust units. The paper gives a description of the interface and illustrates its usage by means of a few examples.}, keywords = {Computer, Data, digital, FAUST, functional, language, music, Pd, processing, programming, Pure, signal}, pubstate = {published}, tppubtype = {inproceedings} } This paper reports on a new plugin interface for Grame’s functional DSP programming language Faust. The interface allows Faust programs to be run as externals in Miller Puckette’s Pd (Pure Data), making it possible to extend Pd with new audio objects programmed in Faust. The software also includes a script to create wrapper patches around Faust units which feature “graph-on-parent†GUI elements to facilitate the interactive control of Faust units. The paper gives a description of the interface and illustrates its usage by means of a few examples.
|
2006 |
Orlarey, Yann Faust 0.9.8 Quick Reference (Technical Manual) Grame, (Ed.): 2006. (Abstract | Links | BibTeX | Étiquettes: digital, functional, processing, programming, signal) @manual{ Orlarey:06a ,
title = {Faust 0.9.8 Quick Reference}, author = {Yann Orlarey}, editor = {Grame}, url = {faust-quick-reference.pdf}, year = {2006}, date = {2006-01-01}, abstract = {This document is a quick-reference to the Faust language (version 0.9.8), a programming language for real-time signal processing and synthesis that targets high-performance signal processing applications and audio plugins.}, keywords = {digital, functional, processing, programming, signal}, pubstate = {published}, tppubtype = {manual} } This document is a quick-reference to the Faust language (version 0.9.8), a programming language for real-time signal processing and synthesis that targets high-performance signal processing applications and audio plugins.
|
Graef,; Kersten,; Orlarey, Yann DSP Programming with Faust, Q and SuperCollider (Inproceeding) LAC, (Ed.): Linux Audio Conference 2006, 2006. (Abstract | Links | BibTeX | Étiquettes: Computer, digital, FAUST, functional, language, music, processing, programming, Q, signal, SuperCollider) @inproceedings{ GKO2006a ,
title = {DSP Programming with Faust, Q and SuperCollider}, author = {A. Graef and S. Kersten and Yann Orlarey}, editor = {LAC}, url = {lac06.pdf}, year = {2006}, date = {2006-01-01}, booktitle = {Linux Audio Conference 2006}, abstract = {Faust is a functional programming language for realtime signal processing and synthesis that targets high-performance signal processing applications and audio plugins. The paper gives a brief introduction to Faust and discusses its interfaces to Q, a general purpose functional programming language, and SuperCollider, an object-oriented sound synthesis language and engine.}, keywords = {Computer, digital, FAUST, functional, language, music, processing, programming, Q, signal, SuperCollider}, pubstate = {published}, tppubtype = {inproceedings} } Faust is a functional programming language for realtime signal processing and synthesis that targets high-performance signal processing applications and audio plugins. The paper gives a brief introduction to Faust and discusses its interfaces to Q, a general purpose functional programming language, and SuperCollider, an object-oriented sound synthesis language and engine.
|
Orlarey, Yann Faust : functional programming for signal processing (slides) (Technical Manual) Grame, (Ed.): 2006. (Abstract | Links | BibTeX | Étiquettes: digital, functional, processing, programming, signal) @manual{ Orlarey:06b ,
title = {Faust : functional programming for signal processing (slides)}, author = {Yann Orlarey}, editor = {Grame}, url = {faust-den-haag-april-2006-v6.pdf}, year = {2006}, date = {2006-01-01}, abstract = {Slides presenting Faust at the Royal Conservatory in Den Haag, in April 2006}, keywords = {digital, functional, processing, programming, signal}, pubstate = {published}, tppubtype = {manual} } Slides presenting Faust at the Royal Conservatory in Den Haag, in April 2006
|
2004 |
Orlarey, Yann; Fober, Dominique; Letz, Stephane Syntactical and Semantical Aspects of Faust (Journal Article) 2004. (Abstract | Links | BibTeX | Étiquettes: compiler, dataflow, functional, processing, programming, real-time, signal) @article{ orlarey:04a ,
title = {Syntactical and Semantical Aspects of Faust}, author = {Yann Orlarey and Dominique Fober and Stephane Letz}, url = {faust-soft-computing.pdf}, year = {2004}, date = {2004-01-01}, booktitle = {Soft Computing}, abstract = {This paper presents some syntactical and semantical aspects of FAUST (Functional AUdio STreams), a programming language for real-time sound processing and synthesis. The programming model of FAUST combines two approaches : functional programming and block-diagrams composition. It is based on a block-diagram algebra. It has a well defined formal semantic and can be compiled into efficient C/C++ code.}, keywords = {compiler, dataflow, functional, processing, programming, real-time, signal}, pubstate = {published}, tppubtype = {article} } This paper presents some syntactical and semantical aspects of FAUST (Functional AUdio STreams), a programming language for real-time sound processing and synthesis. The programming model of FAUST combines two approaches : functional programming and block-diagrams composition. It is based on a block-diagram algebra. It has a well defined formal semantic and can be compiled into efficient C/C++ code.
|
2003 |
Scaringella,; Orlarey, Yann; Letz, Stephane; Fober, Dominique Automatic vectorization in Faust (Inproceeding) JIM, (Ed.): Actes des Journées d’Informatique Musicale JIM2003, Montbeliard, 2003. (Abstract | Links | BibTeX | Étiquettes: audio, compiler, processing, signal, vectorization) @inproceedings{ Scaringella:03 ,
title = {Automatic vectorization in Faust}, author = {N. Scaringella and Yann Orlarey and Stephane Letz and Dominique Fober}, editor = {JIM}, url = {JIM2003vect.pdf}, year = {2003}, date = {2003-01-01}, booktitle = {Actes des Journées d’Informatique Musicale JIM2003, Montbeliard}, abstract = {Faust is a Block-Diagram language for sound signal processing and synthesis. It implements a new algebraic representation of block-diagrams and adopts a functional model of semantics instead of a data flow model. Based on these elements, a compiler able to translate DSP block diagram specification into C code is briefly presented. The code produced proves to be efficient and can compete with a hand written code. The optimization process is even pushed further: the C code produced can be automatically vectorized to address Altivec extension for PowerPC (instruction-motorola) and SSE and SSE2 extensions for Intel architecture (instruction-intel). A method is proposed to determine whether or not a Faust expression can be vectorized by crossing a type information (synthesized during an upward run-around in the syntactic tree to be compiled) and a contextual information (inherited during a downward run-around in the syntactic tree). Thanks to this method, we are able to find expressions that can be vectorized inside recursive expressions that are not supposed to be vectorizable. The quality of the code produced by Faust is evaluated. On one hand, scalar code produced by Faust is compared to vector code produced by Faust, on the other hand, scalar and vector code are compared to code optimized by hand. In the end, we briefly present code transformations to vectorize the expressions classed as non-vectorizable by the previous method so that even better performances can be achieved in the future.}, keywords = {audio, compiler, processing, signal, vectorization}, pubstate = {published}, tppubtype = {inproceedings} } Faust is a Block-Diagram language for sound signal processing and synthesis. It implements a new algebraic representation of block-diagrams and adopts a functional model of semantics instead of a data flow model. Based on these elements, a compiler able to translate DSP block diagram specification into C code is briefly presented. The code produced proves to be efficient and can compete with a hand written code. The optimization process is even pushed further: the C code produced can be automatically vectorized to address Altivec extension for PowerPC (instruction-motorola) and SSE and SSE2 extensions for Intel architecture (instruction-intel). A method is proposed to determine whether or not a Faust expression can be vectorized by crossing a type information (synthesized during an upward run-around in the syntactic tree to be compiled) and a contextual information (inherited during a downward run-around in the syntactic tree). Thanks to this method, we are able to find expressions that can be vectorized inside recursive expressions that are not supposed to be vectorizable. The quality of the code produced by Faust is evaluated. On one hand, scalar code produced by Faust is compared to vector code produced by Faust, on the other hand, scalar and vector code are compared to code optimized by hand. In the end, we briefly present code transformations to vectorize the expressions classed as non-vectorizable by the previous method so that even better performances can be achieved in the future.
|
Gaudrain,; Orlarey, Yann A FAUST Tutorial (Technical Manual) Grame, (Ed.): 2003. (Abstract | Links | BibTeX | Étiquettes: audio, block-diagrams, functionnal, processing, programming, real, signal, time) @manual{ Gaudrain:03a ,
title = {A FAUST Tutorial}, author = {E. Gaudrain and Yann Orlarey}, editor = {Grame}, url = {faust_tutorial.pdf}, year = {2003}, date = {2003-01-01}, abstract = {This document presents the language FAUST, its syntax and grammar as well as several commented examples. FAUST (the name stands for Functional Audio Streams) is a programming language specifically designed to develop and implement efficient real time digital signal processors.}, keywords = {audio, block-diagrams, functionnal, processing, programming, real, signal, time}, pubstate = {published}, tppubtype = {manual} } This document presents the language FAUST, its syntax and grammar as well as several commented examples. FAUST (the name stands for Functional Audio Streams) is a programming language specifically designed to develop and implement efficient real time digital signal processors.
|