Implementing a Polyphonic MIDI Software Synthesizer Using

Total Page:16

File Type:pdf, Size:1020Kb

Implementing a Polyphonic MIDI Software Synthesizer Using Implementing a Polyphonic MIDI Software Synthesizer using Coroutines, Realtime Garbage Collection, Closures, Auto-Allocated Variables, Dynamic Scoping, and Continuation Passing Style Programming Kjetil Matheussen Norwegian Center for Technology in Music and the Arts. (NOTAM) [email protected] Abstract however the programming only concerns han- This paper demonstrates a few programming tech- dling blocks of samples where we only control a niques for low-latency sample-by-sample audio pro- signal graph, there are several high level alter- gramming. Some of them may not have been used natives which makes it relatively easy to do a for this purpose before. The demonstrated tech- straightforward implementation of a MIDI soft niques are: Realtime memory allocation, realtime synth. Examples of such high level music pro- garbage collector, storing instrument data implicitly gramming systems are SuperCollider [McCart- in closures, auto-allocated variables, handling signal ney, 2002], Pd [Puckette, 2002], CSound4 and buses using dynamic scoping, and continuation pass- many others. ing style programming. But this paper does not describe use of block processing. In this paper, all samples are in- Keywords dividually calculated. The paper also explores Audio programming, realtime garbage collection, possible advantages of doing everything, alloca- coroutines, dynamic scoping, Continuation Passing tion, initialization, scheduling, etc., from inside Style. the realtime audio thread. At least it looks like everything is performed 1 Introduction inside the realtime audio thread. The under- lying implementation is free to reorganize the This paper demonstrates how to implement a code any way it wants, although such reorga- MIDI software synthesizer (MIDI soft synth) nizing is not performed in Snd-RT yet. using some unusual audio programming tech- Future work is making code using these tech- niques. The examples are written for Snd-RT niques perform equally, or perhaps even better, [Matheussen, 2008], an experimental audio pro- than code where allocation and initialization of gramming system supporting these techniques. data is explicitly written not to run in the real- The techniques firstly emphasize convenience time audio thread. (i.e. few lines of code, and easy to read and modify), and not performance. Snd-RT1 runs on top of Snd2 which again runs on top of the 2 MIDI software synthesizer Scheme interpreter Guile.3 Guile helps gluing The reason for demonstrating a MIDI soft synth all parts together. instead of other types of music programs such It is common in music programming only to as a granular synthesis generator or a reverb, is compute the sounds themselves in a realtime that the behavior of a MIDI soft synth is well priority thread. Scheduling new notes, alloca- known, plus that a MIDI soft synth contains tion of data, data initialization, etc. are usually many common challenges in audio and music performed in a thread which has a lower prior- programming: ity than the audio thread. Doing it this way 1. Generating samples. To hear sound, we helps to ensure constant and predictable CPU need to generate samples at the Audio usage for the audio thread. But writing code Rate. that way is also more complicated. At least, when all samples are calculated one by one. If 2. Handling Events. MIDI data are read at a rate lower than the audio rate. This rate is 1 http://archive.notam02.no/arkiv/doc/snd-rt/ commonly called the Control Rate. 2http://ccrma.stanford.edu/software/snd/ 3http://www.gnu.org/software/guile/guile.html 4http://www.csound.com 3. Variable polyphony. Sometimes no notes coroutine to make it run. The spawned are playing, sometimes maybe 30 notes are coroutine will run automatically as soon6 playing. as the current coroutine yields (by calling yield or wait), or the current coroutine 4. Data allocation. Each playing note re- ends. quires some data to keep track of frequency, phase, envelope position, volume, etc. The Coroutines are convenient in music pro- challenges are; How do we allocate memory gramming since it often turns out practi- for the data? When do we allocate memory cal to let one dedicated coroutine handle for the data? How do we store the memory only one voice, instead of mixing the voices holding the data? When do we initialize manually. Furthermore, arbitrarily placed the data? pauses and breaks are relatively easy to im- plement when using coroutines, and there- 5. Bus routing. The sound coming from the fore, supporting dynamic control rate simi- tone generators is commonly routed both lar to ChucK [Wang and Cook, 2003] comes through an envelope and a reverb. In ad- for free. dition, the tones may be autopanned, i.e. panned differently between two loudspeak- (wait n) waits n number of frames before con- ers depending on the note height (similar tinuing the execution of the current corou- to the direction of the sound coming from tine. a piano or a pipe organ). (sound ...) spawns a special kind of coroutine where the code inside sound is called one time per sample. (sound coroutines are 3 Common Syntax for the Examples stored in a tree and not in a priority queue The examples are written for a variant of since the order of execution for sound the programming language Scheme [Steele and coroutines depends on the bus system and Sussman, 1978]. Scheme is a functional lan- not when they are scheduled to wake up.) guage with imperative operators and static A simple version of the sound macro, scoping. called my-sound, can be implemented like A number of additional macros and special this: operators have been added to the language, and some of them are documented here because of (define-stalin-macro (my-sound . body) the examples later in the paper. ‘(spawn (while #t ,@body (<rt-stalin>...) is a macro which first trans- (wait 1)))) forms the code inside the block into clean R4RS code [Clinger and Rees, 1991] un- However, my-sound is inefficient compared 5 derstood by the Stalin Scheme compiler. to sound since my-sound is likely to do (Stalin Scheme is an R4RS compiler). Af- a coroutine context switch at every call ter Stalin is finished compiling the code, the to wait.7 sound doesn’t suffer from this produced object file is dynamically linked problem since it is run in a special mode. into Snd-RT and scheduled to immediately This mode makes it possible to run tight run inside the realtime audio thread. loops which does not cause a context switch (define-stalin signature ...) defines variables until the next scheduled event. and functions which are automatically in- (out <channel> sample) sends out data to serted into the generated Stalin scheme the current bus at the current time. (the code if needed. The syntax is similar to current bus and the current time can be define. thought of as global variables which are im- (spawn ...) spawns a new coroutine [Conway, plicitly read from and written to by many 1963; Dahl and Nygaard, 1966]. Corou- 6Unless other coroutines are placed earlier in the tines are stored in a priority queue and it is queue. not necessary to explicitly call the spawned 7I.e. if two or more my-sound blocks or sound blocks run simultaneously, and at least one of them is a my- 5Stalin - a STAtic Language ImplementatioN, sound block, there will be at least two coroutine context http://cobweb.ecn.purdue.edu/ qobi/software.html. switches at every sound frame. operators in the system)8 By default, the :where is just another way to declare local current bus is connected to the sound card, variables. For example, but this can be overridden by using the (+ 2 b in macro which is explained in more de- :where b 50) tail later. If the channel argument is omitted, the is another way of writing sample is written both to channel 0 and 1. (let ((b 50)) It makes sense only to use out inside a (+ 2 b)) sound block. The following example plays a 400Hz sine sound to the sound card: There are three reason for using :where instead of let. The first reason is that (<rt-stalin> the use of :where requires less parenthe- (let ((phase 0.0)) sis. The second reason is that reading the (sound code sometimes sounds more natural this (out (sin phase)) (inc! phase (hz->radians 400))))) way. (I.e “add 2 and b, where b is 50” in- stead of “let b be 50, add 2 and b”.) The (range varname start end ...) is a simple lo- third reason is that it’s sometimes easier op iterator macro which can be imple- to understand the code if you know what mented like this:9 you want to do with a variable, before it is defined. (define-macro (range varname start end . body) (define loop (gensym)) 4 Basic MIDI Soft Synth ‘(let ,loop ((,varname ,start)) (cond ((<,var ,end) We start by showing what is probably the sim- ,@body plest way to implement a MIDI soft synth: (,loop (+ ,varname 1)))))) (range note-num 0 128 (wait-midi :options ...) waits until MIDI data (<rt-stalin> is received, either from an external inter- (define phase 0.0) face, or from another program. (define volume 0.0) (sound wait-midi has a few options to specify the (out (* volume (sin phase)))) kind of MIDI data it is waiting for. In the (inc! phase (midi->radians note-num))) examples in this paper, the following op- (while #t tions for wait-midi are used: (wait-midi :command note-on :note note-num (set! volume (midi-vol))) :command note-on (wait-midi :command note-off :note note-num Only wait for a note on MIDI message. (set! volume 0.0)))) :command note-off This program runs 128 instruments simul- Only wait for a note off MIDI mes- taneously.
Recommended publications
  • A Framework for Embedded Digital Musical Instruments
    A Framework for Embedded Digital Musical Instruments Ivan Franco Music Technology Area Schulich School of Music McGill University Montreal, Canada A thesis submitted to McGill University in partial fulfillment of the requirements for the degree of Doctor of Philosophy. © 2019 Ivan Franco 2019/04/11 i Abstract Gestural controllers allow musicians to use computers as digital musical instruments (DMI). The body gestures of the performer are captured by sensors on the controller and sent as digital control data to a audio synthesis software. Until now DMIs have been largely dependent on the computing power of desktop and laptop computers but the most recent generations of single-board computers have enough processing power to satisfy the requirements of many DMIs. The advantage of those single-board computers over traditional computers is that they are much smaller in size. They can be easily embedded inside the body of the controller and used to create fully integrated and self-contained DMIs. This dissertation examines various applications of embedded computing technologies in DMIs. First we describe the history of DMIs and then expose some of the limitations associated with the use of general-purpose computers. Next we present a review on different technologies applicable to embedded DMIs and a state of the art of instruments and frameworks. Finally, we propose new technical and conceptual avenues, materialized through the Prynth framework, developed by the author and a team of collaborators during the course of this research. The Prynth framework allows instrument makers to have a solid starting point for the de- velopment of their own embedded DMIs.
    [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]
  • 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]
  • 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]
  • MOTIF XS Editor Installation Guide
    MOTIF XS Editor Installation Guide ATTENTION SOFTWARE LICENSING AGREEMENT PLEASE READ THIS SOFTWARE LICENSE AGREEMENT (“AGREEMENT”) CAREFULLY BEFORE USING THIS SOFTWARE. YOU ARE ONLY PERMITTED TO USE THIS SOFTWARE PURSUANT TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. THIS AGREEMENT IS BETWEEN YOU (AS AN INDIVIDUAL OR LEGAL ENTITY) AND YAMAHA CORPORATION (“YAMAHA”). BY DOWNLOADING, INSTALLING, COPYING, OR OTHERWISE USING THIS SOFTWARE YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU DO NOT AGREE WITH THE TERMS, DO NOT DOWNLOAD, INSTALL, COPY, OR OTHERWISE USE THIS SOFTWARE. IF YOU HAVE DOWNLOADED OR INSTALLED THE SOFTWARE AND DO NOT AGREE TO THE TERMS, PROMPTLY DELETE THE SOFTWARE. 1. GRANT OF LICENSE AND COPYRIGHT Yamaha hereby grants you the right to use one copy of the software program(s) and data (“SOFTWARE”) accompanying this Agreement. The term SOFTWARE shall encompass any updates to the accompanying software and data. The SOFTWARE is owned by Yamaha and/or Yamaha’s licensor(s), and is protected by relevant copyright laws and all applicable treaty provisions. While you are entitled to claim ownership of the data created with the use of SOFTWARE, the SOFTWARE will continue to be protected under relevant copyrights. • You may use the SOFTWARE on your computer(s). • You may make one copy of the SOFTWARE in machine-readable form for backup purposes only, if the SOFTWARE is on media where such backup copy is permitted. On the backup copy, you must reproduce Yamaha's copyright notice and any other proprietary legends that were on the original copy of the SOFTWARE.
    [Show full text]
  • Aaltomanual1.5.Pdf
    Making and organizing sounds with AALTO A comprehensive guide to signals, scribbles and patching by Madrona Labs is manual is released under the Creative Commons Attribution 3.0 Unported License. You may copy, distribute, transmit and adapt it, for any purpose, provided you include the following attribution: Aalto and the Aalto manual by Madrona Labs. http://madronalabs.com. Version 1.5, February 2014. Written by George Cochrane and Randy Jones. Illustrated by David Chandler. Typeset in Adobe Minion using the TEX document processing system. Any trademarks mentioned are the sole property of their respective owners. Such mention does not imply any endorsement of or associ- ation with Madrona Labs. Introduction What is Aalto? It’s tempting to think of Aalto as a mere soware synthe- sizer, yet another sound source, huddling amongst the teeming masses of such instruments that lurk within the menus of your favorite audio program. However, that would be doing it a disservice, for Aalto is, we think, really special. We like to think of it as a carefully craed box of sonic tools, few enough to learn easily, but flexible enough to combine in surprisingly powerful ways. Of course, it’s also just a good everyday instrument, if that’s what you want. Aalto, like many modular synthesizers, comes stocked with oscil- lators, filters, envelope generators, and goodies such as a waveshaper section and an especially nice one-knob reverb. Aalto’s twist (at least, the one we chortle about as we sip vintage armagnac in our secret lair halfway up the Space Needle,) is that thanks to the unique patching in- terface, making your own sounds with Aalto, even complicated ones, need not be a chore.
    [Show full text]
  • Read This First 04451001 2MP
    Microsoft and Windows and Windows Vista are registered trademarks of Microsoft Corporation. Before using this unit, carefully read the sections entitled: “USING THE UNIT Windows® is known o cially as: “Microsoft® Windows® operating system.” SAFELY” and “IMPORTANT NOTES.” These sections provide important informa- The screen shots in this document are used in compliance with the guidelines of the Microsoft Corporation. tion concerning the proper operation of the unit. Additionally, in order to Apple and Macintosh are registered trademarks of Apple, Inc. feel assured that you have gained a good grasp of every feature provided by Setup guide Mac OS is a trademark of Apple, Inc. your new unit, This Owner’s manual should be read in its entirety. The manual All product names mentioned in this document are trademarks should be saved and kept on hand as a convenient reference. or registered trademarks of their respective owners. The explanations in this manual include illustrations that depict what should typically be shown by the display. Note, however, that your unit may incorporate a newer, enhanced version of the system Copyright © 2007 ROLAND CORPORATION (e.g., includes newer sounds), so what you actually see in the display may not always match what All rights reserved. No part of this publication may be reproduced in any form appears in the manual. without the written permission of ROLAND CORPORATION. Read this first 04451001 2MP As soon as you open the package, check to make sure all items have been included. 1 Check the package If any are missing, please contact your dealer. ☐PCR keyboard ☐USB cable ☐Owner’s manual This is used to connect the PCR to your computer.
    [Show full text]
  • “Knowing Is Seeing”: the Digital Audio Workstation and the Visualization of Sound
    “KNOWING IS SEEING”: THE DIGITAL AUDIO WORKSTATION AND THE VISUALIZATION OF SOUND IAN MACCHIUSI A DISSERTATION SUBMITTED TO THE FACULTY OF GRADUATE STUDIES IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY GRADUATE PROGRAM IN MUSIC YORK UNIVERSITY TORONTO, ONTARIO September 2017 © Ian Macchiusi, 2017 ii Abstract The computer’s visual representation of sound has revolutionized the creation of music through the interface of the Digital Audio Workstation software (DAW). With the rise of DAW- based composition in popular music styles, many artists’ sole experience of musical creation is through the computer screen. I assert that the particular sonic visualizations of the DAW propagate certain assumptions about music, influencing aesthetics and adding new visually- based parameters to the creative process. I believe many of these new parameters are greatly indebted to the visual structures, interactional dictates and standardizations (such as the office metaphor depicted by operating systems such as Apple’s OS and Microsoft’s Windows) of the Graphical User Interface (GUI). Whether manipulating text, video or audio, a user’s interaction with the GUI is usually structured in the same manner—clicking on windows, icons and menus with a mouse-driven cursor. Focussing on the dialogs from the Reddit communities of Making hip-hop and EDM production, DAW user manuals, as well as interface design guidebooks, this dissertation will address the ways these visualizations and methods of working affect the workflow, composition style and musical conceptions of DAW-based producers. iii Dedication To Ba, Dadas and Mary, for all your love and support. iv Table of Contents Abstract ..................................................................................................................
    [Show full text]
  • Hear the Garbage Collector: a Software Synthesizer in Java “Harmonicon”
    Hear the Garbage Collector: a Software Synthesizer in Java “Harmonicon” An overview of the project implemented for IBM Research Guest Speaker: Universität Salzburg Florian Bömers Fachbereich Founder, bome.com Computerwissenschaften Speaker Introduction ● Florian Bömers owns a software company specializing in MIDI and audio tools ● Research and development of digital audio software since 1986; in 2000 diploma thesis about real time audio processing with wavelets ● From 2001-2004, he was leading Java Sound development at Sun Microsystems ● Active in a number of open source projects about Java Sound and audio software ● He works as consultant for various companies in the field of audio/media software architecture Florian Bömers Hear the Garbage Collector: June 30th, 2006 A Software Synthesizer in Java 2 Agenda ● Introduction ● Goals ● Technologies ● Synthesizer Architecture ● Realtime Java integration ● Results so far ● Demo ● Outlook ● Q&A/Discussion Florian Bömers Hear the Garbage Collector: June 30th, 2006 A Software Synthesizer in Java 3 Introduction The idea: ● Garbage Collectors interrupt the VM ● for audio playback, interruptions cause – bad timing – audible gaps ● a real time software synthesizer well suited: – should allocate a lot of objects – will expose intrusiveness of garbage collectors ➔ hire Florian to implement such a software synth Florian Bömers Hear the Garbage Collector: June 30th, 2006 A Software Synthesizer in Java 4 Goals Before the implementation was started, these goals were fixed: ● implement a full real time synthesis
    [Show full text]
  • Studio Product Family Overview
    Vegas Movie Studio+DVD, ACID Music Studio and Sound Forge Audio Studio Overview Studio Product Family Overview Executive Summary This document is an overview of Vegas® Movie Studio™+DVD, ACID® Music Studio™ 5, and Sound Forge® Audio Studio™ 7 software. Please use it as a reference, as it includes important information about new feature sets, screenshots and comparisons. Product Part Number List Price Vegas Movie Studio+DVD SVMSDV4000 US$99.95 ACID Music Studio 5 SAMS5000 US$69.95 Sound Forge Audio Studio 7 SFAS7000 US$69.95 Section I – Vegas Movie Studio+DVD Overview Vegas Movie Studio Interface © 2004. Sony Pictures Digital Inc. All rights reserved SPDN Confidential 8/11/2004 Page 1 Vegas Movie Studio+DVD, ACID Music Studio and Sound Forge Audio Studio Overview DVD Architect Studio Interface: Vegas Movie Studio+DVD software: Turn Your PC Into a Digital Production Studio! Built-on award-winning Vegas software technology, Vegas Movie Studio and DVD Architect™ Studio software provide you with a powerful, integrated and easy-to-use set of features that lets you bring your collection of videos, digital photos and music to life. It’s easy to transfer videos and digital photos to your computer. Vegas Movie Studio software expertly manages your media and even detects where each scene begins and ends. Perform precise editing and use hundreds of Hollywood-style special effects, 3D transitions, video clips, title cards, borders, music beds, sound effects and more. Over 30 tutorials provide interactive assistance throughout the creative process – spend less time learning and more time creating. Use DVD Architect Studio software to burn your creations to DVD, produce movies containing multiple menus, buttons and links, or create slideshows and music compilations.
    [Show full text]
  • A Narrative Exploring the Perception of Analog Synthesizer Enthusiasts' Identity and Communication Christoph Stefan Kresse Clemson University
    Clemson University TigerPrints All Theses Theses 5-2015 Synthesized: A Narrative Exploring the Perception of Analog Synthesizer Enthusiasts' Identity and Communication Christoph Stefan Kresse Clemson University Follow this and additional works at: https://tigerprints.clemson.edu/all_theses Recommended Citation Kresse, Christoph Stefan, "Synthesized: A Narrative Exploring the Perception of Analog Synthesizer Enthusiasts' Identity and Communication" (2015). All Theses. 2114. https://tigerprints.clemson.edu/all_theses/2114 This Thesis is brought to you for free and open access by the Theses at TigerPrints. It has been accepted for inclusion in All Theses by an authorized administrator of TigerPrints. For more information, please contact [email protected]. SYNTHESIZED: A NARRATIVE EXPLORING THE PERCEPTION OF ANALOG SYNTHESIZER ENTHUSIASTS’ IDENTITY AND COMMUNICATION A Thesis Presented to the Graduate School of Clemson University In Partial Fulfillment of the Requirements for the Degree Master of Arts Communication, Technology, and Society by Christoph Stefan Kresse May 2015 Accepted by: Dr. Chenjerai Kumanyika, Ph.D., Committee Chair Dr. David Travers Scott, Ph.D. Dr. Darren L. Linvill, Ph.D. Dr. Bruce Whisler, Ph.D. i ABSTRACT This document is a written reflection of the production process of the creative project Synthesized, a scholarly-rooted documentary exploring the analog synthesizer world with focus on organizational structure and perception of social identity. After exploring how this production complements existing works on the synthesizer, electronic music, identity, communication and group association, this reflection explores my creative process and decision making as an artist and filmmaker through the lens of a qualitative researcher. As part of this, I will discuss logistic, as well as artistic and creative, challenges.
    [Show full text]
  • SRX KEYBOARDS Software Synthesizer Owner's Manual
    SRX KEYBOARDS Software Synthesizer Owner’s Manual Copyright © 2018 ROLAND CORPORATION 01 Introduction For details on the settings for the DAW software that you’re using, refer to the DAW’s help or manuals. About Trademarks • VST is a trademark and software of Steinberg Media Technologies GmbH. • The Audio Units logo is a trademark of Apple Inc. • Roland is a registered trademark or trademark of Roland Corporation in the United States and/or other countries. • Company names and product names appearing in this document are registered trademarks or trademarks of their respective owners. 2 Contents Introduction . 2 EFFECTS Parameters . 34 Applying Effects . 34 Screen Structure . 4 Effect Settings . 34 Using SRX KEYBOARDS. 5 Signal Flow and Parameters (ROUTING). 34 How to Edit Values . 5 Multi-Effect Settings (MFX) . 35 Initializing a value. 5 Chorus and Reverb Settings. 36 About the KEYBOARD button. 5 Effects List . 37 Overview of the SRX KEYBOARDS . 6 Multi-Effects Parameters (MFX) . 37 How the SRX KEYBOARDS is Organized . 6 About RATE and DELAY TIME . 38 How a Patch is Structured . 6 When Using 3D Effects . 38 How a Rhythm Set is Structured . 6 About the STEP RESET function . 38 Calculating the Number of Voices Being Used . 6 Chorus Parameters . 69 About the Effects . 7 Reverb Parameters . 69 Memory and Bank . 8 What is a Memory?. 8 Bank . 8 Changing to Other Bank. 8 Exporting the Bank . 8 Importing a Bank . 8 Creating/Deleting a Bank . 8 Renaming a Bank . 8 Category. 9 Memory . 9 Loading a Memory. 9 Saving the Memory . 9 Renaming the Memory.
    [Show full text]