{"title":"用 Alternator 发布生成音乐","authors":"Ian Clester, Jason Freeman","doi":"10.17743/jaes.2022.0113","DOIUrl":null,"url":null,"abstract":"Computers are a powerful technology for music playback: as general-purpose computing machines with capabilities beyond the fixed-recording playback devices of the past, they can play generative music with multiple outcomes or computational compositions that are not fully determined until they are played. However, there is no suitable platform for distributing generative music while preserving the spaces of possible outputs. This absence hinders composers’ and listeners’ access to the possibilities of computational playback. In this paper, the authors address the problem of distributing generative music. They present a) a dynamic format for bundling computational compositions with static assets in self-contained packages and b) a music player for finding, fetching, and playing/executing these compositions. These tools are built for generality to support a variety of approaches to making music with code and remain language-agnostic. The authors take advantage of WebAssembly and related tools to enable the use of general-purpose languages such as C, Rust, JavaScript, and Python and audio languages such as Pure Data, RTcmix, Csound, and ChucK. They use AudioWorklets and Web Workers to enable scalable distribution via client-side playback. And they present the user with a music player interface that aims to be familiar while exposing the possibilities of generative music.","PeriodicalId":50008,"journal":{"name":"Journal of the Audio Engineering Society","volume":"26 2","pages":""},"PeriodicalIF":1.1000,"publicationDate":"2023-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Distributing Generative Music With Alternator\",\"authors\":\"Ian Clester, Jason Freeman\",\"doi\":\"10.17743/jaes.2022.0113\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Computers are a powerful technology for music playback: as general-purpose computing machines with capabilities beyond the fixed-recording playback devices of the past, they can play generative music with multiple outcomes or computational compositions that are not fully determined until they are played. However, there is no suitable platform for distributing generative music while preserving the spaces of possible outputs. This absence hinders composers’ and listeners’ access to the possibilities of computational playback. In this paper, the authors address the problem of distributing generative music. They present a) a dynamic format for bundling computational compositions with static assets in self-contained packages and b) a music player for finding, fetching, and playing/executing these compositions. These tools are built for generality to support a variety of approaches to making music with code and remain language-agnostic. The authors take advantage of WebAssembly and related tools to enable the use of general-purpose languages such as C, Rust, JavaScript, and Python and audio languages such as Pure Data, RTcmix, Csound, and ChucK. They use AudioWorklets and Web Workers to enable scalable distribution via client-side playback. And they present the user with a music player interface that aims to be familiar while exposing the possibilities of generative music.\",\"PeriodicalId\":50008,\"journal\":{\"name\":\"Journal of the Audio Engineering Society\",\"volume\":\"26 2\",\"pages\":\"\"},\"PeriodicalIF\":1.1000,\"publicationDate\":\"2023-11-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of the Audio Engineering Society\",\"FirstCategoryId\":\"5\",\"ListUrlMain\":\"https://doi.org/10.17743/jaes.2022.0113\",\"RegionNum\":4,\"RegionCategory\":\"工程技术\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"ACOUSTICS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of the Audio Engineering Society","FirstCategoryId":"5","ListUrlMain":"https://doi.org/10.17743/jaes.2022.0113","RegionNum":4,"RegionCategory":"工程技术","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"ACOUSTICS","Score":null,"Total":0}
引用次数: 0
摘要
计算机是一种强大的音乐播放技术:作为通用计算机器,它的功能超越了过去的固定录音播放设备,可以播放具有多种结果的生成音乐或在播放前尚未完全确定的计算合成音乐。然而,目前还没有一个合适的平台,既能传播生成音乐,又能保留可能的输出空间。这种缺失阻碍了作曲家和听众对计算播放可能性的了解。在本文中,作者解决了生成音乐的分发问题。他们提出了 a) 一种动态格式,用于将计算作品与静态资产捆绑在自足的软件包中;b) 一种音乐播放器,用于查找、获取和播放/执行这些作品。这些工具具有通用性,可支持多种用代码制作音乐的方法,并且与语言无关。作者利用 WebAssembly 和相关工具,使 C、Rust、JavaScript 和 Python 等通用语言和 Pure Data、RTcmix、Csound 和 ChucK 等音频语言得以使用。它们使用 AudioWorklets 和 Web Workers 通过客户端播放实现可扩展的分发。此外,它们还为用户提供了一个音乐播放器界面,旨在让用户在熟悉的同时了解生成音乐的可能性。
Computers are a powerful technology for music playback: as general-purpose computing machines with capabilities beyond the fixed-recording playback devices of the past, they can play generative music with multiple outcomes or computational compositions that are not fully determined until they are played. However, there is no suitable platform for distributing generative music while preserving the spaces of possible outputs. This absence hinders composers’ and listeners’ access to the possibilities of computational playback. In this paper, the authors address the problem of distributing generative music. They present a) a dynamic format for bundling computational compositions with static assets in self-contained packages and b) a music player for finding, fetching, and playing/executing these compositions. These tools are built for generality to support a variety of approaches to making music with code and remain language-agnostic. The authors take advantage of WebAssembly and related tools to enable the use of general-purpose languages such as C, Rust, JavaScript, and Python and audio languages such as Pure Data, RTcmix, Csound, and ChucK. They use AudioWorklets and Web Workers to enable scalable distribution via client-side playback. And they present the user with a music player interface that aims to be familiar while exposing the possibilities of generative music.
期刊介绍:
The Journal of the Audio Engineering Society — the official publication of the AES — is the only peer-reviewed journal devoted exclusively to audio technology. Published 10 times each year, it is available to all AES members and subscribers.
The Journal contains state-of-the-art technical papers and engineering reports; feature articles covering timely topics; pre and post reports of AES conventions and other society activities; news from AES sections around the world; Standards and Education Committee work; membership news, patents, new products, and newsworthy developments in the field of audio.