
Eric Battenberg
I have recently received my PhD in Electrical Engineering and
Computer Sciences from UC Berkeley, where I did research on the application of signal processing and machine learning techniques to music and audio analysis and processing.
I was advised by David Wessel at the Center for New Music and
Audio Technologies (CNMAT) and co-advised by Nelson Morgan at the International Computer Science Institute (ICSI). I worked with the Parallel Computing Laboratory (Par Lab)
on parallel music applications. My research interests include music
information retrieval, audio signal processing, applications of machine
learning, and architecting parallel music software.
You can contact me at:

My CV is available upon request.
| News/Updates | Publications | Software | Talks | Projects | Coursework | Teaching | Links |
Google Plus Feed
- Techniques for Machine Understanding of Live Drum Performances
- Techniques for drum detection, multi-hypothesis beat tracking, and drum pattern analysis are presented as a complete system for drum understanding.
- Eric Battenberg
- PhD Dissertation, EECS, UC Berkeley, Dec 2012
- Analyzing Drum Patterns Using Conditional Deep Belief Networks
- Applies multi-layer neural networks to the analysis of drum patterns.
- Eric Battenberg and David Wessel
- ISMIR, Porto, Portugal, 2012
- Toward Live Drum Separation Using Probabilistic Spectral Clustering Based on the Itakura-Saito Divergence
- This paper introduces techniques for decomposing drum audio onto spectral templates which are learned using a probabilistic Gamma Mixture Model.
- Eric Battenberg, Victor Huang, and David Wessel
- AES 45th Conference: Applications of Time-Frequency Processing in Audio, Helsinki, Finland, March 2012
- Implementing Real-Time Partitioned Convolution Algorithms on Conventional Operating Systems
- Compares the performance, plugin compatibility, and required programmer effort of preemptive and time-distributed implementations of non-uniform partitioned convolution.
- Eric Battenberg and Rimas Avizienis
- Digital Audio Effects Conference, Paris, France, Sept 2011
- Real-Time Musical Applications on an Experimental Operating System for Multi-Core Processors
- Describes the operating system needs of real-time music software and a current approach to meeting these needs.
- Juan Colmenares, Ian Saxton, Eric Battenberg, Rimas Avizienis, Nils Peters, Krste Asanovic, John D. Kubiatowicz, and David Wessel
- International Computer Music Conference, Huddersfield, UK, Aug 2011
- Advances in the Parallelization of Music and Audio Applications
- A survey of parallel computer music work being done at CNMAT and the Par Lab.
- Eric Battenberg, Adrian Freed, and David Wessel, June 2010
- International Computer Music Conference, New York City/Stony Brook, New York, Jun 2010
- Accelerating Non-Negative Matrix Factorization for Audio Source Separation on Multi-Core and Many-Core Architectures
- | poster |
- OpenMP and CUDA implementations of NMF to speed up drum track extraction.
- Eric Battenberg and David Wessel, May 2009
- International Society for Music Information Retrieval Conference, Kobe, Japan, 2009
- Improvements to Percussive Component Extraction Using Non-Negative Matrix Factorization and Support Vector Machines
- Perceptual
dimensionalty reduction and new features are used to improve the speed
and performance of automatic drum track extraction.
- Eric Battenberg
- Masters Thesis, EECS, UC Berkeley, Dec 2008
- Optimizing Hearing Aids for Music Listening
- A subspace technique for optimal hearing aid fitting.
- David Wessel, Kelly Fitz, Eric Battenberg, Andrew Schmeder, and Brent Edwards
- 19th International Congress on Acoustics, Madrid, Spain, Sep 2007.
If you use any of this code, please send me an email to let me know how you plan on using it; I'd love to hear. Also, your feedback will help determine where the code needs to be improved.
Feel free to send me any questions you have about its use. If you use any of this code for any published work, please cite the appropriate paper.
- NMF-CUDA
- A CUDA implementation of non-negative matrix factorization for GPUs as described in the ISMIR 2009 pulbication above.
- CRBM-Drum-Patterns
- A Python implement of conditional restricted Boltzmann machine training and generation as applied to drum pattern generation.
- The Breadth of Applications for Music
- | slides |
- The
range of music apps being pursued at CNMAT and what they need from
parallel computing. Also, a case study on parallelizing audio source
separation on OpenMP and CUDA.
- Eric Battenberg, May 2009.
- UPCRC Applications Workshop, Microsoft Research, Redmond, WA, 29/05/09.
- A Theoretical and Experimental Analysis of the Acoustic Guitar
- | slides |
- Automatically recognizing picking location and a look into natural harmonics and tuning systems.
- Eric Battenberg, May 2009.
- An Interior-Point Newton Algorithm for Non-negative Matrix Factorization
- A Netwton step barrier method for non-negative matrix factorization is proposed and applied to audio source separation.
- Eric Battenberg, Dec. 2008.
- Parallelizing Audio Feature Extraction Using an Automatically-Partitioned Streaming Dataflow Language
- | poster | | slides |
- An attempt to use StreamIt for spectral feature extraction.
- Eric Battenberg and Mark Murphy, May 2008.
- Calculating Musical Rhythm Similarity
- | poster |
- A method for comparing rhythms using self-similarity.
- Eric Battenberg, Dec. 2007.
- Optimizing the Hearing Aid Musical Experience
- Parameters of a multi-band compressor are tuned using a user-calibrated subjective parameter space.
- Eric Battenberg, May 2007
- A New Method for Calculating Music Similarity
- Hidden Markov models and spectral fluctuation patterns are used to calculate a distance measure between songs.
- Eric Battenberg and Vijay Ullal, Dec. 2006
- A System for Automatic Cell Segmentation of Bacterial Microscopy Images
- Various image processing and computer vision techniques are used to segment individual bacteria cells in a microscope image.
- Eric Battenberg and IlkaBischofs-Pfeifer, Aug. 2006
- Sparse Signal Representation
- Image Compression Using Sparse Bayesian Learning.
- Eric Battenberg, Vijay Ullal, and Galen Reeves, May 2006.
| Year |
Semester |
Course |
Title |
Instructor |
| 2005-06 |
Fall |
EE 221A |
Linear System Theory |
S. Sastry |
| EE 226A |
Random Processes in Systems |
J. Walrand |
| EE 301 |
Teaching Electrical Engineering |
B. Ayazifar |
| Spring |
EE 225A |
Digital Signal Processing |
M. Gastpar |
| EE 225B |
Digital Image Processing |
A. Zakhor |
| EE 290P |
Brain-Machine Interfaces |
J. Carmena |
| 2006-07 |
Fall |
CS 294-34 |
Practical Machine Learning |
M. Jordan |
| Music 208A |
Advanced Music Perception and Cognition |
D. Wessel |
| Spring |
EE 225D |
Audio Signal Processing |
N. Morgan |
| 2007-08 |
Fall |
CS 281A |
Statistical Learning Theory |
M. Jordan |
| Spring |
CS 267 |
Applications of Parallel Computers |
H. Simon |
| 2008-09 |
Fall |
EE 227A |
Introduction to Convex Optimization |
L. El Ghaoui |
| Spring |
CS 294-45 |
Architecting Parallel Software |
K. Keutzer |
| ME 173 |
Fundamentals of Acoustics |
G. Johnson |
| 2009-10 |
Spring |
CS 294-35 |
Cell Phones as a Computing Platform |
E. Brewer |
| |
|
|
|
|
| Year |
Semester |
Course |
Title |
Position |
Instructor |
| 2005-06 |
Fall |
EE 21 |
Signals and Systems |
GSI |
B. Ayazifar |
| Spring |
EE 123 |
Digital Signal Processing |
Head GSI |
K. Ramchandran |
| 2006-07 |
Fall |
EE 21 |
Signals and Systems |
GSI |
B. Ayazifar |
| |
|
|
|
|
|
- Fixes and Tips
- Computery things I've figured out that I thought was worth sharing.
- Matlab Speed on OS X, Win7, and Ubuntu
- A look into the frustrating speed differences in Matlab across OSes.
- Coach Battenberg's Web Site
- My dad's basketball coaching website.
|