Network Distribution in Music Applications with Medusa

Total Page:16

File Type:pdf, Size:1020Kb

Network Distribution in Music Applications with Medusa Network distribution in music applications with Medusa Fl´avioLuiz SCHIAVONI and Marcelo QUEIROZ Computer Science Department University of S~aoPaulo S~aoPaulo Brazil, ffls, [email protected] Abstract puters, a resource which might be seen as a scal- This paper introduces an extension of Medusa, a dis- able distributed sound card; music spatialization tributed music environment, that allows an easy use of could be done using a mesh network topology; network music communication in common music ap- digital signal processing power can be vastly im- plications. Medusa was firstly developed as a Jack proved using clusters of computers; and musi- application and now it is being ported to other au- cal composition may explore fresh new grounds dio APIs as an attempt to make network music ex- by viewing computer networks as nonstandard perimentation more widely accessible. The APIs cho- acoustical environments for performance and lis- sen were LADSPA, LV2 and Pure Data (external). This new project approach required a complete review tening. of the original Medusa architecture, which consisted There are at least two requirements for all these of a monolithic implementation. As a result of the scenarios to be fully explorable by potentially in- new modular development, some possibilities of us- terested users, which are often musicians or afi- ing networked audio streaming via Medusa plugins in cionados and usually nonprogrammers; first, flex- well-known audio processing environments will be pre- ible audio network tools must be made available, sented and commented on. and second, easy integration with popular mu- Keywords sic/sound processing applications must be guar- Network Music, Pure Data, LADSPA, LV2, Medusa. anteed. Despite the fact that most high-level linux music applications nowadays run over Jack 1 Introduction and ALSA, we see that time and again end users Ever since the availability of network and In- can't deal with this audio infrastructure lying ternet connections became an undisputed fact, below the application they are running. Also, collaborative and cooperative music tools have the lack of automated setup and graphical user been developed. The desire of using realtime interfaces shun common users from many exist- audio streaming in live musical performances in- ing tools, like the network music tools mentioned spired the creation of various tools focused on dis- above. tributed performance, where synchronous music The work presented in this paper is part communication is a priority. Some related net- of the investigation behind the development of work music tools which address the problem of Medusa [?], a distributed audio environment. synchronous music communication between net- Medusa is a FLOSS project which is primarily worked computers are NetJack [?], SoundJack [?], focused on usability and transparency, as means JackTrip [?; ?], llcon [?] and LDAS [?]. to making network music connections easier for The success cases of network music perfor- end users. The first implementation of Medusa, mance concerts could give the wrong impression presented in LAC 2011, was developed in C++ that the only use for network music is distributed with Qt GUI and Jack as sound API. The Jack performance, but several other problems in com- API was extended with a series of network func- puter music can take advantage of or benefit from tionalities, such as add/remove remote ports and network music distribution. For instance, record- remote control of the Jack Transport functional- ings can be made using a pool of networked com- ity. Recently, the development of Medusa has been text-based interfaces and plugins now occupy a strongly guided by the attempt to deal with the separate layer, that uses the core Medusa library two aforementioned requirements, namely flexibil- as an API on its own. ity and integrability. These goals may be reached by extending regular sound processing applica- tions, such as Pure Data, Rosegarden or Ardour, allowing them to function as network music tools. The very basic idea is trying to reach end users wherever they already are. Most music applications can be extended by plugins: Pure Data can be extended by the cre- ation of C externals (which might be viewed as a plugin), whereas digital audio workspaces such as Ardour, Rosegarden, Qtractor and Traverso can be extended by LADSPA, VST and LV2 plugins. In this paper we will explore the possibility of developing Medusa network music plugins using three popular audio APIs: LADSPA, LV2 and Figure 1: Medusa Jack implementation with Qt Pure Data API (via C externals). It is worth GUI mentioning that these APIs are all open-source, developed in C and widely used in Linux music The new Medusa architecture is divided in environments. three layers: Sound, Control and Network. The A reimplementation of Medusa has been re- Control and Network layers are implemented as a quired in order to grant code reuse in the im- unique library and are used by all Medusa imple- plementation of these plugins, and also for easy mentations. The Sound layer corresponds to spe- maintenance of the source code. All source code cific applications, like the proposed plugins, that of the Medusa project, including Medusa plug- 1 are built using each plugin API and the Medusa ins, are freely available in the project site . This library. This architecture facilitates code mainte- reimplementation of Medusa and the proposed ar- nance and bug correction. chitecture are presented in section 2; section 3 discusses the chosen audio APIs and presents the developed plugins, and section 4 brings some con- clusions and a discussion of future works. 2 Medusa Although some promising preliminary results had been achieved with the first version of Medusa [?], the original monolithic implementation raised several difficulties in the implementation of the proposed Medusa plugins, which eventually trig- gered a fundamental architectural change in the project. First, the implementation language was Figure 2: Architectural view of the implementa- changed from C++ to ANSI C, which is more tion compatible with the chosen sound APIs. Sec- ond, the monolithic structure has been changed to 2.1 Network layer the development of a core Medusa library (libme- The network layer is responsible for managing dusa.so), comprising control and network func- connections between network clients and servers. tions, which could be re-used by each new plugin This layer's implementation was made based on implementation. Third, graphical user interfaces, a fixed set of network transport protocols, which 1http://sourceforge.net/projects/medusa-audionet/ are normally provided as part of the operating system kernel, since its development and deploy- ment requires superuser privileges. Medusa cur- rently allows the user to choose among 4 transport protocols: UDP, TCP, SCTP e DCCP: Figure 3: Sender / Receiver communication UDP [?]: User Datagram Protocol is the classi- cal unreliable (but faster) transport protocol. buffer for each channel, and provides functions TCP [?]: Transmission Control Protocol is a re- for the sound API to have easy access to these liable transport protocol, which ensures ab- buffers. Each ring buffer receives sound content sence of packet losses. from applications (usually in DSP chunks), out of which the sender prepares network chunks (usu- SCTP [?]: Stream Control Transmission Proto- ally of a different size) for the Network Layer. col is a connection-oriented transport proto- col that provides a reliable full-duplex associ- The receiver is created in a way similar to the ation. This protocol was not originally meant sender, but besides the basic parameters the cor- as a replacement for TCP, but was developed responding server IP address is also required. The for carrying voice over IP (VoIP). receiver creates a network client and the required DCCP [?; ?]: Datagram Congestion Control number of ring buffers (one per channel). Un- Protocol is a transport protocol that com- like the sender, the ring buffer of the receiver will bines TCP-friendly congestion control with be fed by a network client and consumed by the unreliable datagram semantics for applica- sound API. tions that transfer fairly large amounts of data [?]. 2.3 Sound layer This multi-protocol network communication layer is intended to offer alternatives for users that The outermost Medusa layer is the Sound layer, may need different specific features in data trans- which deals not only with audio streams but also fer according to application context. For instance, with MIDI streams. The Sound layer lies be- an interactive musical performance with strong tween the Medusa API and several sound applica- rhythmic interactions may require the smallest tion APIs, and represents a collection of Medusa possible latency while tolerating audio glitches front-ends or interfaces, since each integration of due to packet losses, and a remote recording ses- Medusa with a particular sound application may sion may tolerate high latency and jitter, but still have its own user interface, defined by each sound require that every packet be delivered. With a few application API. alternatives available, the user may choose which The integration of Sound and Network layers protocol is more appropriate to its own musical uses the Control layer through its sender / re- use. ceiver plugins. Sender and receiver roles defined 2.2 Control layer by the Control layer are converted into Sound layer plugins that simply exchange audio streams The next layer in the Medusa API is the Con- between machines. trol layer. The Control layer essentially creates senders and receivers and provides them to the Each plugin has a host application and a partic- Sound layer. Instead of requiring that all pro- ular way to communicate with it. The API defines tocols in the Network layer to have full-duplex how a plugin is initialized, how it processes data communication, the Control layer always sepa- and how it is presented. Each plugin implemen- rates the roles of sending and receiving network tation generates an independent software pack- data.
Recommended publications
  • Proceedings 2005
    LAC2005 Proceedings 3rd International Linux Audio Conference April 21 – 24, 2005 ZKM | Zentrum fur¨ Kunst und Medientechnologie Karlsruhe, Germany Published by ZKM | Zentrum fur¨ Kunst und Medientechnologie Karlsruhe, Germany April, 2005 All copyright remains with the authors www.zkm.de/lac/2005 Content Preface ............................................ ............................5 Staff ............................................... ............................6 Thursday, April 21, 2005 – Lecture Hall 11:45 AM Peter Brinkmann MidiKinesis – MIDI controllers for (almost) any purpose . ....................9 01:30 PM Victor Lazzarini Extensions to the Csound Language: from User-Defined to Plugin Opcodes and Beyond ............................. .....................13 02:15 PM Albert Gr¨af Q: A Functional Programming Language for Multimedia Applications .........21 03:00 PM St´ephane Letz, Dominique Fober and Yann Orlarey jackdmp: Jack server for multi-processor machines . ......................29 03:45 PM John ffitch On The Design of Csound5 ............................... .....................37 04:30 PM Pau Arum´ıand Xavier Amatriain CLAM, an Object Oriented Framework for Audio and Music . .............43 Friday, April 22, 2005 – Lecture Hall 11:00 AM Ivica Ico Bukvic “Made in Linux” – The Next Step .......................... ..................51 11:45 AM Christoph Eckert Linux Audio Usability Issues .......................... ........................57 01:30 PM Marije Baalman Updates of the WONDER software interface for using Wave Field Synthesis . 69 02:15 PM Georg B¨onn Development of a Composer’s Sketchbook ................. ....................73 Saturday, April 23, 2005 – Lecture Hall 11:00 AM J¨urgen Reuter SoundPaint – Painting Music ........................... ......................79 11:45 AM Michael Sch¨uepp, Rene Widtmann, Rolf “Day” Koch and Klaus Buchheim System design for audio record and playback with a computer using FireWire . 87 01:30 PM John ffitch and Tom Natt Recording all Output from a Student Radio Station .
    [Show full text]
  • Embedded Real-Time Audio Signal Processing with Faust Romain Michon, Yann Orlarey, Stéphane Letz, Dominique Fober, Dirk Roosenburg
    Embedded Real-Time Audio Signal Processing With Faust Romain Michon, Yann Orlarey, Stéphane Letz, Dominique Fober, Dirk Roosenburg To cite this version: Romain Michon, Yann Orlarey, Stéphane Letz, Dominique Fober, Dirk Roosenburg. Embedded Real- Time Audio Signal Processing With Faust. International Faust Conference (IFC-20), Dec 2020, Paris, France. hal-03124896 HAL Id: hal-03124896 https://hal.archives-ouvertes.fr/hal-03124896 Submitted on 29 Jan 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Proceedings of the 2nd International Faust Conference (IFC-20), Maison des Sciences de l’Homme Paris Nord, France, December 1-2, 2020 EMBEDDED REAL-TIME AUDIO SIGNAL PROCESSING WITH FAUST Romain Michon,a;b Yann Orlarey,a Stéphane Letz,a Dominique Fober,a and Dirk Roosenburgd;e aGRAME – Centre National de Création Musicale, Lyon, France bCenter for Computer Research in Music and Acoustics, Stanford University, USA dTIMARA, Oberlin Conservatory of Music, USA eDepartment of Physics, Oberlin College, USA [email protected] ABSTRACT multi-channel audio, etc.). These products work in conjunction with specialized Linux distributions where audio processing tasks FAUST has been targeting an increasing number of embedded plat- forms for real-time audio signal processing applications in recent are carried out outside of the operating system, allowing for the years.
    [Show full text]
  • Extending the Faust VST Architecture with Polyphony, Portamento and Pitch Bend Yan Michalevsky Julius O
    Extending the Faust VST Architecture with Polyphony, Portamento and Pitch Bend Yan Michalevsky Julius O. Smith Andrew Best Department of Electrical Center for Computer Research in Blamsoft, Inc. Engineering, Music and Acoustics (CCRMA), [email protected] Stanford University Stanford University [email protected] AES Fellow [email protected] Abstract VST (Virtual Studio Technology) plugin stan- We introduce the vsti-poly.cpp architecture for dard was released by Steinberg GmbH (famous the Faust programming language. It provides sev- for Cubase and other music and sound produc- eral features that are important for practical use of tion products) in 1996, and was followed by the Faust-generated VSTi synthesizers. We focus on widespread version 2.0 in 1999 [8]. It is a partic- the VST architecture as one that has been used tra- ularly common format supported by many older ditionally and is supported by many popular tools, and newer tools. and add several important features: polyphony, note Some of the features expected from a VST history and pitch-bend support. These features take plugin can be found in the VST SDK code.2 Faust-generated VST instruments a step forward in Examining the list of MIDI events [1] can also terms of generating plugins that could be used in Digital Audio Workstations (DAW) for real-world hint at what capabilities are expected to be im- music production. plemented by instrument plugins. We also draw from our experience with MIDI instruments and Keywords commercial VST plugins in order to formulate sound feature requirements. Faust, VST, Plugin, DAW In order for Faust to be a practical tool for generating such plugins, it should support most 1 Introduction of the features expected, such as the following: Faust [5] is a popular music/audio signal pro- • Responding to MIDI keyboard events cessing language developed by Yann Orlarey et al.
    [Show full text]
  • Informatique Et MAO 1 : Configurations MAO (1)
    Ce fichier constitue le support de cours “son numérique” pour les formations Régisseur Son, Techniciens Polyvalent et MAO du GRIM-EDIF à Lyon. Elles ne sont mises en ligne qu’en tant qu’aide pour ces étudiants et ne peuvent être considérées comme des cours. Elles utilisent des illustrations collectées durant des années sur Internet, hélas sans en conserver les liens. Veuillez m'en excuser, ou me contacter... pour toute question : [email protected] 4ème partie : Informatique et MAO 1 : Configurations MAO (1) interface audio HP monitoring stéréo microphone(s) avec entrées/sorties ou surround analogiques micro-ordinateur logiciels multipistes, d'édition, de traitement et de synthèse, plugins etc... (+ lecteur-graveur CD/DVD/BluRay) surface de contrôle clavier MIDI toutes les opérations sont réalisées dans l’ordinateur : - l’interface audio doit permettre des latences faibles pour le jeu instrumental, mais elle ne nécessite pas de nombreuses entrées / sorties analogiques - la RAM doit permettre de stocker de nombreux plugins (et des quantités d’échantillons) - le processeur doit être capable de calculer de nombreux traitements en temps réel - l’espace de stockage et sa vitesse doivent être importants - les périphériques de contrôle sont réduits au minimum, le coût total est limité SON NUMERIQUE - 4 - INFORMATIQUE 2 : Configurations MAO (2) HP monitoring stéréo microphones interface audio avec de nombreuses ou surround entrées/sorties instruments analogiques micro-ordinateur Effets logiciels multipistes, d'édition et de traitement, plugins (+
    [Show full text]
  • Photo Editing
    All recommendations are from: http://www.mediabistro.com/10000words/7-essential-multimedia-tools-and-their_b376 Photo Editing Paid Free Photoshop Splashup Photoshop may be the industry leader when it comes to photo editing and graphic design, but Splashup, a free online tool, has many of the same capabilities at a much cheaper price. Splashup has lots of the tools you’d expect to find in Photoshop and has a similar layout, which is a bonus for those looking to get started right away. Requires free registration; Flash-based interface; resize; crop; layers; flip; sharpen; blur; color effects; special effects Fotoflexer/Photobucket Crop; resize; rotate; flip; hue/saturation/lightness; contrast; various Photoshop-like effects Photoshop Express Requires free registration; 2 GB storage; crop; rotate; resize; auto correct; exposure correction; red-eye removal; retouching; saturation; white balance; sharpen; color correction; various other effects Picnik “Auto-fix”; rotate; crop; resize; exposure correction; color correction; sharpen; red-eye correction Pic Resize Resize; crop; rotate; brightness/contrast; conversion; other effects Snipshot Resize; crop; enhancement features; exposure, contrast, saturation, hue and sharpness correction; rotate; grayscale rsizr For quick cropping and resizing EasyCropper For quick cropping and resizing Pixenate Enhancement features; crop; resize; rotate; color effects FlauntR Requires free registration; resize; rotate; crop; various effects LunaPic Similar to Microsoft Paint; many features including crop, scale
    [Show full text]
  • Datapond – Data Driven Music Builder
    DataPond – Data Driven Music Builder DataPond Data Driven Music Builder Over the past couple of months I have been attempting to teach myself to read music. This is something that I have been meaning to do for a long time. In high school the music teachers seemed to have no interest in students other than those with existing natural talent. The rest of us, they just taught appreciation of Bob Dylan. I can't stand Bob Dylan. So I never learned to read music or play an instrument. Having discovered the enjoyment of making stringed instruments such as the papermaché sitar, the Bad-Arse Mountain Dulcimer, a Windharp (inspired by this one), and a couple of other odd instruments. More recently I made a Lap Steel Slide guitar based on the electronics described in David Eric Nelson's great book “Junkyard Jam Band” and on Shane Speal's guide on building Lapsteels. I built mine out of waste wood palette wood and it connects to an old computer speaker system I pulled out of my junk box and turned to the purpose. It ended up sounding pretty good – to my ear at least. Anyway, I have instruments-a-plenty, but didn't know how to play'em so I decided to teach myself music. The biggest early challenge was reading music. I'm sure it would have been easier if a mathematician had been involved in designing the notation system. To teach myself I decided that reading sheet music and transcribing it into the computer would be a good way of doing it.
    [Show full text]
  • Implementing a Parametric EQ Plug-In in C++ Using the Multi-Platform VST Specification
    2003:044 C EXTENDED ESSAY Implementing a parametric EQ plug-in in C++ using the multi-platform VST specification JONAS EKEROOT SCHOOL OF MUSIC Audio Technology Supervisor: Jan Berg 2003:044 • ISSN: 1402 – 1773 • ISRN: LTU - CUPP - - 03/44 - - SE Implementing a parametric EQ plug-in in C++ using the multi-platform VST specification Jonas Ekeroot Division of Sound Recording School of Music in Pite˚a Lule˚aUniversity of Technology April 23, 2003 Abstract As the processing power of desktop computer systems increase by every year, more and more real-time audio signal processing is per- formed on such systems. What used to be done in external effects units, e.g. adding reverb, can now be accomplished within the com- puter system using signal processing code modules – plug-ins. This thesis describes the development of a peak/notch parametric EQ VST plug-in. First a prototype was made in the graphical audio program- ming environment Max/MSP on MacOS, and then a C++ implemen- tation was made using the VST Software Development Kit. The C++ source code was compiled on both Windows and MacOS, resulting in versions of the plug-in that can be used in any VST host application on Windows and MacOS respectively. Writing a plug-in relieves the programmer of the burden to deal directly with audio interface details and graphical user interface specifics, since this is taken care of by the host application. It can thus be an interesting way to start developing audio DSP algorithms, since the host application also provides the op- portunity to listen to and measure the performance of the implemented plug-in algorithm.
    [Show full text]
  • Audio Signal Processing in Faust
    Audio Signal Processing in Faust Julius O. Smith III Center for Computer Research in Music and Acoustics (CCRMA) Department of Music, Stanford University, Stanford, California 94305 USA jos at ccrma.stanford.edu Abstract Faust is a high-level programming language for digital signal processing, with special sup- port for real-time audio applications and plugins on various software platforms including Linux, Mac-OS-X, iOS, Android, Windows, and embedded computing environments. Audio plugin formats supported include VST, lv2, AU, Pd, Max/MSP, SuperCollider, and more. This tuto- rial provides an introduction focusing on a simple example of white noise filtered by a variable resonator. Contents 1 Introduction 3 1.1 Installing Faust ...................................... 4 1.2 Faust Examples ...................................... 5 2 Primer on the Faust Language 5 2.1 Basic Signal Processing Blocks (Elementary Operators onSignals) .......... 7 2.2 BlockDiagramOperators . ...... 7 2.3 Examples ........................................ 8 2.4 InfixNotationRewriting. ....... 8 2.5 Encoding Block Diagrams in the Faust Language ................... 9 2.6 Statements ...................................... ... 9 2.7 FunctionDefinition............................... ...... 9 2.8 PartialFunctionApplication . ......... 10 2.9 FunctionalNotationforOperators . .......... 11 2.10Examples ....................................... 11 1 2.11 Summary of Faust NotationStyles ........................... 11 2.12UnaryMinus ..................................... 12 2.13 Fixing
    [Show full text]
  • How to Create Music with GNU/Linux
    How to create music with GNU/Linux Emmanuel Saracco [email protected] How to create music with GNU/Linux by Emmanuel Saracco Copyright © 2005-2009 Emmanuel Saracco How to create music with GNU/Linux Warning WORK IN PROGRESS Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available on the World Wide Web at http://www.gnu.org/licenses/fdl.html. Revision History Revision 0.0 2009-01-30 Revised by: es Not yet versioned: It is still a work in progress. Dedication This howto is dedicated to all GNU/Linux users that refuse to use proprietary software to work with audio. Many thanks to all Free developers and Free composers that help us day-by-day to make this possible. Table of Contents Forword................................................................................................................................................... vii 1. System settings and tuning....................................................................................................................1 1.1. My Studio....................................................................................................................................1 1.2. File system..................................................................................................................................1 1.3. Linux Kernel...............................................................................................................................2
    [Show full text]
  • Radium: a Music Editor Inspired by the Music Tracker
    Radium: A Music Editor Inspired by the Music Tracker Kjetil Matheussen Norwegian Center for Technology in Music and the Arts. (NOTAM) Sandakerveien 24D, Bygg F3 N-0473 Oslo Norway [email protected] Abstract Musical events are defined with pure text. Radium is a new type of music editor inspired by The event C#3 5-32-000 plays the note C the music tracker. Radium's interface differs from sharp at octave 3 using instrument number 5 at the classical music tracker interface by using graphi- volume 32. The last three zeroes can be used cal elements instead of text and by allowing musical for various types of sound effects, or to set new events anywhere within a tracker line. tempo. Chapter 1: The classical music tracker interface The tables are called patterns, and a song and how Radium differs from it. Chapter 2: Ra- usually contains several patterns. To control dium Features: a) The Editor; b) The Modular the order patterns are playbed back, we use a Mixer; c) Instruments and Audio Effects; d) In- strument Configuration; e) Common Music Nota- playlist. For example, if we have three patterns, tion. Chapter 3: Implementation details: a) Paint- a typical song could have a playlist like this: ing the Editor; b) Smooth Scrolling; c) Embed- 1, 2, 1, 2, 3, 1, 2. ding Pure Data; d) Collecting Memory Garbage in C and C++. Chapter 4: Related software. 1.1 How Radium Differs from the Classical Tracker Interface Keywords Radium4 differs from the music tracker inter- Radium, Music Tracker, GUI, Pure Data, Graphics face by using graphical elements instead of text Programming.
    [Show full text]
  • Proyecto Fin De Grado
    ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN PROYECTO FIN DE GRADO TÍTULO: Implementación de un sintetizador en un kit de desarrollo de bajo coste AUTOR: Arturo Fernández TITULACIÓN: Grado en Ingeniería de Sonido e Imagen TUTOR: Antonio Mínguez Olivares DEPARTAMENTO: Teoría de la señal y Comunicación VºBº Miembros del Tribunal Calificador: PRESIDENTE: Eduardo Nogueira Díaz TUTOR: Antonio Mínguez Olivares SECRETARIO: Francisco Javier Tabernero Gil Fecha de lectura: Calificación: El Secretario, Agradecimientos − A mis padres y mi hermana, por apoyarme en todos los aspectos (con discrepancias inevitables) a lo largo de esta carrera de fondo. − A mis amigos y la novia, por no verme el pelo durante largos periodos de tiempo. − A los profesores que han conseguido despertar mi interés y dedicarme horas en tutorías. − A mi tutor por aceptar mi propuesta y tutelar el proyecto sin pensárselo. − A mi cuñado Rafa, que, a pesar de estar eternamente abarrotado, sacaba un hueco para ayudarme en los momentos más difíciles, motivarme y guiarme a lo largo de todos estos años. Sin su ayuda, esto no habría sido posible. − Finalmente, darme las gracias a mí mismo, por aguantar este ritmo de vida, tener la ambición de seguir y afrontar nuevos retos. Como me dice mi padre: “Tú hasta que no llegues a la Luna, no vas a parar, ¿no?”. Implementación de un sintetizador en un kit de desarrollo de bajo coste Resumen La realización de este proyecto consiste en el diseño de un sintetizador ‘Virtual Analógico’ basado en sintetizadores de los años 60 y 70. Para ello, se estudia la teoría que conforma la topología básica de los sintetizadores sustractivos, así como, los elementos que intervienen en la generación y modificación del sonido.
    [Show full text]
  • Qtractor – a Audio/MIDI Multi-Track Sequencer
    Qtractor – A Audio/MIDI multi-track sequencer Rui Nuno CAPELA rncbc.org [email protected] Abstract sequencer for MIDI, thus currently being a Linux- only application. There are not known intentions Qtractor is a MIDI/Audio multi-track sequencer on support to any other platforms. application written in C++ around the Qt4 toolkit Qtractor is free open-source software, licensed using Qt Designer. The initial target platform will be Linux, where the Jack Audio Connection Kit under the GPL and is welcoming all collaboration (JACK) for audio, and the Advanced Linux Sound and review from the Linux Audio developer and Architecture (ALSA) for MIDI, are the main user community in particular and the public in infrastructures to evolve as a fairly-featured Linux general. Desktop Audio Workstation GUI, specially dedicated to the personal home-studio. 2 Installation Keywords 2.1 Requirements Linux, audio, MIDI, JACK, ALSA, multi-track, The software requirements for build and run- recording, sequencer time are listed as follows: 1 Introduction Mandatory: As a new Linux Audio offering, Qtractor targets ● Qt4 (core, gui, xml) [2] and positions itself comfortably tagged as for the ● JACK [3] techno-boy bedroom home-studio. However, in ● ALSA [4] general, it is just yet another digital audio and ● libsndfile[5] MIDI multi-track composition and arranger software application. The design and functionality Optional (opted-in at build time): model takes as fundamental the now usual multi- track composing techniques for modern music- ● libvorbis (enc, file) [6] making. It aims to be intuitive and easy to use. ● libmad [7] Unfortunately, for the classic and erudite ● libsamplerate [8] musician, there are and will be no plans to integrate any kind of score editor.
    [Show full text]