This paper reports on an after‐school program that introduced middle school students to computing through music. The program ran for two years, from October 2015 through April 2017. It involved singing, encoding music with ABC notation, and programming music with Pencil Code. We describe the program’s goals and the activities students pursued, as well as suggestions for improvement. While rigorous evaluation of such a program is difficult, we present survey and focus group results that show that students’ attitudes toward the program were positive and that they did learn some programming.
more »
« less
Converting MIDI Notes to ABC Notes in Pencil Code
Comparing Scratch to Pencil Code for teaching computing through music immediately reveals a major difference: Scratch represents notes as MIDI numbers, while Pencil Code represents notes as letters using ABC notation. To someone who reads music, Pencil Code is clearly preferable because it is far easier to map, for example, a major third to C and E than 60 and 64. But to those who generate music algorithmically, ABC is not as easy as MIDI. For example, a major third in the key of D is not D and F, it is D and F#. Using MIDI values, however, the interval is always 4 semitones: 62 (D) + 4 = 66 (F#), just as before.
more »
« less
- Award ID(s):
- 1515767
- PAR ID:
- 10063993
- Date Published:
- Journal Name:
- ACM inroads
- Volume:
- 7
- Issue:
- 2
- ISSN:
- 2153-2192
- Page Range / eLocation ID:
- 84
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
The development of Unmanned Aerial Vehicles (UAVs) can be enhanced through the use of sonification, an emerging field within Human-Robot Interaction (HRI). This dissertation introduces UAVSonification, a computational algorithm that maps simulation data to musical notes using the Musical Instrument Digital Interface (MIDI). By integrating UAVSonification with Formation Flight Simulation in Simulink, this study explores the sonification of UAV trajectories under environmental conditions. The function transforms simulation data into auditory signals, allowing users to discern key dynamics through sound. Specifically, the data series for multiple UAVs is mapped to piano notes via MIDI on MATLAB, providing auditory insights into UAV trajectories, environmental conditions, and control errors. A well-controlled flight path and stable heading controller produce harmonious sounds, while disruptions and deviations result in dissonance. UAVSonification offers a unique auditory approach to understanding UAV behavior in relation to control dynamics and environmental conditions. The sonification of UAVs has the potential to aid in the planning and analysis of UAV trajectories and controllers, as well as in creative endeavors. The effectiveness of the proposed method is shown through MATLAB numerical simulations.more » « less
-
During theBaroque period, improvisation was a key element of music performance and education. Great musicians, such as J.S. Bach, were better known as improvisers than composers. Today, however, there is a lack of improvisation culture in classical music performance and education; classical musicians either are not trained to improvise, or cannot find other people to improvise with. Motivated by this observation, we develop BachDuet, a system that enables real-time counterpoint improvisation between a human anda machine. This system uses a recurrent neural network toprocess the human musician’s monophonic performance ona MIDI keyboard and generates the machine’s monophonic performance in real time. We develop a GUI to visualize the generated music content and to facilitate this interaction. We conduct user studies with 13 musically trained users and show the feasibility of two-party duet counterpoint improvisation and the effectiveness of BachDuet for this purpose. We also conduct listening tests with 48 participants and show that they cannot tell the difference between duets generated by human-machine improvisation using BachDuet and those generated by human-human improvisation. Objective evaluation is also conducted to assess the degree to which these improvisations adhere to common rules of counterpoint, showing promising results.more » « less
-
Numerical simulations have been an increasingly important tool in space physics. Here, we introduce an open-source three-dimensional compressible Hall-Magnetohydrodynamic (MHD) simulation codeLAPS(UCLA-Pseudo-Spectral,https://github.com/chenshihelio/LAPS). The code adopts a pseudo-spectral method based on Fourier Transform to evaluate spatial derivatives, and third-order explicit Runge-Kutta method for time advancement. It is parallelized using Message-Passing-Interface (MPI) with a “pencil” parallelization strategy and has very high scalability. The Expanding-Box-Model is implemented to incorporate spherical expansion effects of the solar wind. We carry out test simulations based on four classic (Hall)-MHD processes, namely, 1) incompressible Hall-MHD waves, 2) incompressible tearing mode instability, 3) Orszag-Tang vortex, and 4) parametric decay instability. The test results agree perfectly with theory predictions and results of previous studies. Given all its features,LAPSis a powerful tool for large-scale simulations of solar wind turbulence as well as other MHD and Hall-MHD processes happening in space.more » « less
-
We consider the problem of making expressive, interactive static analyzerscompositional. Such a technique could help bring the power of server-based static analyses to integrated development environments (IDEs), updating their results live as the code is modified. Compositionality is key for this scenario, as it enables reuse of already-computed analysis results for unmodified code. Previous techniques for interactive static analysis either lack compositionality, cannot express arbitrary abstract domains, or are not from-scratch consistent. We present demanded summarization, the first algorithm for incremental compositional analysis in arbitrary abstract domains that guarantees from-scratch consistency. Our approach analyzes individual procedures using a recent technique for demanded analysis, computing summaries on demand for procedure calls. A dynamically updated summary dependency graph enables precise result invalidation after program edits, and the algorithm is carefully designed to guarantee from-scratch-consistent results after edits, even in the presence of recursion and in arbitrary abstract domains. We formalize our technique and prove soundness, termination, and from-scratch consistency. An experimental evaluation of a prototype implementation on synthetic and real-world program edits provides evidence for the feasibility of this theoretical framework, showing potential for major performance benefits over non-demanded compositional analyses.more » « less
An official website of the United States government

