|
Projects
|
[ PICTURES |
STUDENTS ]
|
|
Music Interfaces
|
|
|
Virtual Keyboard by Baharak Zali
The idea behind the project was to create a virtual keyboard to enable the computer users, who do not have access to a midi keyboard, play and record music on their computers using a non-expensive three dimensional input device. In this project I combined the animating hand that I had designed and implemented for Omni-Grasp project, and Improve, a library for programming with MIDI in C++. As input device I use P5 Glove which at each time provides the three dimensional position and posture of the hand.
[ website: doc ]
|
|
Composition Tools
|
|
|
Percolate - An Algorithmic Sequencer For Percussive Rhythms That Maintains Stylistic Motifs
by Edward Stein and Naru Sundar
Percolate is a commandline tool for processing an input sequence in MIDI form and creating an arbitrary length output sequence that maintains a sense of rhythmic similarity to the input.
[ website: demo/src(c++)/doc | slides (pdf) ]
|
|
ACT: Atonal Chord Transitor by Anna Cheng-Zhi Huang
ACT is a Java-based program that generates "3-voice closed position" atonal chords when given a starting and ending simultaneity, and user-synthesized scale. It uses GUIDO for I/O, and generates the transition between the starting and by ending following linear trajectories and utilizing the A* search algorithm.
[ website: doc/src(java)/demo ]
|
|
MotifMax by Mohammad Anwar Hossain
Composers working on 'Motif-based' or 'Theme-based' music start with one, or more than one, motif (a small piece of music) and twists its different parameters to bring different moods in different parts of the piece. In my project, I basically attempted to automate this process in a simple, scalable framework. The system starts with some motifs and generates many more motifs based on different combination of transformations on the motifs. Then, a constrained selection process patches selected motifs together to make a bigger piece.
[ website: doc/demo/src(c++) ]
|
|
Automated Analysis
|
|
|
Pop, Pop! - Pop & Rock Music Structure Analysis from Audio Signals by Yu Shiu
In this project, I intend to explore the musical structure of pop songs from audio data. Pop and rock music usually have simpler musical structure than classical music. The simplicity makes them "catchy". Basic components of music structure in pop music include intro, bridge, "outro" and many repetitions of verse and chorus. In my project, given a pop song, I first evaluate the duration and phase of every measure. With assumption of 4/4 time signature, I extract PCP features to represent the chord contents of each sixteenth note. Then, similarity of all the features within a song is presented in a similarity matrix, which reveals the musical structure. The chorus is the most easily recognizable pattern in the similarity matrix, while the verse also shows some similarity with different parts in a song.
[ website: doc/demo | slides (pdf) ]
|
|
Java Beat Detector by Jonathan Mooser
The purpose of this project is to build software that will automatically detect beats in a piece of recorded music using an algorithm based on Eric Scheirer's paper on tempo and beat analysis of acoustic musical signals (1998). It reads in a wav files, specified by a command line argument, and plays back the music with a click inserted wherever it finds a beat. When successful, the result is like listening someone snap their fingers in time with a piece of music. I also borrowed algorithms from two additional source: Beat This, a beat synchronization project at Rice University, and Patin's website on Beat Detection Algorithms.
[ website: doc/demo | src (java) ]
|
|
Segmenting Popular Music Sentence by Sentence by Wan-Chi Lee
In this project, a simple approach of segmenting popular music with vocal sounds is tested. The subband energy is used as feature and the piecewise linear presentation method is applied to analyze the times series formed by the features.
[ website: doc/results ]
|
|
Music Representation
|
|
|
Kern2Muse by Haojun Wang
Digital representation of symbolic music is an important issue in computational musical processing. Popular formats include MuseData, GUIDO, and Humdrum. The latter two formats also provide sets of tools facilitating musical symbolic representation processing. However, there is no tool available for converting among these formats. The program here provides a prototype to convert Humdrum format into Musedata format.
[ website: doc/src(java)/demo ]
|
|
PitchVel3D: Pitch Velocity Pressure Graph by David Li
PitchVel3D plots the pitch, time, velocity. It read in a Midi file using nmat format from the MIDI Toolbox. Arrays are created from the velocity, pitch, and onsets/offsets from the midi structure and plotted on a 3-dimensional graph. The highest velocities are shown in the peaks of the graph, lower velocities are shown as smaller lumps. The colors in the graph can be changed using the COLORMAP command.
[ website: doc/src(matlab)/demo ]
|