Areas of Expertise
- Categories: Audio, Internet and System software from low level firmware
and device drivers, to high level applications.
- Business: product design and development, international sales and contract negotiation, customer relations.
Staff Software Engineer, Google, Mountain View, CA, January 2013 to present
Various Android related projects.
President, Mobileer, Inc., San Rafael, CA, 2004 to January, 2013
Led technical team in development of a polyphonic MIDI synthesizer for embedded devices. Applications include mobile phone ringtone player and music player for toys. The Mobileer player was used in the popular Treo 600 and 700 series handsets from Palm. Other customers include Fisher-Price, Fujitsu and Saxa. Also managed marketing, sales, planning, contract negotiations, customer contact including international clients, and budgeting.
Member of the MMA (MIDI Manufacturers Asociation) working group defining a next generation music protocol for device communication. Developing a commercial implementation of the protocol in C++ and Java in partnership with Bome Software.
Contract development for various clients including:
- Sony PlayStation 3 ongoing. Projects include a distributed build system in Java and an audio streaming runtime library in 'C'.
- Development of audio systems for the works of composer Max Neuhaus. Designed analysis hardware and control software. Travelled to customer sites in New York and Germany to install systems.
Developed, marketed, distributed and sold:
- JSyn, a real-time audio
synthesis API for Java, graphical patch editor,
- ListenUp, a Java Applet for voice recording
and uploading to a server,
Independent Developer and Contractor, SoftSynth.com, 1997 to January, 2013
Developed, marketed, distributed and sold a variety of software products including:
- PortAudio, a cross-platform audio I/O librarywritten in 'C' for Mac, PC, Linux, etc., with Ross Bencina, and a team of contributors,
- pForth, a public
domain portable 'C' based Forth compiler,
- TransJam, a Java server
for multi-user games and music performance.
Contract projects include:
- Audio related projects for digital television and set-top boxes for TeleCruz. Designed IEC958
and DAC interface hardware for an ASIC using Verilog. Porting and optimizing AC-3, MPEG and other
audio algorithms on an embedded processor. Signal processing and voice
- Using JSyn in contracts for various clients including High Wired Technologies
and Dartmouth College,
- Audio device driver development for Red Jade,
- Java based audio content production tools for Leap Frog Toys,
- Various audio software projects for video game console manufacturers,
- Taught courses in pForth and assisted clients in using pForth to verify and bringup new ASICs,
- Technical Director for Auracle project, a voice-driven collaborative online instrument.
Manager of Audio Systems, CagEnt Technologies, Santa Clara, CA, 1997 to 1998.
Continuation of 3DO work. CagEnt was a 3DO spin-off. Chief architect and
developer for custom RISC style DSP core and audio system software.
Manager of Audio Systems, The 3DO Company, Redwood City, CA 1992 to 1997
Led a team in the design and development of system software that used the
3DO custom DSP to synthesize audio in real-time. This system provided a
modular, patchable software synthesizer for generating sound effects, and
for playing MIDI files and soundfiles. Responsible for hardware architecture of the audio portion of 3DO's
multi-media ASICs which include a custom DSP, proprietary decompression
hardware, and multi-channel audio DMA. Developed cycle accurate simulator
of a custom RISC processor. (The 3DO console was the first console to use a 32-bit CPU, 3D hardware accelerated graphics, optical disks and a DSP based software synthesizer.)
Lecturer and Researcher, Mills College
Center for Contemporary Music, Oakland, CA 1988
Designed and developed HMSL,
the Hierarchical Music Specification Language. HMSL is an object oriented
language based on Forth that provides music related tools for experimental
composers. Taught courses on electronic music.
President, Delta Research, San Rafael, CA 1986 to 1992
Worked with four partners to design, develop and sell JForth for the Commodore Amiga. JForth is a subroutine threaded Forth compiler and programming
environment with an integrated editor.
Manager of Graphic Systems, Exploration Systems Inc., Sausalito, CA 1984 to 1986
Systems Architect for a petroleum exploration and mapping system. Designed and developed a smart terminal program for the Macintosh that
allowed a mini-computer based application to display menus and dialog boxes
using the Mac GUI.
Bachelors degree in BioPhysics from University
of California at Berkeley. Coursework included computer programming, genetics, radiation biology,
biophysical chemistry, electronics and music. Senior thesis involved mapping
a chromosomal translocation in yeast.
- "Band-Limited Oscillators using Wavetable Synthesis", Audio Anecdotes II, 2004, AK Peters, Ltd. ISBN: 1-56881-214-0
- "Adaptive High-level Classification of Vocal Gestures Within a
Networked Sound Instrument" Proceeeding of the ICMC, 2004 with
Jason Freeman, C. Ramakrishnan, Kristjan Varnik, Max Neuhaus, and David Birchfield
- "Music and Computers: A Theoretical and Historical Approach", online textbook with 5 authors, Key College Publishing.
- "PortAudio: an API for Portable Real-Time Audio ", with Ross Bencina, Audio Anecdotes I, 2004, AK Peters, Ltd. ISBN: 1-56881-104-7
- "The Stochastic Synthesis of Complex Sounds", Game Programming Gems
3, 2002, Charles River Media, Inc. ISBN: 1-58450-233-9
- "Using the Biquad Resonant Filter", Game Programming Gems 3, 2002,
Charles River Media, Inc. ISBN: 1-58450-233-9
- "PortAudio – an Open Source Cross
Platform Audio API" Proceeeding of the ICMC, 2001,with Ross Bencina.
- "Java Music Specification Language,
an introduction and overview", Proceeeding of the ICMC, 2001, with
- "Jammin' on the Web: A New Client/Server Architecture for Multi-User Musical
Performance", Proceedings of the ICMC , 2000.
- "JSyn: Real-time Synthesis
API for Java", Proceedings of the ICMC , 1998. Describes a unit
generator based synthesis library for Internet music.
- "Iconic Programming for HMSL", with R. Marsanyi, Proceedings of the
ICMC , 1992.
- "The Integration of Real Time Synthesis into HMSL", Proceedings of the
ICMC , 1991. Describes DSP 56000 based synthesis techniques.
- "HMSL: A Theoretical Overview" with Larry Polansky and David Rosenboom. Perspectives
of New Music, Volume 28, Number 2, Summer 1990, pp136-178.
- "Squiggle" and "RelNet" compositions on "Hallways, 11 Musicians and HMSL.", Frog Peak Music, 1993. For live DSP.
- "JForth Users Manual", with M. Haas, Delta Research, 1986,88,90.
- "HMSL Overview and Notes on Intelligent Instrument Design", with L. Polansky, D. Rosenboom, Proceedings of the International Computer Music Conference,(ICMC), 1987.
- Invited to lecture on computer music and synthesis at Danish Institute of Electronic Music, New York University, Dartmouth College, HarvestWorks in NY, Cal Arts, CCRMA, Forth Conference, NUMUS Festival, Berlin ICMC, etc.
- Won $1000 in "World's Fastest Programmer" Contest at Embedded Systems Conference, Anaheim, CA in 1988 with partner Mike Haas.
References available upon request.