Creating Digital Musical Instruments with libmosaic-sound and Mosaicode

Luan Luiz Gonçalves, Flávio Luiz Schiavoni


Music has been influenced by digital technology over the last few decades. With the computer and the Digital Musical Instruments, the musical composition could trespass the use of acoustic instruments demanding to musicians and composers a sort of computer programming skills for the development of musical applications. In order to simplify the development of musical applications several tools and musical programming languages arose bringing some facilities to lay-musicians on computer programming to use the computer to make music. This work presents the development of a Visual Programming Language (VPL) to develop DMI applications in the Mosaicode programming environment, simplifying sound design and making the creation of digital instruments more accessible to digital artists. It is also presented the implementation of libmosaic-sound library, which supported the VPL development, for the specific domain of Music Computing and DMI creation.


Mosaicode; Digital Musical Instrument; Code generation; Library development

Full Text:



GONÇALVES, L.; SCHIAVONI, F. The development of libmosaic-sound: a library for sound design and an extension for the mosaicode programming environment. In: SCHIAVONI, F. et al. (Ed.). Proceedings of the 17th Brazilian Symposium on Computer Music. São João del-Rei - MG - Brazil: Sociedade Brasileira de Computação, 2019. p. 99-105.

HAEBERLI, P. E. Conman: A visual programming language for interactive graphics. SIGGRAPH Comput. Graph., ACM, 1988.

HILS, D. D. Visual languages and computing survey: Data flow visual programming languages. Journal of Visual Languages & Computing, Elsevier, 1992.

GRONBACK, R. C. Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. [S.l.]: Addison-Wesley, 2009.

MERNIK, M.; HEERING, J.; SLOANE, A. M. When and how to develop domain-specific languages. ACM computing surveys (CSUR), ACM, 2005.

DEURSEN, A. V.; KLINT, P. Domain-specific language design requires feature descriptions. CIT. Journal of computing and information technology, SRCE-Sveucilisni racunski centar, 2002.

GOMES, A. L. N. et al. Prototyping web instruments with mosaicode. In: Proceedings of the 17th Brazilian Symposium on Computer Music. São Jão del-Rei - MG - Brazil: [s.n.], 2019. p. 114-120.

HUNT, A.; WANDERLEY, M. M.; KIRK, R. Towards a model for instrumental mapping in expert musical interaction. In: CITESEER. ICMC. [S.l.], 2000.

REAS, C.; FRY, B. Processing: a programming handbook for visual designers and artists. [S.l.]: Mit Press, 2007.

PUCKETTE, M. S. et al. Pure data. In: ICMC. [S.l.: s.n.], 1997.

BRINKMANN, P. et al. Embedding pure data with libpd. In: CITESEER. Proceedings of the Pure Data Convention. [S.l.], 2011.

WRIGHT, M. et al. Supporting the sound description interchange format in the max/msp environment. In: ICMC. [S.l.: s.n.], 1999.

CAMURRI, A. et al. Eyesweb: Toward gesture and affect recognition in interactive dance and music systems. Computer Music Journal, MIT Press, 2000.

CAMURRI, A. et al. Developing multimodal interactive systems with eyesweb xmi. In: Proceedings of the 7th International Conference on New Interfaces for Musical Expression. New York, NY, USA: ACM, 2007. (NIME ’07), p. 305-308. Disponível em:

MANARIS, B.; STEVENS, B.; BROWN, A. R. Jython-music: An environment for teaching algorithmic music composition, dynamic coding and musical performativity. Journal of Music, Technology & Education, Intellect, v. 9, n. 1, p. 33-56, 2016.

ORLAREY, Y.; FOBER, D.; LETZ, S. Faust: an efficient functional approach to dsp programming. New Computational Paradigms for Computer Music, Editions Delatour, Paris, France, v. 290, p. 14, 2009.

SCHIAVONI, F. L.; GONÇALVES, L. L. From virtual reality to digital arts with mosaicode. In: 2017 19th Symposium on Virtual and Augmented Reality (SVR). Curitiba, Brazil: [s.n.], 2017. p. 200-206.

SCHIAVONI, F. L.; GONÇALVES, L. L.; GOMES, A. L. N. Web audio application development with mosaicode. In: Proceedings of the 16th Brazilian Symposium on Computer Music. São Paulo, Brazil: [s.n.], 2017. p. 107-114.

GOMES, A. L. N.; RESENDE, F. R.; SCHIAVONI, F. L. Desenvolvimento de extensões de processamento e síntese de imagens para a ferramenta mosaicode. In: Proceedings of the CONFERENCE ON GRAPHICS, PATTERNS AND IMAGES, 31 (SIBGRAPI). Foz do Iguaçu - PR - Brazil: [s.n.], 2018. p. 1-4.

JIANG, Z.; ALLRED, R.; HOCHSCHILD, J. Multi-rate digital filter for audio sample-rate conversion. [S.l.]: Google Patents, 2002.

SCHIAVONI, F. L.; GOULART, A. J. H.; QUEIROZ, M. Apis para o desenvolvimento de aplicações de áudio. Seminário Música Ciência Tecnologia, 2012.

ANDERSEN, L. O. Program analysis and specialization for the C programming language. Tese (Doutorado) — University of Cophenhagen, 1994.

NELSON, M.; THOM, B. A survey of real-time midi performance. In: NATIONAL UNIVERSITY OF SINGAPORE. Proceedings of the 2004 conference on New interfaces for musical expression. [S.l.], 2004. p. 35-38.

ROBERTS, C.; WAKEFIELD, G.; WRIGHT, M. The web browser as synthesizer and interface. In: CITESEER. NIME. [S.l.], 2013.

SOSNICK, M. H.; HSU, W. T. Implementing a finite difference-based real-time sound synthesizer using gpus. In: NIME. [S.l.: s.n.], 2011. p. 264-267.

NAUMOVICH, G. Using the observer design pattern for implementation of data flow analyses. ACM SIGSOFT Software Engineering Notes, ACM New York, NY, USA, v. 28, n. 1, p. 61-68, 2002.


Copyright (c) 2020 Luan Luiz Gonçalves, Flávio Luiz Schiavoni

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Indexing databases: