Mots clés
2017 |
Albouy, Adrien; Letz, Stéphane Faust audio DSP language for JUCE (Inproceeding) Ciciliato, Vincent; Orlarey, Yann; Pottier, Laurent (Ed.): Proceedings of the Linux Audio Conference — LAC 2017, pp. 61–68, CIEREC, Saint Etienne, 2017. (Abstract | Links | BibTeX | Étiquettes: audio, Domain Specific Language, DSP, FAUST, JUCE, real-time) @inproceedings{albouy17,
title = {Faust audio DSP language for JUCE}, author = {Adrien Albouy and Stéphane Letz}, editor = {Vincent Ciciliato and Yann Orlarey and Laurent Pottier}, url = {08_C_B_137208.pdf}, year = {2017}, date = {2017-01-01}, booktitle = {Proceedings of the Linux Audio Conference — LAC 2017}, pages = {61–68}, publisher = {CIEREC}, address = {Saint Etienne}, abstract = {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.}, keywords = {audio, Domain Specific Language, DSP, FAUST, JUCE, real-time}, pubstate = {published}, tppubtype = {inproceedings} } 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.
|
2015 |
Letz, Stéphane; Denoux, Sarah; Orlarey, Yann; Fober, Dominique Faust audio DSP language in the Web (Inproceeding) Proceedings of the Linux Audio Conference, pp. 29–36, GRAME 2015. (Abstract | Links | BibTeX | Étiquettes: Domain Specific Language, DSP, FAUST, real-time, Web Audio API) @inproceedings{letz15a,
title = {Faust audio DSP language in the Web}, author = {Stéphane Letz and Sarah Denoux and Yann Orlarey and Dominique Fober}, url = {Faust-web-lac.pdf}, year = {2015}, date = {2015-04-10}, booktitle = {Proceedings of the Linux Audio Conference}, pages = {29–36}, organization = {GRAME}, abstract = {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.}, keywords = {Domain Specific Language, DSP, FAUST, real-time, Web Audio API}, pubstate = {published}, tppubtype = {inproceedings} } 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.
|
2014 |
Letz, Stéphane; Denoux, Sarah; Orlarey, Yann Audio Rendering/Processing and Control Ubiquity ? a Solution Built Using the Faust Dynamic Compiler and JACK/NetJack (Inproceeding) Proceedings of the ICMC/SMC 2014, pp. 1518–1523, 2014. (Abstract | Links | BibTeX | Étiquettes: audio, Domain Specific Language, DSP, FAUST, real-time) @inproceedings{letz14b,
title = {Audio Rendering/Processing and Control Ubiquity ? a Solution Built Using the Faust Dynamic Compiler and JACK/NetJack}, author = {Stéphane Letz and Sarah Denoux and Yann Orlarey}, url = {Faust-icmc.pdf}, year = {2014}, date = {2014-09-17}, booktitle = {Proceedings of the ICMC/SMC 2014}, pages = {1518–1523}, abstract = {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 FAUST audio DSP language and JACK/NetJack network audio real-time layer.}, keywords = {audio, Domain Specific Language, DSP, FAUST, real-time}, pubstate = {published}, tppubtype = {inproceedings} } 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 FAUST audio DSP language and JACK/NetJack network audio real-time layer.
|
Orlarey, Yann; Letz, Stéphane; Fober, Dominique Version librairie du compilateur Faust. (Technical Report) 2014. (Abstract | Links | BibTeX | Étiquettes: audio, Domain Specific Language, DSP, FAUST, real-time) @techreport{orlarey14a,
title = {Version librairie du compilateur Faust.}, author = {Yann Orlarey and Stéphane Letz and Dominique Fober}, editor = {Grame}, url = {libfaust-INEDIT-2014.pdf}, year = {2014}, date = {2014-02-16}, abstract = {Faust est un langage de programmation de type fonctionnel synchrone conçu spécifiquement pour la 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 LLVM cette chaîne de compilation est totalement autonome et ne dépend d’aucun outil de développement extérieur. Ceci facilite grandement le déploiement 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 la WebAudio 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.}, keywords = {audio, Domain Specific Language, DSP, FAUST, real-time}, pubstate = {published}, tppubtype = {techreport} } Faust est un langage de programmation de type fonctionnel synchrone conçu spécifiquement pour la 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 LLVM cette chaîne de compilation est totalement autonome et ne dépend d’aucun outil de développement extérieur. Ceci facilite grandement le déploiement 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 la WebAudio 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.
|
2012 |
Fober, Dominique; Pachet, François; Kilian, Jürgen Real-Time Score Notation from Raw MIDI Inputs (Technical Report) Grame 2012. (Abstract | Links | BibTeX | Étiquettes: MIDI, music score, real-time) @techreport{fober12c,
title = {Real-Time Score Notation from Raw MIDI Inputs}, author = {Dominique Fober and François Pachet and Jürgen Kilian}, editor = {Grame}, url = {TR-120407.pdf}, year = {2012}, date = {2012-04-07}, institution = {Grame}, abstract = {This paper describes tools designed and experiments conducted in the context of MIROR, a European project investigating adaptive systems for early childhood music education based on the paradigm of reflexive interaction. In MIROR, music notation is used as the trace of both the user and the system activity, produced from MIDI instruments. The task of displaying such raw MIDI inputs and outputs is difficult as no a priori information is known concerning the underlying tempo or metrical structure. We describe here a completely automatic processing chain from the raw MIDI input to a fully-fledge music notation. The low level music description is first converted in a score level description and then automatically rendered as a graphic score. The whole process is operating in real-time. The paper describes the various conversion steps and issues, including extensions to support score annotations. The process is validated using about 30,000 musical sequences gathered from MIROR experiments and made available for public use.}, keywords = {MIDI, music score, real-time}, pubstate = {published}, tppubtype = {techreport} } This paper describes tools designed and experiments conducted in the context of MIROR, a European project investigating adaptive systems for early childhood music education based on the paradigm of reflexive interaction. In MIROR, music notation is used as the trace of both the user and the system activity, produced from MIDI instruments. The task of displaying such raw MIDI inputs and outputs is difficult as no a priori information is known concerning the underlying tempo or metrical structure. We describe here a completely automatic processing chain from the raw MIDI input to a fully-fledge music notation. The low level music description is first converted in a score level description and then automatically rendered as a graphic score. The whole process is operating in real-time. The paper describes the various conversion steps and issues, including extensions to support score annotations. The process is validated using about 30,000 musical sequences gathered from MIROR experiments and made available for public use.
|
2010 |
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 |
Letz, Stephane; N.Arnaudov,; R.Moret, What’s new in JACK2? (Inproceeding) LAC, (Ed.): Proceedings of Linux Audio Conference 2009, 2009. (Abstract | Links | BibTeX | Étiquettes: audio, D-Bus, networked, real-time, server) @inproceedings{ Letz:09a ,
title = {What’s new in JACK2?}, author = {Stephane Letz and N.Arnaudov and R.Moret}, editor = {LAC}, url = {JACK2_lac2009.pdf}, year = {2009}, date = {2009-01-01}, booktitle = {Proceedings of Linux Audio Conference 2009}, abstract = {JACK2 is the future JACK version based on the C++ multi-processors Jackdmp version. This paper presents recent developments: the D-Bus based server control system, NetJack2 the redesigned network components for JACK and profiling tools developed during port on Solaris.}, keywords = {audio, D-Bus, networked, real-time, server}, pubstate = {published}, tppubtype = {inproceedings} } JACK2 is the future JACK version based on the C++ multi-processors Jackdmp version. This paper presents recent developments: the D-Bus based server control system, NetJack2 the redesigned network components for JACK and profiling tools developed during port on Solaris.
|
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.
|
Letz, Stephane; Fober, Dominique; Orlarey, Yann TIMING MEASUREMENTS IN JACK2 (Technical Report) 2009. (Abstract | Links | BibTeX | Étiquettes: audio, profiling, real-time, server, timing) @techreport{ Letz:09b ,
title = {TIMING MEASUREMENTS IN JACK2}, author = {Stephane Letz and Dominique Fober and Yann Orlarey}, editor = {Grame}, url = {Timing.pdf}, year = {2009}, date = {2009-01-01}, abstract = {Timing measurements allow developers to help under- standing the behaviour of their JACK based applications. The server code base now allows to record various tim- ing while the server and clients are running and generate scripts to interpret them.}, keywords = {audio, profiling, real-time, server, timing}, pubstate = {published}, tppubtype = {techreport} } Timing measurements allow developers to help under- standing the behaviour of their JACK based applications. The server code base now allows to record various tim- ing while the server and clients are running and generate scripts to interpret them.
|
2005 |
N.Falquet,; Fober, Dominique Implémentation d’un flot de données MIDI sur RTP (Inproceeding) MSH, CICM (Ed.): Actes des Journées d’Informatique Musicale JIM2005, Paris, pp. 13–19, 2005. (Abstract | Links | BibTeX | Étiquettes: communication, MidiShare, real-time, RTP) @inproceedings{ Falquet:05a ,
title = {Implémentation d’un flot de données MIDI sur RTP}, author = {N.Falquet and Dominique Fober}, editor = {CICM – MSH}, url = {falquet05.pdf}, year = {2005}, date = {2005-01-01}, booktitle = {Actes des Journées d’Informatique Musicale JIM2005, Paris}, pages = {13–19}, abstract = {RTP MIDI est une extension du protocole RTP (Real-Time Transport Protocol) pour la transmission de flux MIDI. Ce standard décrit un format permettant la paquetisation de toute commande pouvant apparaître légalement sur un câble DIN MIDI 1.0. Il utilise le cadre générique fourni par RTP et les outils qui lui sont associés afin de permettre une transmission de ces données MIDI en temps réel. Un tel protocole pourrait être utilisé dans le cadre d’applications interactives ou pour le streaming de fichiers. Le format propose également un mécanisme de réparation en cas de pertes de paquets lorsque le flux est transmis à travers un environnement réseau incertain. Après une brève présentation de MIDI et de RTP, l’article présente le domaine et les enjeux de RTP MIDI puis le format des paquets et les mécanismes de réparation décrits dans ce standard ainsi que, pour finir, nos travaux d’implémentation d’une bibliothèque permettant la création et l’analyse de payloads au format RTP MIDI et pouvant s’intégrer au système MidiShare.}, keywords = {communication, MidiShare, real-time, RTP}, pubstate = {published}, tppubtype = {inproceedings} } RTP MIDI est une extension du protocole RTP (Real-Time Transport Protocol) pour la transmission de flux MIDI. Ce standard décrit un format permettant la paquetisation de toute commande pouvant apparaître légalement sur un câble DIN MIDI 1.0. Il utilise le cadre générique fourni par RTP et les outils qui lui sont associés afin de permettre une transmission de ces données MIDI en temps réel. Un tel protocole pourrait être utilisé dans le cadre d’applications interactives ou pour le streaming de fichiers. Le format propose également un mécanisme de réparation en cas de pertes de paquets lorsque le flux est transmis à travers un environnement réseau incertain. Après une brève présentation de MIDI et de RTP, l’article présente le domaine et les enjeux de RTP MIDI puis le format des paquets et les mécanismes de réparation décrits dans ce standard ainsi que, pour finir, nos travaux d’implémentation d’une bibliothèque permettant la création et l’analyse de payloads au format RTP MIDI et pouvant s’intégrer au système MidiShare.
|
Letz, Stephane; Orlarey, Yann; Fober, Dominique jackdmp: Jack server for multi-processor machines (Inproceeding) LAC, (Ed.): pp. 29–36, 2005. (Abstract | Links | BibTeX | Étiquettes: audio, lock-free, multi-processor, Parallelism, real-time) @inproceedings{ letz:05a ,
title = {jackdmp: Jack server for multi-processor machines}, author = {Stephane Letz and Yann Orlarey and Dominique Fober}, editor = {LAC}, url = {Jackdmp-lac2005.pdf}, year = {2005}, date = {2005-01-01}, pages = {29–36}, abstract = {jackdmp is a C++ version of the Jack low-latency audio server for multi-processor machines. It is a new implementation of the jack server core features that aims in removing some limitations of the current design. The activation system has been changed for a data flow model and lock-free programming techniques for graph access have been used to have a more dynamic and robust system. We present the new design and the implementation for MacOSX.}, keywords = {audio, lock-free, multi-processor, Parallelism, real-time}, pubstate = {published}, tppubtype = {inproceedings} } jackdmp is a C++ version of the Jack low-latency audio server for multi-processor machines. It is a new implementation of the jack server core features that aims in removing some limitations of the current design. The activation system has been changed for a data flow model and lock-free programming techniques for graph access have been used to have a more dynamic and robust system. We present the new design and the implementation for MacOSX.
|
N.Falquet,; Fober, Dominique RTP MIDI : Recovery Journal Evaluation and Alternative Proposal (Technical Report) 2005. (Abstract | Links | BibTeX | Étiquettes: communication, MidiShare, real-time, RTP) @techreport{ Falquet:05b ,
title = {RTP MIDI : Recovery Journal Evaluation and Alternative Proposal}, author = {N.Falquet and Dominique Fober}, editor = {Grame}, url = {TR-050622.pdf}, year = {2005}, date = {2005-01-01}, booktitle = {Technical Report – 05-06-22}, abstract = {An RTP payload for MIDI commands is under development. As a part of this draft, a default resiliency mechanism for the transport over lossy networks defines a journalling method called recovery journal. But the theoretical size of this recovery journal can be very large and its format is complex. This report will present an empirical evaluation of the recovery journal size based on a few MidiFiles. We will also propose an alternative solution for the resiliency of RTP MIDI streams based on the combined use of redundancy and retransmissions. Our solution is simpler and might be interesting for some scenarios, typically: short grouping times, complex streams or unconventional semantics.}, keywords = {communication, MidiShare, real-time, RTP}, pubstate = {published}, tppubtype = {techreport} } An RTP payload for MIDI commands is under development. As a part of this draft, a default resiliency mechanism for the transport over lossy networks defines a journalling method called recovery journal. But the theoretical size of this recovery journal can be very large and its format is complex. This report will present an empirical evaluation of the recovery journal size based on a few MidiFiles. We will also propose an alternative solution for the resiliency of RTP MIDI streams based on the combined use of redundancy and retransmissions. Our solution is simpler and might be interesting for some scenarios, typically: short grouping times, complex streams or unconventional semantics.
|
Letz, Stephane; Orlarey, Yann; Fober, Dominique Jack audio server for multi-processor machines (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 1–4, 2005. (Abstract | Links | BibTeX | Étiquettes: audio, lock-free, multi-processor, Parallelism, real-time) @inproceedings{ Letz:05b ,
title = {Jack audio server for multi-processor machines}, author = {Stephane Letz and Yann Orlarey and Dominique Fober}, editor = {ICMA}, url = {Jackdmp-ICMC2005.pdf}, year = {2005}, date = {2005-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {1–4}, abstract = {Jack is a low-latency audio server, written for POSIX conformant operating systems such as GNU/Linux. It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves. We present a new C++ version for multi-processor machines that aims at removing some limitations of the current design: the activation system has been changed for a data flow model and lock-free programming techniques for graph access have been used.}, keywords = {audio, lock-free, multi-processor, Parallelism, real-time}, pubstate = {published}, tppubtype = {inproceedings} } Jack is a low-latency audio server, written for POSIX conformant operating systems such as GNU/Linux. It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves. We present a new C++ version for multi-processor machines that aims at removing some limitations of the current design: the activation system has been changed for a data flow model and lock-free programming techniques for graph access have been used.
|
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.
|
Fober, Dominique; Letz, Stephane; Orlarey, Yann MidiShare : une architecture logicielle pour la musique (Book Chapter) Hermes, (Ed.): Informatique musicale : du signal au signe musical, pp. 175–194, 2004. (Abstract | Links | BibTeX | Étiquettes: communication, network, real-time, wireless) @inbook{ Fober:04a ,
title = {MidiShare : une architecture logicielle pour la musique}, author = {Dominique Fober and Stephane Letz and Yann Orlarey}, editor = {Hermes}, url = {MSHermes04.pdf}, year = {2004}, date = {2004-01-01}, booktitle = {Informatique musicale : du signal au signe musical}, pages = {175–194}, abstract = {Le développeur d’une application musicale est souvent confronté à des problèmes difficiles à résoudre, notamment parce qu’ils sont relatifs à la maîtrise du temps. Le manque de support des systèmes d’exploitations courants, l’absence de standard, les problèmes de portabilité qui en résultent ne facilitent pas la tâche du programmeur. Nous présentons MidiShare, une architecture logicielle qui a été conçue dans le but de couvrir les besoins des applications musicales de manière homogène, durable et portable. Nous montrons également à travers plusieurs exemples, comment cette architecture facilite le développement, notamment grâce à des mécanismes simples et efficaces de gestion du temps et de communication en temps réel.}, keywords = {communication, network, real-time, wireless}, pubstate = {published}, tppubtype = {inbook} } Le développeur d’une application musicale est souvent confronté à des problèmes difficiles à résoudre, notamment parce qu’ils sont relatifs à la maîtrise du temps. Le manque de support des systèmes d’exploitations courants, l’absence de standard, les problèmes de portabilité qui en résultent ne facilitent pas la tâche du programmeur. Nous présentons MidiShare, une architecture logicielle qui a été conçue dans le but de couvrir les besoins des applications musicales de manière homogène, durable et portable. Nous montrons également à travers plusieurs exemples, comment cette architecture facilite le développement, notamment grâce à des mécanismes simples et efficaces de gestion du temps et de communication en temps réel.
|
Orlarey, Yann; Fober, Dominique; Letz, Stephane Un algorithme efficace d’ordonnancement pour les systèmes musicaux temps-réel (Book Chapter) Hermes, (Ed.): Informatique musicale : du signal au signe musical, pp. 157–174, 2004. (Abstract | Links | BibTeX | Étiquettes: MidiShare, real-time, scheduling) @inbook{ Orlarey:04b ,
title = {Un algorithme efficace d’ordonnancement pour les systèmes musicaux temps-réel}, author = {Yann Orlarey and Dominique Fober and Stephane Letz}, editor = {Hermes}, url = {Hermes-Sorter-Chapitre-4.pdf}, year = {2004}, date = {2004-01-01}, booktitle = {Informatique musicale : du signal au signe musical}, pages = {157–174}, abstract = {Une gestion efficace et précise du temps est essentielle au bon fonctionnement des logiciels musicaux. Le problème se pose en particulier pour les logiciels MIDI et tous les logiciels qui sont amenés à traiter et à produire de manière asynchrone des quantités importantes d’événements musicaux datés. Bien souvent l’ordre de production des événements n’est pas celui souhaité pour la restitution. Il convient alors de disposer d’un mécanisme d’ordonnancement qui va servir de tampon entre la production et la restitution des événements et qui sera chargé de délivrer chaque événement à la date qui lui a été assignée. Dans ce chapitre nous présentons un algorithme d’ordonnancement conçu pour traiter efficacement ce problème. Il garantit un coût d’ordonnancement par événement traité faible et borné en toutes circonstances quelque soit le nombre d’événements en attente et l’avance avec laquelle ils sont produits. Son principe est de maintenir les événements d’autant mieux triés qu’ils sont proches de leur date d’échéance.}, keywords = {MidiShare, real-time, scheduling}, pubstate = {published}, tppubtype = {inbook} } Une gestion efficace et précise du temps est essentielle au bon fonctionnement des logiciels musicaux. Le problème se pose en particulier pour les logiciels MIDI et tous les logiciels qui sont amenés à traiter et à produire de manière asynchrone des quantités importantes d’événements musicaux datés. Bien souvent l’ordre de production des événements n’est pas celui souhaité pour la restitution. Il convient alors de disposer d’un mécanisme d’ordonnancement qui va servir de tampon entre la production et la restitution des événements et qui sera chargé de délivrer chaque événement à la date qui lui a été assignée. Dans ce chapitre nous présentons un algorithme d’ordonnancement conçu pour traiter efficacement ce problème. Il garantit un coût d’ordonnancement par événement traité faible et borné en toutes circonstances quelque soit le nombre d’événements en attente et l’avance avec laquelle ils sont produits. Son principe est de maintenir les événements d’autant mieux triés qu’ils sont proches de leur date d’échéance.
|
Letz, Stephane; Fober, Dominique; Orlarey, Yann; P.Davis, Jack Audio Server: MacOSX port and multi-processor version (Inproceeding) IRCAM, (Ed.): Proceedings of the first Sound and Music Computing conference – SMC’04, pp. 177–183, 2004. (Abstract | Links | BibTeX | Étiquettes: architecture, audio, real-time) @inproceedings{ Letz:04b ,
title = {Jack Audio Server: MacOSX port and multi-processor version}, author = {Stephane Letz and Dominique Fober and Yann Orlarey and P.Davis}, editor = {IRCAM}, url = {SMC-2004-033.pdf}, year = {2004}, date = {2004-01-01}, booktitle = {Proceedings of the first Sound and Music Computing conference – SMC’04}, pages = {177–183}, abstract = {Jack is a low-latency audio server, written for POSIX conformant operating systems such as GNU/Linux. It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves. We present the port for Apple’s MacOS X, and new developments to take advantage of multi-processor architecture.}, keywords = {architecture, audio, real-time}, pubstate = {published}, tppubtype = {inproceedings} } Jack is a low-latency audio server, written for POSIX conformant operating systems such as GNU/Linux. It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves. We present the port for Apple’s MacOS X, and new developments to take advantage of multi-processor architecture.
|
2003 |
Fober, Dominique; S.Trebuchon, Evaluation des performances de 802.11b (Technical Report) 2003. (Abstract | Links | BibTeX | Étiquettes: communication, network, real-time, wireless) @techreport{ Fober:03a ,
title = {Evaluation des performances de 802.11b}, author = {Dominique Fober and S.Trebuchon}, editor = {Grame}, url = {TR-030613.pdf}, year = {2003}, date = {2003-01-01}, booktitle = {Technical Report – 03-06-13}, abstract = {L’utilisation de réseaux sans fil dans le domaine musical ouvre des perspectives prometteuses, tant d’un point de vue artistique que technique. Ce domaine d’application impose cependant des contraintes de fiabilité et de temps réel spécifiques. Nous avons donc mesuré les performances de 802.11b en fonction de ces contraintes et nous présentons les résultats correspondants ainsi que leur analyse.}, keywords = {communication, network, real-time, wireless}, pubstate = {published}, tppubtype = {techreport} } L’utilisation de réseaux sans fil dans le domaine musical ouvre des perspectives prometteuses, tant d’un point de vue artistique que technique. Ce domaine d’application impose cependant des contraintes de fiabilité et de temps réel spécifiques. Nous avons donc mesuré les performances de 802.11b en fonction de ces contraintes et nous présentons les résultats correspondants ainsi que leur analyse.
|
2002 |
Fober, Dominique Audio Cards Clock Skew Compensation over a Local Network (Technical Report) 2002. (Abstract | Links | BibTeX | Étiquettes: audio, clock, network, real-time, skew) @techreport{ Fober:02a ,
title = {Audio Cards Clock Skew Compensation over a Local Network}, author = {Dominique Fober}, editor = {Grame}, url = {AudioClockSkew.pdf}, year = {2002}, date = {2002-01-01}, booktitle = {Technical Report – 02-04-01}, abstract = {This paper is the continuation of a previous work done on clock skew compensation over a high latency network. It evaluates the efficiency of the EPTMA clock skew detection algorithm applied to real-time audio streaming over a local network. The presented results include real world apparent deviations of audio card clocks and acuracy of the skew detection. It appears that EPMTA is very suitable to measure clocks deviation in the context of audio transport. Finally, a simple method to compensate for the clock skew is presented, mainly to evaluate a complete solution for audio streaming.}, keywords = {audio, clock, network, real-time, skew}, pubstate = {published}, tppubtype = {techreport} } This paper is the continuation of a previous work done on clock skew compensation over a high latency network. It evaluates the efficiency of the EPTMA clock skew detection algorithm applied to real-time audio streaming over a local network. The presented results include real world apparent deviations of audio card clocks and acuracy of the skew detection. It appears that EPMTA is very suitable to measure clocks deviation in the context of audio transport. Finally, a simple method to compensate for the clock skew is presented, mainly to evaluate a complete solution for audio streaming.
|
Fober, Dominique; Letz, Stephane; Orlarey, Yann Lock-Free Techniques for Concurrent Access to Shared Objects (Inproceeding) GMEM, (Ed.): Actes des Journées d’Informatique Musicale JIM2002, Marseille, pp. 143–150, 2002. (Abstract | Links | BibTeX | Étiquettes: access, computation, concurrent, lock-free, parallel, real-time) @inproceedings{ Fober:02b ,
title = {Lock-Free Techniques for Concurrent Access to Shared Objects}, author = {Dominique Fober and Stephane Letz and Yann Orlarey}, editor = {GMEM}, url = {fober-JIM2002.pdf}, year = {2002}, date = {2002-01-01}, booktitle = {Actes des Journées d’Informatique Musicale JIM2002, Marseille}, pages = {143–150}, abstract = {Concurrent access to shared data in preemptive multi-tasks environment and in multi-processors architecture have been subject of many works. Proposed solutions are commonly based on semaphores which have several drawbacks. For many cases, lock-free techniques constitute an alternate solution and avoid the disadvantages of semaphore based techniques. We present the principle of these lock-free techniques with the simple example of a LIFO stack. Then, based on Michael-Scott previous work, we propose a new algorithm to implements lock-free FIFO stacks with a simple constraint on the data structure.}, keywords = {access, computation, concurrent, lock-free, parallel, real-time}, pubstate = {published}, tppubtype = {inproceedings} } Concurrent access to shared data in preemptive multi-tasks environment and in multi-processors architecture have been subject of many works. Proposed solutions are commonly based on semaphores which have several drawbacks. For many cases, lock-free techniques constitute an alternate solution and avoid the disadvantages of semaphore based techniques. We present the principle of these lock-free techniques with the simple example of a LIFO stack. Then, based on Michael-Scott previous work, we propose a new algorithm to implements lock-free FIFO stacks with a simple constraint on the data structure.
|
Fober, Dominique; Orlarey, Yann; Letz, Stephane Clock Skew Compensation over a High Latency Network (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 548–552, 2002. (Abstract | Links | BibTeX | Étiquettes: clock, communication, music, network, real-time, synchronization) @inproceedings{ Fober:02c ,
title = {Clock Skew Compensation over a High Latency Network}, author = {Dominique Fober and Yann Orlarey and Stephane Letz}, editor = {ICMA}, url = {ICMC02-ClockSkew.pdf}, year = {2002}, date = {2002-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {548–552}, abstract = {Exchange of time stamped events between different stations raises the problem of the clock frequencies difference as soon as one station try to compensate for the transmission delay and to render the events with a minimum time distortion. We propose a simple, efficient and low cost method to compensate for the clock frequencies difference. This method rely only on regular time stamped packets transmissions and may be used in many cases. It provides good performances to the receiver station in regard of the sender reference time even on a heavily loaded communication channel. It operates also very efficiently on a low latency local network}, keywords = {clock, communication, music, network, real-time, synchronization}, pubstate = {published}, tppubtype = {inproceedings} } Exchange of time stamped events between different stations raises the problem of the clock frequencies difference as soon as one station try to compensate for the transmission delay and to render the events with a minimum time distortion. We propose a simple, efficient and low cost method to compensate for the clock frequencies difference. This method rely only on regular time stamped packets transmissions and may be used in many cases. It provides good performances to the receiver station in regard of the sender reference time even on a heavily loaded communication channel. It operates also very efficiently on a low latency local network
|
2001 |
Fober, Dominique; Orlarey, Yann; Letz, Stephane Real Time Musical Events Streaming over Internet (Inproceeding) IEEE, (Ed.): Proceedings of the International Conference on WEB Delivering of Music, pp. 147–154, 2001. (Abstract | Links | BibTeX | Étiquettes: Internet, MIDI, real-time) @inproceedings{ Fober:01b ,
title = {Real Time Musical Events Streaming over Internet}, author = {Dominique Fober and Yann Orlarey and Stephane Letz}, editor = {IEEE}, url = {RTESPWedel.pdf}, year = {2001}, date = {2001-01-01}, booktitle = {Proceedings of the International Conference on WEB Delivering of Music}, pages = {147–154}, abstract = {We present a new protocol to transmit time ordered events in real-time over Internet and to operate a correct time rendering on the receiver side. This protocol provides solutions to compensate for the network latency, to optimize the bandwidth use and to take account of the clock drift of the different stations involved in a transmission. It is particularly suitable to transmit musical events such as MIDI events. The implementation is based on the User Datagram Protocol (UDP) however, the proposed solution is independant of the underlying network layers.}, keywords = {Internet, MIDI, real-time}, pubstate = {published}, tppubtype = {inproceedings} } We present a new protocol to transmit time ordered events in real-time over Internet and to operate a correct time rendering on the receiver side. This protocol provides solutions to compensate for the network latency, to optimize the bandwidth use and to take account of the clock drift of the different stations involved in a transmission. It is particularly suitable to transmit musical events such as MIDI events. The implementation is based on the User Datagram Protocol (UDP) however, the proposed solution is independant of the underlying network layers.
|
Fober, Dominique; Orlarey, Yann; Letz, Stephane Real-Time IPC on a client / server model: Multiple OS performances benchmark (Technical Report) 2001. (Abstract | Links | BibTeX | Étiquettes: IPC, operating, real-time, systems) @techreport{ Fober:01c ,
title = {Real-Time IPC on a client / server model: Multiple OS performances benchmark}, author = {Dominique Fober and Yann Orlarey and Stephane Letz}, editor = {Grame}, url = {IPCBenchs.pdf}, year = {2001}, date = {2001-01-01}, booktitle = {Technical Report – 01-08-03}, abstract = {This paper presents inter processus communication (IPC) real-time performances measured on different operating systems, including GNU/Linux, Windows 98, 2000, NT 4.0 and MacOS X. The adopted point of view is based on a client / server model. The operating systems behavior and message transmission latency times are evaluated in different contexts: with one to ten clients for the server, with systems more or less busy with alternate tasks. As we wanted to measure real world performances, the benchmarks have been applied to operating systems running standard default configurations. Each time it was possible, we compared the different systems on the base of local Unix sockets communication way. But above all, we choose the most efficient communication way per system to evaluate the overall best performances that one can expect in a client / server model.}, keywords = {IPC, operating, real-time, systems}, pubstate = {published}, tppubtype = {techreport} } This paper presents inter processus communication (IPC) real-time performances measured on different operating systems, including GNU/Linux, Windows 98, 2000, NT 4.0 and MacOS X. The adopted point of view is based on a client / server model. The operating systems behavior and message transmission latency times are evaluated in different contexts: with one to ten clients for the server, with systems more or less busy with alternate tasks. As we wanted to measure real world performances, the benchmarks have been applied to operating systems running standard default configurations. Each time it was possible, we compared the different systems on the base of local Unix sockets communication way. But above all, we choose the most efficient communication way per system to evaluate the overall best performances that one can expect in a client / server model.
|
Fober, Dominique; Orlarey, Yann; Letz, Stephane MidiShare Server: a proposed new architecture for the MidiShare Kernel (Technical Report) 2001. (Abstract | Links | BibTeX | Étiquettes: music, operating, real-time, systems) @techreport{ Fober:01e ,
title = {MidiShare Server: a proposed new architecture for the MidiShare Kernel}, author = {Dominique Fober and Yann Orlarey and Stephane Letz}, editor = {Grame}, url = {msNewArch.pdf}, year = {2001}, date = {2001-01-01}, booktitle = {Technical Note – 01-12-06}, abstract = {MidiShare is a portable software architecture for musical applications, based on a client/server model. Up to now and along all the supported operating systems (GNU/Linux, MacOS, Windows), it has always been implemented at low level operating system layer. This choice was dictated by efficiency and time constraints. The main drawback of using low level layers is the lack of portability and the complexity of the kernel extensions design. Recent evolutions of operating systems, combined with important technology improvements, have made possible to consider a more portable architecture for MidiShare. This document presents a proposed new architecture, based on a user level design.}, keywords = {music, operating, real-time, systems}, pubstate = {published}, tppubtype = {techreport} } MidiShare is a portable software architecture for musical applications, based on a client/server model. Up to now and along all the supported operating systems (GNU/Linux, MacOS, Windows), it has always been implemented at low level operating system layer. This choice was dictated by efficiency and time constraints. The main drawback of using low level layers is the lack of portability and the complexity of the kernel extensions design. Recent evolutions of operating systems, combined with important technology improvements, have made possible to consider a more portable architecture for MidiShare. This document presents a proposed new architecture, based on a user level design.
|
Fober, Dominique; Orlarey, Yann; Letz, Stephane Transmission d’événements musicaux en temps réel sur Internet (Inproceeding) IMEB, (Ed.): Actes des Journées d’Informatique Musicale JIM2001, Bourges, pp. 225–236, 2001. (Abstract | Links | BibTeX | Étiquettes: MIDI, real-time, streaming, UDP) @inproceedings{ Fober:01f ,
title = {Transmission d\’événements musicaux en temps réel sur Internet}, author = {Dominique Fober and Yann Orlarey and Stephane Letz}, editor = {IMEB}, url = {RTESP-JIM2001.pdf}, year = {2001}, date = {2001-01-01}, booktitle = {Actes des Journées d’Informatique Musicale JIM2001, Bourges}, pages = {225–236}, abstract = {Nous présentons un nouveau protocole s’appuyant sur UDP, permettant de transmettre des événements datés en temps réel et fournissant au récepteur, les moyens d’une restitution temporelle correcte. Ce protocole inclus des mécanismes permettant de compenser la latence du réseau et d’optimiser l’utilisation de la bande passante. Il prend également en compte les dérives d’horloges des différentes machines impliquées dans une transmission. Il est particulièrement adapté à la transmission d’événements musicaux tels que les messages MIDI.}, keywords = {MIDI, real-time, streaming, UDP}, pubstate = {published}, tppubtype = {inproceedings} } Nous présentons un nouveau protocole s’appuyant sur UDP, permettant de transmettre des événements datés en temps réel et fournissant au récepteur, les moyens d’une restitution temporelle correcte. Ce protocole inclus des mécanismes permettant de compenser la latence du réseau et d’optimiser l’utilisation de la bande passante. Il prend également en compte les dérives d’horloges des différentes machines impliquées dans une transmission. Il est particulièrement adapté à la transmission d’événements musicaux tels que les messages MIDI.
|
Cirotteau, Dominique; Fober, Dominique; Letz, Stephane; Orlarey, Yann Un pitchtracker monophonique (Inproceeding) IMEB, (Ed.): Actes des Journées d’Informatique Musicale JIM2001, Bourges, pp. 217–223, 2001. (Abstract | Links | BibTeX | Étiquettes: analysis, FFT, MIDI, pitch, real-time, sound, to, tracker) @inproceedings{ Cirotteau:01 ,
title = {Un pitchtracker monophonique}, author = {Dominique Cirotteau and Dominique Fober and Stephane Letz and Yann Orlarey}, editor = {IMEB}, url = {pitchtracker-JIM2001.pdf}, year = {2001}, date = {2001-01-01}, booktitle = {Actes des Journées d’Informatique Musicale JIM2001, Bourges}, pages = {217–223}, abstract = {Nous présentons ici un détecteur de hauteur de note basé sur une amélioration du vocodeur de phase. Cette amélioration, permettant une meilleure précision en temps et en fréquence, est parfaitement adaptée à une utilisation en temps réel. Une attention particulière a été portée sur la possibilité d’intégration de ce détecteur dans différents systèmes.}, keywords = {analysis, FFT, MIDI, pitch, real-time, sound, to, tracker}, pubstate = {published}, tppubtype = {inproceedings} } Nous présentons ici un détecteur de hauteur de note basé sur une amélioration du vocodeur de phase. Cette amélioration, permettant une meilleure précision en temps et en fréquence, est parfaitement adaptée à une utilisation en temps réel. Une attention particulière a été portée sur la possibilité d’intégration de ce détecteur dans différents systèmes.
|
2000 |
Grame, MidiShare Developer Documentation v.1.80 Release Notes (Technical Manual) Grame, (Ed.): 2000. (Abstract | Links | BibTeX | Étiquettes: MidiShare, operating, real-time, system) @manual{ Grame00 ,
title = {MidiShare Developer Documentation v.1.80 Release Notes}, author = {Grame}, editor = {Grame}, url = {MidiShare-ReleaseNotes180.pdf}, year = {2000}, date = {2000-01-01}, abstract = {MidiShare version 1.80 is an Open Source Release: its source code is publicly available under the GNU Library General Public License. The kernel architecture has been slightly revised in order to facilitates porting on new platforms. A GNU/Linux version has been designed, based on this architecture. The main change consists in removing the IO drivers from the kernel itself and in providing mechanisms to plug these drivers dynamically as external ressources. Therefore, a new manager, the Drivers Manager, is part of the MidiShare kernel architecture: it is in charge of the drivers activation, it also routes the events to their final destination according to the drivers setup. This document describes these changes and gives the reference of the new functions and data structures introduced with this new architecture. The reader is supposed to be familiar with the MidiShare Developer Documentation.}, keywords = {MidiShare, operating, real-time, system}, pubstate = {published}, tppubtype = {manual} } MidiShare version 1.80 is an Open Source Release: its source code is publicly available under the GNU Library General Public License. The kernel architecture has been slightly revised in order to facilitates porting on new platforms. A GNU/Linux version has been designed, based on this architecture. The main change consists in removing the IO drivers from the kernel itself and in providing mechanisms to plug these drivers dynamically as external ressources. Therefore, a new manager, the Drivers Manager, is part of the MidiShare kernel architecture: it is in charge of the drivers activation, it also routes the events to their final destination according to the drivers setup. This document describes these changes and gives the reference of the new functions and data structures introduced with this new architecture. The reader is supposed to be familiar with the MidiShare Developer Documentation.
|
Letz, Stephane; Orlarey, Yann; Fober, Dominique Real-time Composition in Elody (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 336–339, 2000. (Abstract | Links | BibTeX | Étiquettes: composition, Elody, real-time) @inproceedings{ Letz:00 ,
title = {Real-time Composition in Elody}, author = {Stephane Letz and Yann Orlarey and Dominique Fober}, editor = {ICMA}, url = {ICMC2000elod.pdf}, year = {2000}, date = {2000-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {336–339}, abstract = {Elody was initially an environment for musical composition allowing the description and algorithmic manipulation of non real-time musical structures. To allow the definition of real-time transformation processes, we have added a new primitive in the language : the real-time input stream. This object can be manipulated and transformed like non real-time objects even before being known. Evaluating a real-time expression gives as result a command sequence which drives a transformation engine. This one transforms a real-time input stream in an output stream.}, keywords = {composition, Elody, real-time}, pubstate = {published}, tppubtype = {inproceedings} } Elody was initially an environment for musical composition allowing the description and algorithmic manipulation of non real-time musical structures. To allow the definition of real-time transformation processes, we have added a new primitive in the language : the real-time input stream. This object can be manipulated and transformed like non real-time objects even before being known. Evaluating a real-time expression gives as result a command sequence which drives a transformation engine. This one transforms a real-time input stream in an output stream.
|
1999 |
Orlarey, Yann; Carbonel,; Konstantas, Dominique; Gibbs, The Distributed Musical Rehearsal Environment (Journal Article) pp. 54–64, 1999. (Abstract | BibTeX | Étiquettes: distributed system, music, real-time) @article{ Orlarey:99b ,
title = {The Distributed Musical Rehearsal Environment}, author = {Yann Orlarey and O. Carbonel and Dominique Konstantas and S. Gibbs}, editor = {IEEE}, year = {1999}, date = {1999-01-01}, booktitle = {IEEE MultiMedia}, pages = {54–64}, abstract = {We developed an asynchronous transfer mode-based environment for distributed musical rehearsals in an immersive teleconference environment. This article describes the technical specifications of the installations and the organization and studio setup of these rehearsals. We present our implementation of the environment and give the results obtained from the organized distributed musical rehearsal trials.}, keywords = {distributed system, music, real-time}, pubstate = {published}, tppubtype = {article} } We developed an asynchronous transfer mode-based environment for distributed musical rehearsals in an immersive teleconference environment. This article describes the technical specifications of the installations and the organization and studio setup of these rehearsals. We present our implementation of the environment and give the results obtained from the organized distributed musical rehearsal trials.
|
1997 |
Carbonel,; Gibbs,; Konstantas,; Orlarey, Distributed Musical Rehearsal (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 279–282, 1997. (Abstract | Links | BibTeX | Étiquettes: distributed system, music, real-time) @inproceedings{ Konstantas:97 ,
title = {Distributed Musical Rehearsal}, author = {Carbonel and Gibbs and Konstantas and Orlarey}, editor = {ICMA}, url = {ICMC97dvp.pdf}, year = {1997}, date = {1997-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {279–282}, abstract = {Bringing together a group of musicians and a conductor for a musical rehearsal requires advance planning and an important budget in order to cover travel and subsidiary costs. We have developed an ATM based telepresence environment allowing small groups of musicians that are located in different sites to rehearse as if they were present in the same room and have organized a first distributed musical rehearsal trial. The trial allowed us to test and evaluate the system, according to a methodology we developed and to draw first conclusions regarding its performance and usability.}, keywords = {distributed system, music, real-time}, pubstate = {published}, tppubtype = {inproceedings} } Bringing together a group of musicians and a conductor for a musical rehearsal requires advance planning and an important budget in order to cover travel and subsidiary costs. We have developed an ATM based telepresence environment allowing small groups of musicians that are located in different sites to rehearse as if they were present in the same room and have organized a first distributed musical rehearsal trial. The trial allowed us to test and evaluate the system, according to a methodology we developed and to draw first conclusions regarding its performance and usability.
|
1996 |
Fober, Dominique; Orlarey, Yann; Letz, Stephane Recent developments of MidiShare (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 40–42, 1996. (Abstract | Links | BibTeX | Étiquettes: MidiShare, operating, real-time, system) @inproceedings{ Fober:96 ,
title = {Recent developments of MidiShare}, author = {Dominique Fober and Yann Orlarey and Stephane Letz}, editor = {ICMA}, url = {ICMC96ms.pdf}, year = {1996}, date = {1996-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {40–42}, abstract = {MidiShare is a real-time multi-tasks musical operating system first presented at the ICMC 89. Based on a client/server model, MidiShare offers fast and accurate real-time performances, multi-platform support, powerful inter-application communications, while considerably simplifying the development of complex real-time musical applications. MidiShare has been used by our institution for internal developments for more than 7 years. It was awarded by the Apple Trophy 89 and the Paris-Cité 90 prize. Today, it is evolving toward a distributed multi-platform environment. The poster session will present and demonstrate its recent developments: the MidiShare environment, the developer’s kit and documentation, multi-platform development issues, libraries, Ethernet support, compatibility with other systems and third parties applications.}, keywords = {MidiShare, operating, real-time, system}, pubstate = {published}, tppubtype = {inproceedings} } MidiShare is a real-time multi-tasks musical operating system first presented at the ICMC 89. Based on a client/server model, MidiShare offers fast and accurate real-time performances, multi-platform support, powerful inter-application communications, while considerably simplifying the development of complex real-time musical applications. MidiShare has been used by our institution for internal developments for more than 7 years. It was awarded by the Apple Trophy 89 and the Paris-Cité 90 prize. Today, it is evolving toward a distributed multi-platform environment. The poster session will present and demonstrate its recent developments: the MidiShare environment, the developer’s kit and documentation, multi-platform development issues, libraries, Ethernet support, compatibility with other systems and third parties applications.
|
1995 |
Letz, Stephane; Orlarey, Yann; Fober, Dominique Real Time Functional Languages (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 549–552, 1995. (Abstract | Links | BibTeX | Étiquettes: functional programming, real-time) @inproceedings{ Letz:95 ,
title = {Real Time Functional Languages}, author = {Stephane Letz and Yann Orlarey and Dominique Fober}, editor = {ICMA}, url = {ICMC95rtfunc.pdf}, year = {1995}, date = {1995-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {549–552}, abstract = {This paper introduces two real-time functional programming languages. The first one aims to describe temporal trajectories. The second allows the manipulation of both real-time and deferred time streams. We shall describe the architecture of the real-time reduction machine used for evaluation. We shall also review the expected consequences of this approach.}, keywords = {functional programming, real-time}, pubstate = {published}, tppubtype = {inproceedings} } This paper introduces two real-time functional programming languages. The first one aims to describe temporal trajectories. The second allows the manipulation of both real-time and deferred time streams. We shall describe the architecture of the real-time reduction machine used for evaluation. We shall also review the expected consequences of this approach.
|
1994 |
Fober, Dominique Real-Time Midi data flow on Ethernet and the software architecture of MidiShare (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 447–450, 1994. (Abstract | Links | BibTeX | Étiquettes: communication, ethernet, real-time) @inproceedings{ Fober:94 ,
title = {Real-Time Midi data flow on Ethernet and the software architecture of MidiShare}, author = {Dominique Fober}, editor = {ICMA}, url = {ICMC94enet.pdf}, year = {1994}, date = {1994-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {447–450}, abstract = {We propose a way to transmit real-time musical data flow on Ethernet. The presented implementation is based on the software archi-tecture of MidiShare. After some reminders about Ethernet and MidiShare, we shall present an overview of the intended solution. Then we shall examine the chosen protocols, the implementa-tion and its performance.}, keywords = {communication, ethernet, real-time}, pubstate = {published}, tppubtype = {inproceedings} } We propose a way to transmit real-time musical data flow on Ethernet. The presented implementation is based on the software archi-tecture of MidiShare. After some reminders about Ethernet and MidiShare, we shall present an overview of the intended solution. Then we shall examine the chosen protocols, the implementa-tion and its performance.
|
1990 |
Orlarey, Yann An Efficient Scheduling Algorithm for Real-Time Musical Systems (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 194–198, 1990. (Abstract | Links | BibTeX | Étiquettes: real-time, scheduling) @inproceedings{ Orlarey:90 ,
title = {An Efficient Scheduling Algorithm for Real-Time Musical Systems}, author = {Yann Orlarey}, editor = {ICMA}, url = {ICMC90sched.pdf}, year = {1990}, date = {1990-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {194–198}, abstract = {Scheduling problems hold an important place in most real-time musical systems. We here present an algorithm allowing to solve these problems efficiently and ensuring a bounded low scheduling cost per event in any circumstances. Its principle is to maintain events all the better sorted out as their running time gets closer.}, keywords = {real-time, scheduling}, pubstate = {published}, tppubtype = {inproceedings} } Scheduling problems hold an important place in most real-time musical systems. We here present an algorithm allowing to solve these problems efficiently and ensuring a bounded low scheduling cost per event in any circumstances. Its principle is to maintain events all the better sorted out as their running time gets closer.
|
Grame, MidiShare Developer Documentation (Technical Manual) Grame, (Ed.): 1990. (Abstract | Links | BibTeX | Étiquettes: MidiShare, operating, real-time, system) @manual{ Grame90 ,
title = {MidiShare Developer Documentation}, author = {Grame}, editor = {Grame}, url = {MidiShare.pdf}, year = {1990}, date = {1990-01-01}, abstract = {This manual is intended for developers who wish to write MIDI applications using MidiShare. It contains a complete description of all the MidiShare functions and data structures, as well as several examples of code.}, keywords = {MidiShare, operating, real-time, system}, pubstate = {published}, tppubtype = {manual} } This manual is intended for developers who wish to write MIDI applications using MidiShare. It contains a complete description of all the MidiShare functions and data structures, as well as several examples of code.
|
1989 |
Orlarey, Yann; Lequay, MidiShare : a Real Time multi-tasks software module for Midi applications (Inproceeding) ICMA, (Ed.): Proceedings of the International Computer Music Conference, pp. 234–237, 1989. (Abstract | Links | BibTeX | Étiquettes: communication, MIDI, operating, real-time, system) @inproceedings{ Orlarey:89 ,
title = {MidiShare : a Real Time multi-tasks software module for Midi applications}, author = {Yann Orlarey and H. Lequay}, editor = {ICMA}, url = {ICMC89ms.pdf}, year = {1989}, date = {1989-01-01}, booktitle = {Proceedings of the International Computer Music Conference}, pages = {234–237}, abstract = {This paper introduces MidiShare, a real time software module meant for the development of Midi applications in a multi-tasks context. MidiShare brings facility in most of the fields concerned with the development of musical applications: communications management, precise time control, tasks scheduling. The originality of MidiShare lies in its capacity to deal with multiple Midi applications running at the same time. Besides, MidiShare offers some interesting possibilities, particularly the one consisting in a dynamic connection between Midi applications through internal links. MidiShare was at first designed for the Macintosh under MultiFinder, it is now available on other machines.}, keywords = {communication, MIDI, operating, real-time, system}, pubstate = {published}, tppubtype = {inproceedings} } This paper introduces MidiShare, a real time software module meant for the development of Midi applications in a multi-tasks context. MidiShare brings facility in most of the fields concerned with the development of musical applications: communications management, precise time control, tasks scheduling. The originality of MidiShare lies in its capacity to deal with multiple Midi applications running at the same time. Besides, MidiShare offers some interesting possibilities, particularly the one consisting in a dynamic connection between Midi applications through internal links. MidiShare was at first designed for the Macintosh under MultiFinder, it is now available on other machines.
|