{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,8]],"date-time":"2025-02-08T05:28:56Z","timestamp":1738992536715,"version":"3.37.0"},"reference-count":25,"publisher":"MIT Press","issue":"3","content-domain":{"domain":["direct.mit.edu"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2023,9,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>Some music-domain visual programming languages (VPLs) have been shown to be Turing-complete. The common lack of built-in flow control structures can obstruct using VPLs to implement general-purpose algorithms, however, which harms the direct use of algorithms and algorithm theory in art-creation processes using VPLs. In this article, we show how to systematically implement general-purpose algorithms in music-domain visual languages by using the computation model known as a finite state machine with data path. The results expose a finite state machine and a set of internal state variables that traverse paths whose speed can be controlled using metronome ticks and whose path depends on the initial conditions of the algorithm. These elements can be further mapped to music elements according to the musician's intentions. We demonstrate this technique by implementing Euclid's greatest common divisor algorithm and using it to control high-level music elements in an implementation of Terry Riley's In C, and to control audio synthesis parameters in a frequency-modulator synthesizer.<\/jats:p>","DOI":"10.1162\/comj_a_00688","type":"journal-article","created":{"date-parts":[[2024,9,4]],"date-time":"2024-09-04T18:42:40Z","timestamp":1725475360000},"page":"35-49","update-policy":"https:\/\/doi.org\/10.1162\/mitpressjournals.corrections.policy","source":"Crossref","is-referenced-by-count":0,"title":["Finite State Machines with Data Paths in Visual Languages for Music"],"prefix":"10.1162","volume":"47","author":[{"given":"Tiago Fernandes","family":"Tavares","sequence":"first","affiliation":[{"name":"Insper Institute of Teaching and Research Rua Quat\u00e1 300, S\u00e3o Paulo, S\u00e3o Paulo, 04546-042, Brazil tiagoft1@insper.edu.br"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jos\u00e9 Eduardo","family":"Fornari","sequence":"additional","affiliation":[{"name":"Interdisciplinary Nucleus for Sound Studies University of Campinas Rua da Reitoria 165, Campinas, S\u00e3o Paulo, S\u00e3o Paulo, 13083-872, Brazil fornari@unicamp.br"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"281","published-online":{"date-parts":[[2023,9,1]]},"reference":[{"issue":"3","key":"2025020718451251300_B1","doi-asserted-by":"publisher","first-page":"59","DOI":"10.1162\/014892699559896","article-title":"Computer-Assisted Composition at IRCAM: From PatchWork to OpenMusic","volume":"23","author":"Assayag","year":"1999","journal-title":"Computer Music Journal"},{"issue":"1","key":"2025020718451251300_B2","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1080\/09298215.2016.1230136","article-title":"Computer-Aided Composition of Musical Processes","volume":"46","author":"Bouche","year":"2017","journal-title":"Journal of New Music Research"},{"issue":"4","key":"2025020718451251300_B3","doi-asserted-by":"publisher","first-page":"981","DOI":"10.1007\/s00521-018-3813-6","article-title":"Deep Learning for Music Generation: Challenges and Directions","volume":"32","author":"Briot","year":"2018","journal-title":"Neural Computing and Applications"},{"key":"2025020718451251300_B4","first-page":"18","article-title":"Composition as Process I: Changes","volume-title":"Silence: Lectures and Writings","author":"Cage","year":"1951"},{"issue":"2","key":"2025020718451251300_B5","doi-asserted-by":"publisher","first-page":"171","DOI":"10.1109\/43.21835","article-title":"Synthesizing Circuits from Behavioural Descriptions","volume":"8","author":"Camposano","year":"1989","journal-title":"IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems"},{"key":"2025020718451251300_B6","doi-asserted-by":"publisher","first-page":"3943","DOI":"10.1145\/2702123.2702515","article-title":"Form Follows Sound","author":"Caramiaux","year":"2015","journal-title":"Proceedings of the Annual ACM Conference on Human Factors in Computing Systems"},{"issue":"7","key":"2025020718451251300_B7","first-page":"526","article-title":"The Synthesis of Complex Audio Spectra by Means of Frequency Modulation","volume":"21","author":"Chowning","year":"1973","journal-title":"Journal of the Audio Engineering Society"},{"issue":"4","key":"2025020718451251300_B8","doi-asserted-by":"publisher","first-page":"969","DOI":"10.1007\/s00521-018-3765-x","article-title":"Towards a Deep Improviser: A Prototype Deep Learning Post-Tonal Free Music Generator","volume":"32","author":"Dean","year":"2018","journal-title":"Neural Computing and Applications"},{"key":"2025020718451251300_B9","article-title":"Expressiveness and Meaning in the Electroacoustic Music of Iannis Xenakis: The Case of La L\u00e9gende d'Eer","author":"Duhautpas","year":"2012","journal-title":"Proceedings of the Electroacoustic Music Studies Network Conference"},{"issue":"1","key":"2025020718451251300_B10","doi-asserted-by":"publisher","first-page":"34","DOI":"10.1080\/09298215.2016.1236823","article-title":"Extending Bach: A Family of Libraries for Real-Time Computer-Assisted Composition in Max","volume":"46","author":"Ghisi","year":"2017","journal-title":"Journal of New Music Research"},{"issue":"2","key":"2025020718451251300_B11","doi-asserted-by":"publisher","first-page":"180","DOI":"10.1093\/ml\/59.2.180","article-title":"Dice Music in the Eighteenth Century","volume":"59","author":"Hedges","year":"1978","journal-title":"Music and Letters"},{"key":"2025020718451251300_B12","doi-asserted-by":"publisher","first-page":"11","DOI":"10.1109\/RTTAS.1996.509518","article-title":"Building Real-Time Music Tools Visually with Sonnet","author":"Jameson","year":"1996","journal-title":"Proceedings Real-Time Technology and Applications Symposium"},{"issue":"5","key":"2025020718451251300_B13","doi-asserted-by":"publisher","first-page":"606","DOI":"10.1177\/0037549714531060","article-title":"Pulsed Melodic Affective Processing: Musical Structures for Increasing Transparency in Emotional Computation","volume":"90","author":"Kirke","year":"2014","journal-title":"Simulation"},{"key":"2025020718451251300_B14","doi-asserted-by":"publisher","DOI":"10.1145\/3243274.3243298","article-title":"On Transformations between Paradigms in Audio Programming","author":"Kraemer","year":"2018","journal-title":"Audio Mostly Conference Proceedings"},{"article-title":"Patchwork: A Visual Programming Language and Some Musical Applications","year":"1996","author":"Laurson","key":"2025020718451251300_B15"},{"key":"2025020718451251300_B16","first-page":"142","article-title":"PWGL: A Novel Visual Language Based on Common Lisp, CLOS and OpenGL","author":"Laurson","year":"2002","journal-title":"Proceedings of the International Computer Music Conference"},{"key":"2025020718451251300_B17","first-page":"109","article-title":"Real-Time Audio Analysis Tools for Pd and MSP","author":"Puckette","year":"1998","journal-title":"Proceedings of the International Computer Music Conference"},{"issue":"1","key":"2025020718451251300_B18","doi-asserted-by":"publisher","DOI":"10.2307\/3679756","article-title":"Grammars as Representations for Music","volume":"3","author":"Roads","year":"1979","journal-title":"Computer Music Journal"},{"key":"2025020718451251300_B19","first-page":"726","article-title":"SOS: Sonify Your Operating System","author":"Sarroff","year":"2013","journal-title":"Proceedings of the International Symposium on Computer Music Multidisciplinary Research"},{"key":"2025020718451251300_B20","first-page":"371","article-title":"An Object-Based Representation for Musical Signals","volume-title":"Representations of Musical Signals","author":"Scaletti","year":"1991"},{"volume-title":"Digital Design with RTL Design, Verilog and VHDL","year":"2010","author":"Vahid","key":"2025020718451251300_B21"},{"key":"2025020718451251300_B22","article-title":"Sonification and Music, Music and Sonification","volume-title":"Routledge Companion to Sounding Art","author":"Vickers","year":"2016"},{"key":"2025020718451251300_B23","article-title":"Caitlin: A Musical Program Auralisation Tool to Assist Novice Programmers with Debugging","author":"Vickers","year":"1996","journal-title":"Proceedings of the International Conference of Auditory Display"},{"issue":"6","key":"2025020718451251300_B24","doi-asserted-by":"publisher","first-page":"793","DOI":"10.1016\/s0953-5438(02)00026-7","article-title":"When Bugs Sing","volume":"14","author":"Vickers","year":"2002","journal-title":"Interacting with Computers"},{"volume-title":"Formalized Music: Thoughts in Mathematics and Composition","year":"1992","author":"Xenakis","key":"2025020718451251300_B25"}],"container-title":["Computer Music Journal"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/direct.mit.edu\/comj\/article-pdf\/47\/3\/35\/2476403\/comj_a_00688.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/direct.mit.edu\/comj\/article-pdf\/47\/3\/35\/2476403\/comj_a_00688.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,2,7]],"date-time":"2025-02-07T18:45:31Z","timestamp":1738953931000},"score":1,"resource":{"primary":{"URL":"https:\/\/direct.mit.edu\/comj\/article\/47\/3\/35\/124239\/Finite-State-Machines-with-Data-Paths-in-Visual"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"references-count":25,"journal-issue":{"issue":"3","published-online":{"date-parts":[[2023,9,1]]},"published-print":{"date-parts":[[2023,9,1]]}},"URL":"https:\/\/doi.org\/10.1162\/comj_a_00688","relation":{},"ISSN":["0148-9267","1531-5169"],"issn-type":[{"type":"print","value":"0148-9267"},{"type":"electronic","value":"1531-5169"}],"subject":[],"published-other":{"date-parts":[[2023]]},"published":{"date-parts":[[2023]]}}}