{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,5,29]],"date-time":"2024-05-29T05:58:00Z","timestamp":1716962280426},"reference-count":18,"publisher":"MIT Press","issue":"4","content-domain":{"domain":["direct.mit.edu"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,12,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>Message passing between processes and across networks offers a powerful method to integrate and coordinate various music programs, facilitating software reuse, modularity, and parallel processing. Networking can integrate components that use different languages and hardware. In this article we describe O2, a flexible protocol for communication ranging from the thread level up to the level of global networks. Messages in O2 are similar to those of Open Sound Control, but O2 offers many additional features, including discovery, clock synchronization, a reliable message delivery option, and routing based on services rather than specific network addresses. A bridge mechanism extends the reach of O2 to web browsers, shared memory threads, and small microcontrollers. The design, implementation, and applications of O2 are described.<\/jats:p>","DOI":"10.1162\/comj_a_00620","type":"journal-article","created":{"date-parts":[[2022,12,13]],"date-time":"2022-12-13T18:40:44Z","timestamp":1670956844000},"page":"7-19","update-policy":"http:\/\/dx.doi.org\/10.1162\/mitpressjournals.corrections.policy","source":"Crossref","is-referenced-by-count":1,"title":["Communication for Real-Time Music Systems: An Overview of O2"],"prefix":"10.1162","volume":"45","author":[{"given":"Roger B.","family":"Dannenberg","sequence":"first","affiliation":[{"name":"Carnegie Mellon University School of Computer Science 5000 Forbes Avenue Pittsburgh, Pennsylvania 15213, USA rbd@cs.cmu.edu"}]}],"member":"281","published-online":{"date-parts":[[2021,12,1]]},"reference":[{"key":"2023052218354759800_B1","first-page":"523","article-title":"Time in Distributed Real-Time Systems","volume-title":"Proceedings of the International Computer Music Conference","author":"Brandt","year":"1999"},{"issue":"3","key":"2023052218354759800_B2","doi-asserted-by":"publisher","first-page":"146","DOI":"10.1007\/BF01784024","article-title":"Probabilistic Clock Synchronization","volume":"3","author":"Cristian","year":"1989","journal-title":"Distributed Computing"},{"key":"2023052218354759800_B3","doi-asserted-by":"crossref","DOI":"10.1155\/2019\/8424381","article-title":"O2: A Network Protocol for Music Systems","author":"Dannenberg","year":"2019","journal-title":"Wireless Communications and Mobile Computing"},{"key":"2023052218354759800_B4","first-page":"348","article-title":"Service Discovery Using Open Sound Control","volume-title":"Proceedings of the 133rd AES Convention","author":"Eales","year":"2012"},{"key":"2023052218354759800_B5","first-page":"399","article-title":"Automated Ad Hoc Networking for Mobile and Hybrid Music Performance","volume-title":"Proceedings of the International Computer Music Conference","author":"Essl","year":"2011"},{"key":"2023052218354759800_B6","first-page":"39","article-title":"Ableton Link: A Technology to Synchronize Music Software","volume-title":"Proceedings of the Linux Audio Conference","author":"Goltz","year":"2018"},{"issue":"3","key":"2023052218354759800_B7","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1109\/4236.935181","article-title":"Autoconfiguration for IP Networking: Enabling Local Communication","volume":"5","author":"Guttman","year":"2001","journal-title":"IEEE Internet Computing"},{"issue":"5","key":"2023052218354759800_B8","doi-asserted-by":"publisher","first-page":"29","DOI":"10.1145\/1142031.1142044","article-title":"The Rise and Fall of CORBA","volume":"4","author":"Henning","year":"2006","journal-title":"ACM Queue"},{"key":"2023052218354759800_B9","volume-title":"ZeroMQ: Messaging for Many Applications","author":"Hintjens","year":"2013"},{"key":"2023052218354759800_B10","first-page":"56","article-title":"The Mobility is the Message: The Development and Uses of MobMuPlat","volume-title":"Proceedings of the International Pure Data Convention","author":"Iglesia","year":"2016"},{"key":"2023052218354759800_B11","first-page":"218","article-title":"Simple Synchronisation for Open Sound Control","volume-title":"Proceedings of the International Computer Music Conference","author":"Madgwick","year":"2015"},{"issue":"74","key":"2023052218354759800_B12","doi-asserted-by":"publisher","first-page":"5683","DOI":"10.1007\/s11042-014-1878-5","article-title":"Distributed Tools for Interactive Design of Heterogeneous Signal Networks","volume":"15","author":"Malloch","year":"2015","journal-title":"Multimedia Tools and Applications"},{"key":"2023052218354759800_B13","volume-title":"Collaboration and Embodiment in Networked Music Interfaces for Live Performance","author":"McKinney","year":"2016"},{"key":"2023052218354759800_B14","first-page":"309","article-title":"LANdini: A Networking Utility for Wireless LAN-Based Laptop Ensembles","volume-title":"Proceedings of the Sound and Music Computing Conference 2013","author":"Narveson","year":"2013"},{"key":"2023052218354759800_B15","first-page":"452","article-title":"KO2 Distributed Music Systems with O2 and Kronos","volume-title":"Proceedings of the 15th Sound and Music Computing Conference","author":"Norilo","year":"2018"},{"issue":"4","key":"2023052218354759800_B16","doi-asserted-by":"publisher","first-page":"12","DOI":"10.1162\/comj_a_00534","article-title":"Software for Interactive and Collaborative Creation in the Classroom and Beyond: An Overview of the Soundcool Software","volume":"43","author":"Scarani","year":"2019","journal-title":"Computer Music Journal"},{"key":"2023052218354759800_B17","volume-title":"The SuperCollider Book","author":"Wilson","year":"2011"},{"key":"2023052218354759800_B18","first-page":"153","article-title":"Open Sound Control: State of the Art 2003","volume-title":"Proceedings of the International Conference on New Interfaces for Musical Expression","author":"Wright","year":"2003"}],"container-title":["Computer Music Journal"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/direct.mit.edu\/comj\/article-pdf\/45\/4\/7\/2104481\/comj_a_00620.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/direct.mit.edu\/comj\/article-pdf\/45\/4\/7\/2104481\/comj_a_00620.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,22]],"date-time":"2023-05-22T18:36:14Z","timestamp":1684780574000},"score":1,"resource":{"primary":{"URL":"https:\/\/direct.mit.edu\/comj\/article\/45\/4\/7\/114128\/Communication-for-Real-Time-Music-Systems-An"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"references-count":18,"journal-issue":{"issue":"4","published-online":{"date-parts":[[2021,12,1]]},"published-print":{"date-parts":[[2021,12,1]]}},"URL":"https:\/\/doi.org\/10.1162\/comj_a_00620","relation":{},"ISSN":["0148-9267","1531-5169"],"issn-type":[{"value":"0148-9267","type":"print"},{"value":"1531-5169","type":"electronic"}],"subject":[],"published-other":{"date-parts":[[2021]]},"published":{"date-parts":[[2021]]}}}