Two Cross-Platform Csound-Based Plugin Generators

Total Page:16

File Type:pdf, Size:1020Kb

Two Cross-Platform Csound-Based Plugin Generators TWO CROSS-PLATFORM CSOUND-BASED PLUGIN GENERATORS Victor Lazzarini Rory Walsh, Martin Brogan An Grúpa Theicneolaíocht Fuaime agus Ceoil Music Department Dhigitigh Dundalk Institute of Technology National University of Ireland, Maynooth, [email protected] Ireland [email protected] [email protected] , ABSTRACT API call, it can be used to send control data to a running instance. This article describes two new plugin generators for the development of effects and instruments using the In the present systems, audio data is sent to the main Csound audio programming language, csLADSPA and input buffer of Csound and collected from the main csVST. It discusses the basics of these two systems, output buffer. This implies that the number of channels exploring some of their internal aspects. The text of a plugin is defined as a global constant in the Csound continues on to show three basic examples, two plugin code. However, the sampling rate and vector size will be effects and one synthesis instrument. These determined by the plugin host, overriding any values demonstrate both time-domain and spectral processes. defined by Csound. The API is also responsible for The article concludes with a look at specific details of loading and compiling all Csound code. operation of the two plugin generators. 2. THE PLUGIN GENERATORS 1. INTRODUCTION csLADSPA uses the LADSPA format. This plugin model The availability of a variety of plugin models and host came to fruition in early 2000 following the combined applications has provided fertile ground for the efforts of Paul Davis, Richard Furse, and Stefan development of audio effects. Such systems allow Westerfield. LADSPA provides developers with a simple programmers to concentrate on the signal processing way of developing audio plugins which can be loaded by tasks at hand, as they provide all the infrastructure for a wide range of host applications. audio input and output, as well as a model for the CsVST uses the VST plugin format. There are, in fact, creation of software components. In this article, we will two types of VST plugins supported by csVST: csVSTfx go a step further by providing the plugin developer with and csVSTi. The first one is used for general-purpose a full complement of signal processing operators, unit audio effects and the second for synthesiser instruments. generators, from a widely adopted system, Csound[1]. In The VST plugin framework is ubiquitous in the this scenario, a plugin designer can avail of already commercial music software market, therefore csVST existing components to build his/her own effects or should be of great utility to many users. instruments. 2.1. The inside bits The generators presented here support the creation of plugins under two major systems: a Free-software one, csLADSPA and csVST are not themselves the plugins, the Linux Audio Developer’s Simple Plugin API but plugin generators. They will create, in a host, any (Application Programming Interface) (LADSPA)[7] and number of plugins written by the user. Each one of these a commmercial system, the Virtual Studio Technology will be linked to a particular Csound orchestra/score. (VST) [8]. Plugins for both systems can be created using Plugins are created when csLADSPA (or csVST) is the same code, interchangeably, as they are solely based loaded by the host. In the case of csLADSPA, the on the Csound language. generator will then provide one plugin for each Csound code file found in a pre-defined directory. For csVST 1.1. The Csound host API plugins, the Csound code will be appended to the The main component of the systems presented here is the dynamic-loadable module (MS-Windows) or included in Csound 5 library (libcsound), accessed through its API. a bundle (OS X). Libcsound is a fully-reentrant object-oriented library, As mentioned above, the number of audio channels for allowing any number of instances of the audio processing a plugin and its controls is determined by the Csound engine to be run concurrently. The library can be code. A number of extra XML tags have been defined for programmed using a variety of languages. For the some of these tasks. Once plugins are created, they will present systems, we will be employing its C++[5] API. generally be displayed on a list by the host, from where Communication between a Csound instance and the they can be instantiated and run. host for control messages is enabled by the software bus. A basic model of how the plugins work is shown in This is based on a system of input/output channels, below (fig.1). The host application loads the csLADSPA referenced by name and managed by engine. Once a or csVST-created plugin. This will instantiate a Csound channel is created, either using Csound code or via an object and compile its associated orchestra/score code. When the user processes audio through it, the plugin will Tags Description route the input audio to that instance of Csound. This Name The name of the plugin as it will will then process this audio and return it to the plugin appear in the host application which will then route that audio to the host application. Maker Author of plugin Figure 2 shows a plugin in operation in the host UniqueID ID given to plugin, each plugin application Audacity. should use a unique ID. Copyright Copyright/Licence notice ControlPort The name of the control as it appears when the plugin is ran and the name of the channel which Csound will retrieve the data on. The two names should be separated by a '|' symbol. Range Plugin max/min range. Again the two values are separated by a '|' symbol. If users wish to controls to respond logarithmically they can add a '&log' after they specify Figure 1. csLADSPA/csVST plugin structure the range values. Table 1. Plugin tags For this to happen, calls are made to the ControlPort and Range tags are optional, but the former method, which is Csound::PerformKsmps() always requires the latter. Examples of how these tags responsible for processing or generating one vector full are used can be seen in the next section. of samples. These, in turn, are shifted in and out of the main Csound buffers to/from the host buffers. In the case 3. EXAMPLES of synthesizer instrument plugins (csVSTi), MIDI communication between the host and Csound is also In the following section two csLADSPA plugins are provided through API calls. In this case, Csound presented. The first illustrates the mechanisms for instruments will be instantiated by realtime MIDI events communication between the host and the csLADSPA sent in by the host. plugin. The other plugin makes use of some of the more advanced opcodes included with Csound5, i.e., the PVS[2] opcodes. 3.1. An Adaptive FM effect The first example features an effect based on Adaptive Frequency (AdFM) [3]. This technique uses an input audio signal as a carrier in a frequency modulation synthesis algorithm. The signal is put through a variable delayline and modulated with a sinusoidal oscillator. The AdFM effect is implemented by a User-Defined Opcode. This plugin will require two control ports, one for the index of modulation and another for the carrier:modulator frequency ratio: Figure 2. A csLADSPA plugin in Audacity. <csLADSPA> 2.2. Plugin tags Name=AdFM Maker=Lazzarini, Walsh & Brogan Plugins will use the unified file format (CSD) for reading UniqueID=1054 Csound code. In these files, the user must specify some Copyright=None basic information about the plugin, in the form of XML ControlPort=Modulation Index|index Range=0|5 tags (table 1). This is done by adding a section in the ControlPort=Car-mod ratio|ratio CSD file whereby the user can specify things like the Range=0.5|2 name of the plugin, the author, etc. It is in this section </csLADSPA> that the user can also specify the control ports they will <CsoundSynthesizer> need in order to interact with their Csound code when <CsInstruments> running the plugin through a host. This section will be defined inside or opcode DFM,a,akki <csLADSPA>, <csVSTfx> setksmps 1 <csVSTi>, for LADSPA, VST effects and VST as,krt,knx,ifn xin instruments, respectively. kcps,kamp ptrack as,1024 adt oscili knx/($M_PI*kcps),kcps/krt,ifn adp delayr 1 /* delay line */ adel deltap3 adt + 2/sr xout adel endop instr 1 instr 1 imaxdel chnget "del" knx chnget "index" iblurtime chnget "blur" krt chnget "ratio" asig in ain in fsig pvsanal asig, 1024, 256, 1024, 1 a1 DFM ain,krt,knx,1 ftps pvsblur fsig, 0.2, 0.2 out a1 atps pvsynth ftps endin out atps </CsInstruments> endin <CsScore> f1 0 16384 20 2 </CsInstruments> i1 0 36000 <CsScore> </CsScore> f1 0 1024 10 1 </CsoundSynthesizer> i1 0 3600 </CsScore> As previously mentioned the means of communication </CsoundSynthesizer> between the plugin and the instance of Csound is provided by the software bus. In Csound we can use the 3.3. A Split-Sideband synthesis instrument chnget opcode to retrieve data from a particular bus channel. In the case above this data is used to control the The following code will create a synthesiser, using the Split-Sideband algorithm[4], that accepts MIDI messages different parameters as defined by the Range tag in the sent from the host application. MIDI is routed from the <csLADSPA> section of the above code. host to the plugin through the use of the –midi-key-cps flag which is passed to the CsOptions section of the csd file. This sends all note-on messages MIDI byte 2 to p- field 4, converting them to Hz, where they can easily be retrieved in the instrument code.
Recommended publications
  • Synchronous Programming in Audio Processing Karim Barkati, Pierre Jouvelot
    Synchronous programming in audio processing Karim Barkati, Pierre Jouvelot To cite this version: Karim Barkati, Pierre Jouvelot. Synchronous programming in audio processing. ACM Computing Surveys, Association for Computing Machinery, 2013, 46 (2), pp.24. 10.1145/2543581.2543591. hal- 01540047 HAL Id: hal-01540047 https://hal-mines-paristech.archives-ouvertes.fr/hal-01540047 Submitted on 15 Jun 2017 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. A Synchronous Programming in Audio Processing: A Lookup Table Oscillator Case Study KARIM BARKATI and PIERRE JOUVELOT, CRI, Mathématiques et systèmes, MINES ParisTech, France The adequacy of a programming language to a given software project or application domain is often con- sidered a key factor of success in software development and engineering, even though little theoretical or practical information is readily available to help make an informed decision. In this paper, we address a particular version of this issue by comparing the adequacy of general-purpose synchronous programming languages to more domain-specific
    [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]
  • Proceedings of the Fourth International Csound Conference
    Proceedings of the Fourth International Csound Conference Edited by: Luis Jure [email protected] Published by: Escuela Universitaria de Música, Universidad de la República Av. 18 de Julio 1772, CP 11200 Montevideo, Uruguay ISSN 2393-7580 © 2017 International Csound Conference Conference Chairs Paper Review Committee Luis Jure (Chair) +yvind Brandtsegg Martín Rocamora (Co-Chair) Pablo Di Liscia John -tch Organization Team Michael Gogins Jimena Arruti Joachim )eintz Pablo Cancela Alex )ofmann Guillermo Carter /armo Johannes Guzmán Calzada 0ictor Lazzarini Ignacio Irigaray Iain McCurdy Lucía Chamorro Rory 1alsh "eli#e Lamolle Juan Martín L$#ez Music Review Committee Gusta%o Sansone Pablo Cetta Sofía Scheps Joel Chadabe Ricardo Dal "arra Sessions Chairs Pablo Di Liscia Pablo Cancela "olkmar )ein Pablo Di Liscia Joachim )eintz Michael Gogins Clara Ma3da Joachim )eintz Iain McCurdy Luis Jure "lo Menezes Iain McCurdy Daniel 4##enheim Martín Rocamora Juan Pampin Steven *i Carmelo Saitta Music Curator Rodrigo Sigal Luis Jure Clemens %on Reusner Index Preface Keynote talks The 60 years leading to Csound 6.09 Victor Lazzarini Don Quijote, the Island and the Golden Age Joachim Heintz The ATS technique in Csound: theoretical background, present state and prospective Oscar Pablo Di Liscia Csound – The Swiss Army Synthesiser Iain McCurdy How and Why I Use Csound Today Steven Yi Conference papers Working with pch2csd – Clavia NM G2 to Csound Converter Gleb Rogozinsky, Eugene Cherny and Michael Chesnokov Daria: A New Framework for Composing, Rehearsing and Performing Mixed Media Music Guillermo Senna and Juan Nava Aroza Interactive Csound Coding with Emacs Hlöðver Sigurðsson Chunking: A new Approach to Algorithmic Composition of Rhythm and Metre for Csound Georg Boenn Interactive Visual Music with Csound and HTML5 Michael Gogins Spectral and 3D spatial granular synthesis in Csound Oscar Pablo Di Liscia Preface The International Csound Conference (ICSC) is the principal biennial meeting for members of the Csound community and typically attracts worldwide attendance.
    [Show full text]
  • Computer Music
    THE OXFORD HANDBOOK OF COMPUTER MUSIC Edited by ROGER T. DEAN OXFORD UNIVERSITY PRESS OXFORD UNIVERSITY PRESS Oxford University Press, Inc., publishes works that further Oxford University's objective of excellence in research, scholarship, and education. Oxford New York Auckland Cape Town Dar es Salaam Hong Kong Karachi Kuala Lumpur Madrid Melbourne Mexico City Nairobi New Delhi Shanghai Taipei Toronto With offices in Argentina Austria Brazil Chile Czech Republic France Greece Guatemala Hungary Italy Japan Poland Portugal Singapore South Korea Switzerland Thailand Turkey Ukraine Vietnam Copyright © 2009 by Oxford University Press, Inc. First published as an Oxford University Press paperback ion Published by Oxford University Press, Inc. 198 Madison Avenue, New York, New York 10016 www.oup.com Oxford is a registered trademark of Oxford University Press All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior permission of Oxford University Press. Library of Congress Cataloging-in-Publication Data The Oxford handbook of computer music / edited by Roger T. Dean. p. cm. Includes bibliographical references and index. ISBN 978-0-19-979103-0 (alk. paper) i. Computer music—History and criticism. I. Dean, R. T. MI T 1.80.09 1009 i 1008046594 789.99 OXF tin Printed in the United Stares of America on acid-free paper CHAPTER 12 SENSOR-BASED MUSICAL INSTRUMENTS AND INTERACTIVE MUSIC ATAU TANAKA MUSICIANS, composers, and instrument builders have been fascinated by the expres- sive potential of electrical and electronic technologies since the advent of electricity itself.
    [Show full text]
  • Interactive Csound Coding with Emacs
    Interactive Csound coding with Emacs Hlöðver Sigurðsson Abstract. This paper will cover the features of the Emacs package csound-mode, a new major-mode for Csound coding. The package is in most part a typical emacs major mode where indentation rules, comple- tions, docstrings and syntax highlighting are provided. With an extra feature of a REPL1, that is based on running csound instance through the csound-api. Similar to csound-repl.vim[1] csound- mode strives to enable the Csound user a faster feedback loop by offering a REPL instance inside of the text editor. Making the gap between de- velopment and the final output reachable within a real-time interaction. 1 Introduction After reading the changelog of Emacs 25.1[2] I discovered a new Emacs feature of dynamic modules, enabling the possibility of Foreign Function Interface(FFI). Being insired by Gogins’s recent Common Lisp FFI for the CsoundAPI[3], I decided to use this new feature and develop an FFI for Csound. I made the dynamic module which ports the greater part of the C-lang’s csound-api and wrote some of Steven Yi’s csound-api examples for Elisp, which can be found on the Gihub page for CsoundAPI-emacsLisp[4]. This sparked my idea of creating a new REPL based Csound major mode for Emacs. As a composer using Csound, I feel the need to be close to that which I’m composing at any given moment. From previous Csound front-end tools I’ve used, the time between writing a Csound statement and hearing its output has been for me a too long process of mouseclicking and/or changing windows.
    [Show full text]
  • Expanding the Power of Csound with Integrated Html and Javascript
    Michael Gogins. Expanding the Power of Csound with Intergrated HTML and JavaScript EXPANDING THE POWER OF CSOUND WITH INTEGRATED HTML AND JAVA SCRIPT Michael Gogins [email protected] https://michaelgogins.tumblr.com http://michaelgogins.tumblr.com/ This paper presents recent developments integrating Csound [1] with HTML [2] and JavaScript [3, 4]. For those new to Csound, it is a “MUSIC N” style, user- programmable software sound synthesizer, one of the first yet still being extended, written mostly in the C language. No synthesizer is more powerful. Csound can now run in an interactive Web page, using all the capabilities of current Web browsers: custom widgets, 2- and 3-dimensional animated and interactive graphics canvases, video, data storage, WebSockets, Web Audio, mathematics typesetting, etc. See the whole list at HTML5 TEST [5]. Above all, the JavaScript programming language can be used to control Csound, extend its capabilities, generate scores, and more. JavaScript is the “glue” that binds together the components and capabilities of HTML5. JavaScript is a full-featured, dynamically typed language that supports functional programming and prototype-based object- oriented programming. In most browsers, the JavaScript virtual machine includes a just- in-time compiler that runs about 4 times slower than compiled C, very fast for a dynamic language. JavaScript has limitations. It is single-threaded, and in standard browsers, is not permitted to access the local file system outside the browser's sandbox. But most musical applications can use an embedded browser, which bypasses the sandbox and accesses the local file system. HTML Environments for Csound There are two approaches to integrating Csound with HTML and JavaScript.
    [Show full text]
  • DVD Program Notes
    DVD Program Notes Part One: Thor Magnusson, Alex Click Nilson is a Swedish avant McLean, Nick Collins, Curators garde codisician and code-jockey. He has explored the live coding of human performers since such Curators’ Note early self-modifiying algorithmic text pieces as An Instructional Game [Editor’s note: The curators attempted for One to Many Musicians (1975). to write their Note in a collaborative, He is now actively involved with improvisatory fashion reminiscent Testing the Oxymoronic Potency of of live coding, and have left the Language Articulation Programmes document open for further interaction (TOPLAP), after being in the right from readers. See the following URL: bar (in Hamburg) at the right time (2 https://docs.google.com/document/d/ AM, 15 February 2004). He previously 1ESzQyd9vdBuKgzdukFNhfAAnGEg curated for Leonardo Music Journal LPgLlCe Mw8zf1Uw/edit?hl=en GB and the Swedish Journal of Berlin Hot &authkey=CM7zg90L&pli=1.] Drink Outlets. Alex McLean is a researcher in the area of programming languages for Figure 1. Sam Aaron. the arts, writing his PhD within the 1. Overtone—Sam Aaron Intelligent Sound and Music Systems more effectively and efficiently. He group at Goldsmiths College, and also In this video Sam gives a fast-paced has successfully applied these ideas working within the OAK group, Uni- introduction to a number of key and techniques in both industry versity of Sheffield. He is one-third of live-programming techniques such and academia. Currently, Sam the live-coding ambient-gabba-skiffle as triggering instruments, scheduling leads Improcess, a collaborative band Slub, who have been making future events, and synthesizer design.
    [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]
  • 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]
  • Schwachstellen Der Kostenfreien Digital Audio Workstations (Daws)
    Schwachstellen der kostenfreien Digital Audio Workstations (DAWs) BACHELORARBEIT zur Erlangung des akademischen Grades Bachelor of Science im Rahmen des Studiums Medieninformatik und Visual Computing eingereicht von Filip Petkoski Matrikelnummer 0727881 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Associate Prof. Dipl.-Ing. Dr.techn Hilda Tellioglu Mitwirkung: Univ.Lektor Dipl.-Mus. Gerald Golka Wien, 14. April 2016 Filip Petkoski Hilda Tellioglu Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Disadvantages of using free Digital Audio Workstations (DAWs) BACHELOR’S THESIS submitted in partial fulfillment of the requirements for the degree of Bachelor of Science in Media Informatics and Visual Computing by Filip Petkoski Registration Number 0727881 to the Faculty of Informatics at the Vienna University of Technology Advisor: Associate Prof. Dipl.-Ing. Dr.techn Hilda Tellioglu Assistance: Univ.Lektor Dipl.-Mus. Gerald Golka Vienna, 14th April, 2016 Filip Petkoski Hilda Tellioglu Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit Filip Petkoski Wienerbergstrasse 16-20/33/18 , 1120 Wien Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwen- deten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. Wien, 14. April 2016 Filip Petkoski v Kurzfassung Die heutzutage moderne professionelle Musikproduktion ist undenkbar ohne Ver- wendung von Digital Audio Workstations (DAWs).
    [Show full text]
  • Renoise 3.1 User Manual Renoise 3.1 User Manual Table of Contents 1 Welcome to the Renoise User Manual
    Renoise 3.1 User Manual Renoise 3.1 User Manual Table of Contents 1 Welcome to the Renoise User Manual.......................................................1 2 Introduction To Renoise...........................................................................2 2.1 Main Screen Overview.....................................................................................2 2.1.1 Upper Status Bar.....................................................................................3 2.1.2 Global Song Control................................................................................3 2.1.3 Song Visualisation...................................................................................3 2.1.4 Loading & Saving Files............................................................................3 2.1.5 Selecting Instruments.............................................................................4 2.1.6 Creating & Editing Instruments...............................................................4 2.1.7 GUI presets.............................................................................................5 2.1.8 Sequencing Patterns...............................................................................5 2.1.9 Creating Patterns....................................................................................5 2.1.10 Applying Effects....................................................................................6 2.1.11 Lower Status Bar...................................................................................6 2.2 Guide
    [Show full text]