Mot-clé : Real-time

2017

Faust audio DSP language for JUCE

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

Faust [Functional Audio Stream] is a functional programming language specifically designed for real- time signal processing and synthesis [1]. It consists of a compiler that translates a Faust program into an equivalent C++ program, taking care of generat- ing the most efficient code. JUCE is an open-source cross-platform C++ application framework devel- oped since 2004, and bought by ROLI1 in Novem- ber 2014, used for the development of desktop and mobile appl... Lire la suite

Faust [Functional Audio Stream] is a functional programming language specifically designed for real- time signal processing and synthesis [1]. It consists of a compiler that translates a Faust program into an equivalent C++ program, taking care of generat- ing the most efficient code. JUCE is an open-source cross-platform C++ application framework devel- oped since 2004, and bought by ROLI1 in Novem- ber 2014, used for the development of desktop and mobile applications. A new feature to the Faust environnement is the addition of architectures files to provide the glue between the Faust C++ output and the JUCE framework. This article presents the overall design of the architecture files for JUCE.

Adrien Albouy, Stéphane Letz

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

2015

Faust audio DSP language in the Web

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

With the advent of both HTML5 and the Web Audio API (a high-level JavaScript API for audio process- ing and synthesis) interesting audio applications can now be developed for the Web. The Web Audio API offers a set of fast predefined audio nodes as well as customizable ScriptProcessor node, allowing developers to add their own javascript audio processing code. Several projects are developing abstractions on top of the Web Audio API to extend its capabilities, a... Lire la suite

With the advent of both HTML5 and the Web Audio API (a high-level JavaScript API for audio process- ing and synthesis) interesting audio applications can now be developed for the Web. The Web Audio API offers a set of fast predefined audio nodes as well as customizable ScriptProcessor node, allowing developers to add their own javascript audio processing code. Several projects are developing abstractions on top of the Web Audio API to extend its capabilities, and offer more complex unit generators, DSP effects libraries, or adapted syntax. This paper brings an- other approach based on the use of the Faust audio DSP language to develop additional nodes to be used as basic audio DSP blocks in the Web Audio graph. Different methods have been explored: going from an experimental version that embeds the complete Faust native compilation chain (based on libfaust + LLVM) in the browser, to more portable solutions using JavaScript or the much more efficient asm.js version. Embedding the Faust compiler it- self as a pure JavaScript library (produced using Emscripten) will also be described.The advantages and issues of each approach will be discussed and some benchmarks will be given.

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

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

2012

This paper describes tools designed and experiments conducted in the context of MIROR, a European project investigating adaptive systems for early childhood music education based on the paradigm of reflexive interaction. In MIROR, music notation is used as the trace of both the user and the system activity, produced from MIDI instruments. The task of displaying such raw MIDI inputs and outputs is difficult as no a priori information is known concerning the unde... Lire la suite

This paper describes tools designed and experiments conducted in the context of MIROR, a European project investigating adaptive systems for early childhood music education based on the paradigm of reflexive interaction. In MIROR, music notation is used as the trace of both the user and the system activity, produced from MIDI instruments. The task of displaying such raw MIDI inputs and outputs is difficult as no a priori information is known concerning the underlying tempo or metrical structure. We describe here a completely automatic processing chain from the raw MIDI input to a fully-fledge music notation. The low level music description is first converted in a score level description and then automatically rendered as a graphic score. The whole process is operating in real-time. The paper describes the various conversion steps and issues, including extensions to support score annotations. The process is validated using about 30,000 musical sequences gathered from MIROR experiments and made available for public use.

Dominique Fober, François Pachet, Jürgen Kilian

Mots-clés :
MIDI, Music score, Real-time

2010

Automatic Paralllelization of Audio Applications with Faust

Congrès Français d'Acoustique, 2010, Lyon, France

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.

Yann Orlarey, Stéphane Letz, Dominique Fober

Mots-clés :
Compiler, Dataflow, Functional, Processing, Programming, Real-time, Signal

Work Stealing Scheduler for Automatic Parallelization in Faust

Linux Audio Conference, 2010, Utrecht, Netherlands

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.

Stéphane Letz, Yann Orlarey, Dominique Fober

Mots-clés :
Compiler, Dataflow, Functional, Processing, Programming, Real-time, Signal

2009

FAUST : an Efficient Functional Approach to DSP Programming

Editions DELATOUR FRANCE. NEW COMPUTATIONAL PARADIGMS FOR COMPUTER MUSIC, pp.65-96, 2009

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

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.

Yann Orlarey, Dominique Fober, Stéphane Letz

Mots-clés :
Compiler, Dataflow, Functional, Processing, Programming, Real-time, Signal

What's new in JACK2?

Linux Audio Conference, 2009, Parma, Italy

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.

Stéphane Letz, Nedko Arnaudov, Romain Moret

Mots-clés :
Audio, D-Bus, Networked, Real-time, Server

TIMING MEASUREMENTS IN JACK2

[Technical Report] GRAME. 2009

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.

Stéphane Letz, Dominique Fober, Yann Orlarey

Mots-clés :
Audio, Profiling, Real-time, Server, Timing

2005

Implémentation d'un flot de données MIDI sur RTP

Journées d'Informatique Musicale, Association Française d'Informatique Musicale, Jun 2005, Paris, France. pp.13-19

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

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.

Nicolas Falquet, Dominique Fober

Mots-clés :
Communication, MidiShare, Real-time, RTP

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

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.

Nicolas Falquet, Dominique Fober

Mots-clés :
Communication, MidiShare, Real-time, RTP

Jack audio server for multi-processor machines

International Computer Music Conference, 2005, Barcelona, Spain. pp.1-4

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

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.

Stéphane Letz, Yann Orlarey, Dominique Fober

Mots-clés :
Audio, Lock-free, Multi-processor, Parallelism, Real-time

jackdmp: Jack server for multi-processor machines

Linux Audio Conference, 2005, Karlsruhe, Germany. pp.29-36

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.

Stéphane Letz, Dominique Fober, Yann Orlarey

Mots-clés :
Audio, Lock-free, Multi-processor, Parallelism, Real-time

2004

Jack Audio Server: MacOSX port and multi-processor version

Journées d'Informatique Musicale - Sound and Music Computing, IRCAM, Oct 2004, Paris, France. pp.177-183

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.

Stéphane Letz, Dominique Fober, Yann Orlarey, Paul Davis

Mots-clés :
Architecture, Audio, Real-time

MidiShare : une architecture logicielle pour la musique

Hermes. Informatique musicale : du signal au signe musical, pp.175-194, 2004

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

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éxploitations 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.

Dominique Fober, Stéphane Letz, Yann Orlarey

Mots-clés :
Communication, Network, Real-time, Wireless

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.

Yann Orlarey, Dominique Fober, Stéphane Letz

Mots-clés :
Compiler, Dataflow, Functional programming, Real-time, Signal, Processing

2003

Evaluation des performances de 802.11b

[Rapport Technique] GRAME. 2003

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.

Dominique Fober, Sophie Trebuchon

Mots-clés :
Communication, Network, Real-time, Wireless

2002

Clock Skew Compensation over a High Latency Network

International Computer Music Conference, 2002, Gothenburg, Sweden. pp.548-552

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

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

Dominique Fober, Stéphane Letz, Yann Orlarey

Mots-clés :
Clock, Communication, Music, Network, Real-time, Synchronization

Lock-Free Techniques for Concurrent Access to Shared Objects

Journées d'Informatique Musicale, 2002, Marseille, France. pp.143-150

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

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.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Access, Computation, Concurrent, Lock-free, Parallel, Real-time

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

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.

Dominique Fober

Mots-clés :
Audio, Clock, Network, Real-time, Skew

2001

Un pitchtracker monophonique

Journées d'Informatique Musicale, 2001, Bourges, France. pp.217-223

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.

Dominique Cirotteau, Dominique Fober, Stéphane Letz, Yann Orlarey

Mots-clés :
Analysis, FFT, MIDI, Pitch, Real-time, Sound, To, Tracker

Real Time Musical Events Streaming over Internet

International Conference on WEB Delivering of Music, 2001, Firenze, Italy. pp.147-154

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

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.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Internet, MIDI, Real-time

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

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.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
IPC, Operating, Real-time, Systems

Transmission d'événements musicaux en temps réel sur Internet

Journées d'Informatique Musicale, 2001, Bourges, France. pp.225-236

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

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.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
MIDI, Real-time, Streaming, UDP

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

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.

Dominique Fober, Yann Orlarey, Stéphane Letz

Mots-clés :
Music, Operating, Real-time, Systems

2000

Real-time Composition in Elody

International Computer Music Conference, 2000, Berlin, Germany. pp.336-339

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

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.

Stéphane Letz, Dominique Fober, Yann Orlarey

Mots-clés :
Composition, Elody, Real-time

1999

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.

Yann Orlarey, Olivier Carbonel, Dominique Konstantas, Simon Gibbs

Mots-clés :
Distributed system, Music, Real-time

1997

Distributed Musical Rehearsal

International Computer Music Conference, 1997, Thessaloniki, Greece. pp.279-282

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

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.

Dominique Konstantas, Yann Orlarey, Simon Gibbs, Olivier Carbonel

Mots-clés :
Distributed system, Music, Real-time

1996

Recent developments of MidiShare

International Computer Music Conference, 1996, Hong Kong, China. pp.40-42

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

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.

Dominique Fober, Stéphane Letz, Yann Orlarey

Mots-clés :
MidiShare, Operating, Real-time, System

1995

Real Time Functional Languages

International Computer Music Conference, 1995, Banff, Canada. pp.549-552

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.

Stéphane Letz, Yann Orlarey, Dominique Fober

Mots-clés :
Functional programming, Real-time

1994

Real-Time Midi data flow on Ethernet and the software architecture of MidiShare

International Computer Music Conference, 1994, Aarhus, Denmark. pp.447-450

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.

Dominique Fober

Mots-clés :
Communication, Ethernet, Real-time