This is the main repository for original research on the acoustical properties of nonabelian group filters.
Reginald Bain -- University of South Carolina (Music faculty mentor)
Matthew Corley -- University of South Carolina (CS major)
William DeMeo -- University of South Carolina (Math faculty mentor)
Underlying many digital signal processing (dsp) algorithms, in particular those used for digital audio filters, is the convolution operation, which is a weighted sum of translations f(x-y). Most classical results of dsp are easily and elegantly derived if we define our functions on Z/nZ, the abelian group of integers modulo n. If we replace this underlying "index set" with a nonabelian group, then translation may be written f(y-1x), and the resulting audio filters arising from convolution naturally produce different effects than those obtained with ordinary (abelian group) convolution.
The aim of this project is to explore the idea of using the underlying finite group (i.e., the index set) as an adjustable parameter of a digital audio filter. By listening to samples produced using various nonabelian groups, we try to get a sense of the "acoustical characters" of finite groups.
- (Feb 25, 2014) @corleymj will give a preliminary report on GroupSound at the
spring Pi Mu Epsilon Math Honors Society initiation meeting (in LeConte 310 at
6:30;
advertisement).
Matt's talk went exceptionally well, especially considering it was his first time presenting on this topic. Music Mentor Reg Bain said the talk was "fantasic" and I (the math mentor) quite agree. Way to go Matt! - (Feb 17, 2014) Research team meeting in the xMuse Experimental Music Studio.
- (Feb 14, 2014) @corleymj adjusted map-reduce convolution to work for small audio samples. You can now listen to audio convolution by downloading the Sage worksheet (experiements.sws).
- (Jan 16, 2014) @williamdemeo gave a preliminary report on the project at the MAA Session on the Intersection of Mathematics and the Arts III.
- (Jan 10, 2014) @williamdemeo developed a map-reduce algorithm for convolution over finite groups. Get the Sage worksheet (GroupDSP.sws).
- (Jan 8, 2014) @corleymj developed Sage/Python routines for creating/playing sound signals and writing them to wav files. Get the Sage worksheet (wavwrite_examples.sws).
- (Dec 9, 2013) Matt Corley is now a Magellan Scholar and a grant will fund his work on this project. Congratulations, Matt!
- (Oct 18, 2013) Our abstract was accepted; we will present preliminary results of this project at the Joint Math Meetings in Baltimore, Maryland on January 16, 2014 at 10:40am. Event: At the Intersection of Mathematics and the Arts, III.
-
Programming
Primary languages:- Sage -- our primary language (for now at least).
- useful doc page explaining how to construct finite groups in Sage.
- GAP -- we use GAP functions from within Sage.
- Scala -- we will program in Scala later, after the initial prototyping phase of development.
- Of Algebird, Monoids, Monads,... -- explains some of the interesting new Twitter libraries that assume data structures with certain algebraic properties.
Others:
CSound, Pure Data, Supercollider, Chuck. - Sage -- our primary language (for now at least).
-
Books, notes, and other references
- Haskell School of Music from the Yale Haskel Group.
- Music and Computers: a theoretical and historical approach
- Malsen and Rockmore 1997 article on computing FT over nonabelian groups.
- Baum and Clausen 1990 report on complexity of FT over nonabelian groups.
- Explanation of some standard methods for ordinary (abelian) convolution:
-
Conferences