Keywords: music, sonification, Shiny
Webpages:
http://src.thomaslevine.com/bradio/,
https://thomaslevine.com/!/data-music/ Recent years have brought considerable advances in data sonification (Ligges et al. 2016; Sueur, Aubin, and Simonis 2008; Stone and Garisson 2012; Stone and Garrison 2013; Levine 2015), but data sonification is still a very involved process with many technical limitations. Developing data music in
R has historically been a very tedious process because of
R’s poor concurrency features and general weakness in audio rendering capabilities (Levine 2016). End-user data music tools can be more straightforward, but they usually constrain users to very particular and rudimentary aesthetic mappings (Siegert and Williams 2017; Levine 2014; Borum Consulting 2014). Finally, existing data music implementations have limited interactivity capabilities, and no integrated solutions are available for embedding in business intelligence dashboards.
I have addressed these various issues by implementing
bradio, a
Shiny widget for rendering data music. In
bradio, a song is encoded as a
Javascript function that can take data inputs from
R, through
Shiny. The
Javascript component relies on the
webaudio Javascript package (johnnyscript 2014) and is thus compatible with songs written for the
webaudio Javascript package, the
baudio Javascript package (substack 2014), and
Javascript code-music-studio (substack 2015); this compatibility allows for existing songs to be adapted easily as data music.
bradio merges the convenience of interactive
Javascript music with the data analysis power of
R, facilitating the prototyping and presentation of sophisticated interactive data music.
Borum Consulting. 2014. “Readme for Tonesintune Version 2.0.”
http://tonesintune.com/Readme.php.
johnnyscript. 2014.
webaudio. 2.0.0 ed.
https://www.npmjs.com/package/webaudio.
Levine, Thomas. 2014.
Sheetmusic. 0.0.4 ed.
https://pypi.python.org/pypi/sheetmusic.
———. 2015. “Plotting Data as Music Videos in R.” In
UseR! http://user2015.math.aau.dk/contributed_talks#61.
———. 2016. “Approaches to Live Music Synthesis for Multivariate Data Analysis in R.” In
SatRday.
http://budapest.satrdays.org/.
Ligges, Uwe, Sebastian Krey, Olaf Mersmann, and Sarah Schnackenberg. 2016.
tuneR: Analysis of Music.
http://r-forge.r-project.org/projects/tuner/.
Siegert, Stefan, and Robin Williams. 2017.
Sonify: Data Sonification - Turning Data into Sound.
https://CRAN.R-project.org/package=sonify.
Stone, Eric, and Jesse Garisson. 2012. “Give Your Data a Listen.” In
UseR! http://biostat.mc.vanderbilt.edu/wiki/pub/Main/UseR-2012/81-Stone.pdf.
Stone, Eric, and Jesse Garrison. 2013.
AudiolyzR: Give Your Data a Listen.
https://CRAN.R-project.org/package=audiolyzR.
substack. 2014.
baudio. 2.1.2 ed.
https://www.npmjs.com/package/baudio.
———. 2015.
code-music-studio. 1.5.2 ed.
https://www.npmjs.com/package/code-music-studio.
———. n.d. “Make Music with Algorithms!”
http://studio.substack.net/-/help.
Sueur, J., T. Aubin, and C. Simonis. 2008. “Seewave: A Free Modular Tool for Sound Analysis and Synthesis.”
Bioacoustics 18: 213–26.
http://isyeb.mnhn.fr/IMG/pdf/sueuretal_bioacoustics_2008.pdf.