Bill Manaris is a computer science researcher, educator, and musician. He is Professor of Computer Science, and Director of the Computing in the Arts program, at the College of Charleston. His interests include computer music, human-computer interaction and artificial intelligence. He explores interaction design and modeling of aesthetics and creativity using statistical, connectionist, and evolutionary techniques. He designs systems for computer-aided analysis, composition, and performance in music and art. Manaris is Associate Editor of the International Journal on Artificial Intelligence Tools, and has recently published a textbook in Computer Music and Creative Computing. He studied computer science and music at the University of New Orleans, and holds an M.S. and Ph.D. degrees in Computer Science from the Center for Advanced Computer Studies, University of Louisiana. He has been supported by the US National Science Foundation, Google, IBM, and the Louisiana Board of Regents. For more info, see http://manaris.com
Making Music with Computers: Creative Programming in Python introduces important concepts and ski... more Making Music with Computers: Creative Programming in Python introduces important concepts and skills necessary to generate music with computers. It interweaves computing pedagogy with musical concepts and creative activities, showing students how to integrate the creativity and design of the arts with the mathematical rigor and formality of computer science. The book provides an introduction to creative software development in the Python programming language.
This is the fifth year of publication of an annual survey of departments offering degree programs... more This is the fifth year of publication of an annual survey of departments offering degree programs accredited by the Computer
Proceedings of the 51st ACM Technical Symposium on Computer Science Education, 2020
Development environments play a crucial role for novice programmers. Not only do they act as inte... more Development environments play a crucial role for novice programmers. Not only do they act as interface to type in and execute programs, but a programming environment is also responsible for reporting errors, managing in- and output when the program is running, or offering the programmer access to the underlying notional machine. In recent years several new educational programming environments for Python have been presented. However, the important issue of reporting errors has rarely been addressed and evaluations often hint that students main issue is the poor quality of Python's error messages. We have therefore written an educational Python environment with enhanced error messages. This paper presents the design and rationale of its three primary features: modifications to Python, enhanced error messages, and the visual debugger.
Algorithms have existed for at least 2,000 years (e.g., Euclid's algorithm). In music and art... more Algorithms have existed for at least 2,000 years (e.g., Euclid's algorithm). In music and art, algorithms appear as early as Guido d'Arezzo (ca. 1000 A.D.), and in compositions by Bach, Mozart, John Cage, Iannis Xenakis, among others. Modern examples include data sonification for scientific or aesthetic purposes, such as sonifying biosignals, images, orbits of planets, and human movement (e.g., dance), among others. This talk will focus on Computing in the Arts (CITA), an NSF-funded model curriculum, which combines creativity, problem solving, and computer programming to prepare students for graduate school and careers in technology and arts industries of the 21st century. CITA is part of the new movement to combine art and design with science, technology, engineering and math (STEM + Art = STEAM). Several examples will be presented, including: • SoundMorpheus (an innovative interface for positioning sounds via arm movements); • Diving into Infinity (a motion-based system wh...
We discuss the application of the Zipf–Mandelbrot law to musical pieces encoded in MIDI. Specific... more We discuss the application of the Zipf–Mandelbrot law to musical pieces encoded in MIDI. Specifically, we have identified a set of metrics on which to apply this law. These metrics include pitch of musical events, duration of musical events, the combination of pitch and duration of musical events, and several others. Our hypothesis is that these metrics will allow us to computationally identify and perhaps emphasize aesthetic aspects of music. We have developed a system that automates calculation of these metrics in MIDIencoded pieces. Using this tool we conducted a study on a corpus of 220 pieces from baroque, classical, romantic, 12tone, jazz, rock, DNA strings, and random music. Our results support the above hypothesis. We discuss limitations, and how to minimize the potential for statistical error through composite metrics. We present possible applications and an overview of preliminary work in computer–aided music composition. 1.
Esperanto is a constructed natural language, which was intended to be an easy-to-learn lingua fra... more Esperanto is a constructed natural language, which was intended to be an easy-to-learn lingua franca. Zipf's law models the statistical proportions of various phenomena in human ecology, including natural languages. Given Esperanto’s artificial origins, one wonders how “natural” it appears, relative to other natural languages, in the context of Zipf’s law. To explore this question, we collected a total of 283 books from six languages: English, French, German, Italian, Spanish, and Esperanto. We applied Zipf-based metrics on our corpus to extract distributions for word, word distance, word bigram, word trigram, and word length for each book. Statistical analyses show that Esperanto’s statistical proportions are similar to those of other languages. We then trained artificial neural networks (ANNs) to classify books according to language. The ANNs achieved high accuracy rates (86.3 % to 98.6%). Subsequent analysis identified German as having the most unique proportions, followed b...
This project applies Zipf's law on musical pieces encoded in MIDI. Our hypothesis is that thi... more This project applies Zipf's law on musical pieces encoded in MIDI. Our hypothesis is that this will allow us to identify musical pieces that humans find “pleasing, beautiful, harmonious.” Specifically, we have identified an initial set of attributes (metrics) of music pieces on which to apply Zipf’s law. These metrics include pitch of musical events, duration of musical events, the combination of pitch and duration of musical events, and several others. Our preliminary results—derived mostly by tedious manual processing—are encouraging. We are working on automating our metrics so that we can test our hypothesis on a wide variety of music genres (baroque, classical, 20 th century, blues, jazz, etc.). If this project is successful, we plan to investigate how such metrics may be used to
The practice of coding music live challenges computing conventions with regard to developmental a... more The practice of coding music live challenges computing conventions with regard to developmental agility. The computational representation of music likewise challenges musicians to articulate their practice in new ways. In this article we describe the development, teaching and use of the JythonMusic environment designed to meet these challenges head on. JythonMusic, written in Python, is an open source project for music making and creative programming activities intended for musicians and programmers, of all levels and backgrounds. JythonMusic supports algorithmic music composition, dynamic coding and musical performativity including live coding. This article examines the functionality of JythonMusic for composition and performance projects in the context of university courses that combine computer science and music. The advantages of this medium for music and programming instruction are demonstrated through several projects and a live coding case study, leading to a series of observations and proposals concerning the advantages of coding in music pedagogy.
This paper focuses on late-breaking results from a multiyear research project investigating Zipf’... more This paper focuses on late-breaking results from a multiyear research project investigating Zipf’s Law in the context of music information retrieval and data mining. This research project has produced Armonique
We present an innovative sound spatialization and shaping interface, called SoundMorpheus, which ... more We present an innovative sound spatialization and shaping interface, called SoundMorpheus, which allows the placement of sounds in space, as well as the altering of sound characteristics, via arm movements that resemble those of a conductor. The interface displays sounds (or their attributes) to the user, who reaches for them with one or both hands, grabs them, and gently or forcefully sends them around in space, in a 360° circle. The system combines MIDI and traditional instruments with one or more myoelectric sensors. These components may be physically collocated or distributed in various locales connected via the Internet. This system also supports the performance of acousmatic and electronic music, enabling performances where the traditionally central mixing board, need not be touched at all (or minimally touched for calibration). Finally, the system may facilitate the recording of a visual score of a performance, which can be stored for later playback and additional manipulatio...
Abstract. We present Harmonic Navigator (HN), a system for navigating and exploring harmonic spac... more Abstract. We present Harmonic Navigator (HN), a system for navigating and exploring harmonic spaces extracted from large musical corpora, to be used in music composition and performance. A harmonic space is a set of harmonies (chords) and transitions between harmonies found in a music corpus. By navi-gating this space, the user can derive new harmonic progressions, which have correct voice leading. HN is controllable via a Kinect gesture interface. To aid the user, the system also incorporates stochastic and evolutionary techniques. HN offers for two primary modes of interaction: a harmonic transition selector, called harmonic palette, which utilizes a GUI to navigate harmonic transitions in a front-to-back manner; and a harmonic-flow scrubber, which presents a global overview of a harmonic flow and allows the user to perform common audio scrubbing and editing tasks. Both GUIs use colors to indicate harmonic density based on Legname’s density degree theory.
This paper presents results on a user interface model for providing universal access to mobile co... more This paper presents results on a user interface model for providing universal access to mobile computing devices.
Computer users with motor impairments find it difficult and, in many cases, impossible to access ... more Computer users with motor impairments find it difficult and, in many cases, impossible to access PC functionality through the physical keyboard-and-mouse interface. Studies show that even able-bodied users experience similar difficulties when interacting with mobile devices; this is due to the reduced size/usability of the input interfaces. Advances in speech recognition have made it possible to design speech interfaces for alphanumeric data entry and indirect manipulation (cursor control). Although several related commercial applications exist, such systems do not provide a complete solution for arbitrary keyboard and mouse access, such as the access needed for, say, typing, compiling, and executing a C++ program.
A study on a 220-piece corpus (baroque, classical, romantic, 12tone, jazz, rock, DNA strings, and... more A study on a 220-piece corpus (baroque, classical, romantic, 12tone, jazz, rock, DNA strings, and random music) reveals that aesthetically pleasing music may be describable under the Zipf-Mandelbrot law. Various Zipf-based metrics have been developed and evaluated. Some focus on musictheoretic attributes such as pitch, pitch and duration, melodic intervals, and harmonic intervals. Others focus on higher-order attributes and fractal aspects of musical balance. Zipf distributions across certain dimensions appear to be a necessary, but not sufficient condition for pleasant music. Statistical analyses suggest that combinations of Zipf-based metrics might be used to identify genre and/or composer. This is supported by a preliminary experiment with a neural network classifier. We describe an evolutionary music framework under development, which utilizes Zipf-based metrics as fitness functions.
Abstract—Monterey Mirror is an interactive stochastic music generator based on Markov models, gen... more Abstract—Monterey Mirror is an interactive stochastic music generator based on Markov models, genetic algorithms, and power-law metrics for music information retrieval. It combines the predictive power of Markov models with the innovative power of genetic algorithms, using power-law metrics for fitness evaluation. These metrics have been developed and refined in a decade-long project, which explores music information retrieval based on Zipf’s law and related power laws. We describe the architecture of Monterey Mirror, which can generate musical responses based on aesthetic variations of user input. We also explore how such a system may be used as a musical metainstrument / environment in avant-garde music composition and performance projects.
Making Music with Computers: Creative Programming in Python introduces important concepts and ski... more Making Music with Computers: Creative Programming in Python introduces important concepts and skills necessary to generate music with computers. It interweaves computing pedagogy with musical concepts and creative activities, showing students how to integrate the creativity and design of the arts with the mathematical rigor and formality of computer science. The book provides an introduction to creative software development in the Python programming language.
This is the fifth year of publication of an annual survey of departments offering degree programs... more This is the fifth year of publication of an annual survey of departments offering degree programs accredited by the Computer
Proceedings of the 51st ACM Technical Symposium on Computer Science Education, 2020
Development environments play a crucial role for novice programmers. Not only do they act as inte... more Development environments play a crucial role for novice programmers. Not only do they act as interface to type in and execute programs, but a programming environment is also responsible for reporting errors, managing in- and output when the program is running, or offering the programmer access to the underlying notional machine. In recent years several new educational programming environments for Python have been presented. However, the important issue of reporting errors has rarely been addressed and evaluations often hint that students main issue is the poor quality of Python's error messages. We have therefore written an educational Python environment with enhanced error messages. This paper presents the design and rationale of its three primary features: modifications to Python, enhanced error messages, and the visual debugger.
Algorithms have existed for at least 2,000 years (e.g., Euclid's algorithm). In music and art... more Algorithms have existed for at least 2,000 years (e.g., Euclid's algorithm). In music and art, algorithms appear as early as Guido d'Arezzo (ca. 1000 A.D.), and in compositions by Bach, Mozart, John Cage, Iannis Xenakis, among others. Modern examples include data sonification for scientific or aesthetic purposes, such as sonifying biosignals, images, orbits of planets, and human movement (e.g., dance), among others. This talk will focus on Computing in the Arts (CITA), an NSF-funded model curriculum, which combines creativity, problem solving, and computer programming to prepare students for graduate school and careers in technology and arts industries of the 21st century. CITA is part of the new movement to combine art and design with science, technology, engineering and math (STEM + Art = STEAM). Several examples will be presented, including: • SoundMorpheus (an innovative interface for positioning sounds via arm movements); • Diving into Infinity (a motion-based system wh...
We discuss the application of the Zipf–Mandelbrot law to musical pieces encoded in MIDI. Specific... more We discuss the application of the Zipf–Mandelbrot law to musical pieces encoded in MIDI. Specifically, we have identified a set of metrics on which to apply this law. These metrics include pitch of musical events, duration of musical events, the combination of pitch and duration of musical events, and several others. Our hypothesis is that these metrics will allow us to computationally identify and perhaps emphasize aesthetic aspects of music. We have developed a system that automates calculation of these metrics in MIDIencoded pieces. Using this tool we conducted a study on a corpus of 220 pieces from baroque, classical, romantic, 12tone, jazz, rock, DNA strings, and random music. Our results support the above hypothesis. We discuss limitations, and how to minimize the potential for statistical error through composite metrics. We present possible applications and an overview of preliminary work in computer–aided music composition. 1.
Esperanto is a constructed natural language, which was intended to be an easy-to-learn lingua fra... more Esperanto is a constructed natural language, which was intended to be an easy-to-learn lingua franca. Zipf's law models the statistical proportions of various phenomena in human ecology, including natural languages. Given Esperanto’s artificial origins, one wonders how “natural” it appears, relative to other natural languages, in the context of Zipf’s law. To explore this question, we collected a total of 283 books from six languages: English, French, German, Italian, Spanish, and Esperanto. We applied Zipf-based metrics on our corpus to extract distributions for word, word distance, word bigram, word trigram, and word length for each book. Statistical analyses show that Esperanto’s statistical proportions are similar to those of other languages. We then trained artificial neural networks (ANNs) to classify books according to language. The ANNs achieved high accuracy rates (86.3 % to 98.6%). Subsequent analysis identified German as having the most unique proportions, followed b...
This project applies Zipf's law on musical pieces encoded in MIDI. Our hypothesis is that thi... more This project applies Zipf's law on musical pieces encoded in MIDI. Our hypothesis is that this will allow us to identify musical pieces that humans find “pleasing, beautiful, harmonious.” Specifically, we have identified an initial set of attributes (metrics) of music pieces on which to apply Zipf’s law. These metrics include pitch of musical events, duration of musical events, the combination of pitch and duration of musical events, and several others. Our preliminary results—derived mostly by tedious manual processing—are encouraging. We are working on automating our metrics so that we can test our hypothesis on a wide variety of music genres (baroque, classical, 20 th century, blues, jazz, etc.). If this project is successful, we plan to investigate how such metrics may be used to
The practice of coding music live challenges computing conventions with regard to developmental a... more The practice of coding music live challenges computing conventions with regard to developmental agility. The computational representation of music likewise challenges musicians to articulate their practice in new ways. In this article we describe the development, teaching and use of the JythonMusic environment designed to meet these challenges head on. JythonMusic, written in Python, is an open source project for music making and creative programming activities intended for musicians and programmers, of all levels and backgrounds. JythonMusic supports algorithmic music composition, dynamic coding and musical performativity including live coding. This article examines the functionality of JythonMusic for composition and performance projects in the context of university courses that combine computer science and music. The advantages of this medium for music and programming instruction are demonstrated through several projects and a live coding case study, leading to a series of observations and proposals concerning the advantages of coding in music pedagogy.
This paper focuses on late-breaking results from a multiyear research project investigating Zipf’... more This paper focuses on late-breaking results from a multiyear research project investigating Zipf’s Law in the context of music information retrieval and data mining. This research project has produced Armonique
We present an innovative sound spatialization and shaping interface, called SoundMorpheus, which ... more We present an innovative sound spatialization and shaping interface, called SoundMorpheus, which allows the placement of sounds in space, as well as the altering of sound characteristics, via arm movements that resemble those of a conductor. The interface displays sounds (or their attributes) to the user, who reaches for them with one or both hands, grabs them, and gently or forcefully sends them around in space, in a 360° circle. The system combines MIDI and traditional instruments with one or more myoelectric sensors. These components may be physically collocated or distributed in various locales connected via the Internet. This system also supports the performance of acousmatic and electronic music, enabling performances where the traditionally central mixing board, need not be touched at all (or minimally touched for calibration). Finally, the system may facilitate the recording of a visual score of a performance, which can be stored for later playback and additional manipulatio...
Abstract. We present Harmonic Navigator (HN), a system for navigating and exploring harmonic spac... more Abstract. We present Harmonic Navigator (HN), a system for navigating and exploring harmonic spaces extracted from large musical corpora, to be used in music composition and performance. A harmonic space is a set of harmonies (chords) and transitions between harmonies found in a music corpus. By navi-gating this space, the user can derive new harmonic progressions, which have correct voice leading. HN is controllable via a Kinect gesture interface. To aid the user, the system also incorporates stochastic and evolutionary techniques. HN offers for two primary modes of interaction: a harmonic transition selector, called harmonic palette, which utilizes a GUI to navigate harmonic transitions in a front-to-back manner; and a harmonic-flow scrubber, which presents a global overview of a harmonic flow and allows the user to perform common audio scrubbing and editing tasks. Both GUIs use colors to indicate harmonic density based on Legname’s density degree theory.
This paper presents results on a user interface model for providing universal access to mobile co... more This paper presents results on a user interface model for providing universal access to mobile computing devices.
Computer users with motor impairments find it difficult and, in many cases, impossible to access ... more Computer users with motor impairments find it difficult and, in many cases, impossible to access PC functionality through the physical keyboard-and-mouse interface. Studies show that even able-bodied users experience similar difficulties when interacting with mobile devices; this is due to the reduced size/usability of the input interfaces. Advances in speech recognition have made it possible to design speech interfaces for alphanumeric data entry and indirect manipulation (cursor control). Although several related commercial applications exist, such systems do not provide a complete solution for arbitrary keyboard and mouse access, such as the access needed for, say, typing, compiling, and executing a C++ program.
A study on a 220-piece corpus (baroque, classical, romantic, 12tone, jazz, rock, DNA strings, and... more A study on a 220-piece corpus (baroque, classical, romantic, 12tone, jazz, rock, DNA strings, and random music) reveals that aesthetically pleasing music may be describable under the Zipf-Mandelbrot law. Various Zipf-based metrics have been developed and evaluated. Some focus on musictheoretic attributes such as pitch, pitch and duration, melodic intervals, and harmonic intervals. Others focus on higher-order attributes and fractal aspects of musical balance. Zipf distributions across certain dimensions appear to be a necessary, but not sufficient condition for pleasant music. Statistical analyses suggest that combinations of Zipf-based metrics might be used to identify genre and/or composer. This is supported by a preliminary experiment with a neural network classifier. We describe an evolutionary music framework under development, which utilizes Zipf-based metrics as fitness functions.
Abstract—Monterey Mirror is an interactive stochastic music generator based on Markov models, gen... more Abstract—Monterey Mirror is an interactive stochastic music generator based on Markov models, genetic algorithms, and power-law metrics for music information retrieval. It combines the predictive power of Markov models with the innovative power of genetic algorithms, using power-law metrics for fitness evaluation. These metrics have been developed and refined in a decade-long project, which explores music information retrieval based on Zipf’s law and related power laws. We describe the architecture of Monterey Mirror, which can generate musical responses based on aesthetic variations of user input. We also explore how such a system may be used as a musical metainstrument / environment in avant-garde music composition and performance projects.
We present a music information retrieval approach based on power laws. Research in cognitive scie... more We present a music information retrieval approach based on power laws. Research in cognitive science and neuroscience reveals connections between power laws, human cognition, and human physiology. Empirical studies also demonstrate connections between power laws and human aesthetics. We utilize 250+ power-law metrics to extract statistical proportions of music-theoretic and other attributes of music pieces. We discuss an experiment where artificial neural networks classify 2,000 music pieces, based on aesthetic preferences of human listeners, with 90.70 % accuracy. Also, we present audio results from a music information retrieval experiment, in which a music search engine prototype retrieves music based on “aesthetic ” similarity from a corpus of 15,200+ pieces. These results suggest that power-law metrics are a promising model of music aesthetics, as they may be capturing statistical properties of the human hearing apparatus. 1.
Uploads