Several decades of involvement in software, digital audio, digital music, digital signal processing, and processor architecture. Successful independent software consultant in high-level languages and assembly language. Seasoned testifying expert with experience in patent and class action litigation, skilled at explaining complex ideas to attorneys and juries. Stanford Ph.D. Former Fulbright Scholar. Prolific author. Experienced manager with long-range research and development experience. Facile with foreign languages and working with people from outside the USA.
Full-time independent consultant: Programming hand-crafted audio and music software for signal processing, written in C, C++, JAVA, and especially assembly language for digital signal processing chips. Consulting on processor architecture and networking. Testifying Expert witness in patent litigation relating to software, computers, signal processing.
Yamaha Music Technologies USA
Helped establish and manage a nine-person Ph.D.-level research group, including site search, architectural design, construction, move-in, and hiring. Conducted original research on electronic musical instruments, software, micromachining, networking, and recent technological developments. Extensive experience designing scientific, engineering, and musical object-oriented applications, especially C++ (UNIX). Patents available upon request.
This was my first stint as a consultant. See Consulting Assignments, below.
Full-time programming experience as an employee, designing signal-processing modules and writing (96-bit VLIW) microcode for the ASP/SoundDroid developed by James A. Moorer. Experience in audio and video post-production. Extensive work in C (Unix). Another six months full-time experience writing tightly packed assembly code for the TI TMS32010 signal processor, especially for a two-channel hard-disk audio record playback unit that played without bugs on the exhibit floor of the National Association of Broadcasters convention, 1986.
Nine years programming experience developing code in high-level languages (Algol, Fortran, SAIL) and PDP-10 assembly language for musical and audio signal processing applications during doctoral thesis work. Includes original published research in spline fitting and pattern recognition, a 30,000-line two- and three-dimensional graphical editor for waveforms and spectra, implementation of the short-time Fourier transform, device drivers, and libraries for graphic user interfaces.
Part-time consulting work also for clients such as:
SRI International (FORTRAN for mechanical engineering).
Mattel Electronics (music in consumer electronic toys).
IntelliGenetics (ALGOL-like code for biotechnology).
Digital Keyboards (product specification and complete manuals for GDS and Synergy Synthesizers).
Solder cables, write German and Dutch-English translations, manufacture PC boards, assemble hardware.
B. Mus, double degree in organ performance and music theory. Experience with analog synthesizers and digital music synthesis, BASIC, FORTRAN, MUSIC V on an IBM 360.
Technical University, Berlin
Fulbright Scholar. Graduate-level coursework in music theory/history, audio engineering, electronics, information theory, cybernetics, Japanese; all coursework in German. Extensive recording studio and live concert sound reinforcement experience. PDP-11 and PDP-8 assembly and machine language. Travel throughout Europe.
IBM Thomas Watson Foundation
Grant to study electronic music, Tokyo, Japan, 1976. Live performances on piano and Roland System 700 analog synthesizer. Also travel through Turkey, Iran, Afghanistan, Pakistan, India, Thailand, and Hong Kong.
Ph.D., CCRMA. Advisor: John Chowning. Graduate course work in music, computer and processor architecture, assembly-language processing, digital audio, acoustics, and digital hardware. Dissertation on analysis of music instruments with the short-time Fourier transform. Software development experience listed elsewhere in this resume.
Implement/optimize signal processing algorithms: Fourier transform (FFT), discrete cosine transform (DCT), DTMF, speech synthesis.
Port/optimize audio compression algorithms: AC-3, MP-3, AAC.
Implement audio algorithms: reverberator, pitch shifter, sample rate converter, compressor, filter, flanger, 3-d audio (Dolby surround), dither.
Implement music synthesis (additive, physical modeling, wavetable, FM).
Create bug-free software from academic signal processing research.
Work in floating- and fixed-point math.
Assembler, object-oriented, C, C++.
Extensive experience optimizing code in assembler.
PC, Mac, Unix.
DSP architectures: Motorola 56000, 56300, and 56800 families; TI TMS320C10 and TMS320C54 family; Code Composer Studio; Analog Devices 21xx family and TigerSharc; VLIW; custom processors; I learn new architectures quickly.
Embedded processors: Hitachi SH-DSP, SH3-DSP, SH-4, and SH-5; ARM7/ARM9; configurable processors (Tensilica).
Debugging hardware prototypes.
Audio networks, such as AES/EBU (IEC 60958), IEEE-1394/FireWire, AV/C, 61883, mLan, and others.
Practical audio experience in live sound and in studios.
Testifying expert witness (including expert reports, deposition).
Software analysis for litigation.
Functionally bilingual in German; able to read French, Dutch; some Japanese.
Summary: Patent litigation, class action litigation, ITC actions, and USPTO declarations relating to software (in a wide variety of areas), audio, music, speech, processor architecture, compression, multimedia, digital cameras, telephony, cell phones, video games, and file downloading, among others. Testimony at trial, prior art analysis, infringement analysis, expert reports, deposition, tutorials, Markman hearings.
Expert No. 1642 has supported more than 26 cases. Details can be provided upon request.
For this music industry startup in Silicon Valley, create audio effects in Freescale DSPM56364 assembly language. Write and debug code without access to hardware, working only with software tools. Initial delivery of code ran bug-free in target hardware.
Client: DTS Digital Cinema
For DTS Digital Cinema’s new XD20 eight-track cinema media player (this is the box that sits in the movie theater projection booths for playback of multi-channel audio and video), adapt audio algorithms from an earlier DTS Digital Cinema device. In particular, port DTS Coherent Acoustics decode (two versions, one 8-channel, one stereo), DTS Digital Cinema 8-channel decode, and DTS Neo6 5.1 decode from DTS Digital Cinema’s existing XD10 cinema media player. This required me to extract Motorola DSP563xx assembly language source code from the earlier XD10 environment; isolate the four algorithms by stripping away unneeded code; integrate the four algorithms into Motorola 56721 dual-core processor; and write new wrapper code in assembly language. Responsible for approximately 25,000 lines of assembly-language source.
For this (repeat) client review literature and prepare summary report reviewing current graphic visualization of audio data. The 160-page final report discusses about one-half of the 200 or so documents and other items that I investigated.
For this (repeat) client implement, in C, with the help of a filter design subcontractor, a novel algorithm for sound processing.
Client: Berkeley Design Technology, Inc.
Contribute to research and writing of the following articles on processor architecture at company’s website.
TI Offers OMAP3 Application Processors to the Mass Market
Avnera releases ASSPs for wireless audio applications
XMOS Introduces Low-cost Multi-core Chip Family with Programmable I/O
VeriSilicon’s New Silicon IP Solution for HD Audio
Behind the scenes: Dolby’s acquisition of Coding Technologies
Tips and Tricks for Debugging Audio
Other BDTI assignments are listed below.
Review literature on auditory stream separation, computational auditory stream analysis, voice activation decision for speech, and Wiener filters. These techniques are at the cutting edge for improving cell phone sound. Using publicly available Matlab code for Wiener filters (Ephraim/Malah) as a basis, implement Davis et al’s voice activation decision in Matlab, delivering a speech enhancement system to the client.
For this startup just leaving stealth mode, advice on licensing and implementing audio algorithms; assist in integrating audio into portable consumer product.
For a well-known provider of audio software, provide and supervise a subcontractor to port a complicated digital signal processing algorithm into the Digidesign TDM Environment, in Motorola 56K assembly language.
AES standards working group SC-02-12 on digital audio networking via IEEE-1394 (Firewire), with the support of Yamaha. Involved a trip to AES conventions twice a year, including one in Europe. Past member, IEC TC100 TA4, Digital System Interfaces. Various public appearances worldwide and various company site visits on behalf of Yamaha to discuss multimedia networking, audio over 1394 and Yamaha’s mLAN.
Client: Sonic Network
For this well-known provider of wavetables, synthesis software, and cell phone ring tones (among others), provide and supervise subcontractors for these projects:
Design and implementation of filters for sample rate conversion;
Design and implementation of filters following the DLS-2 specification (used in cell phones for ring tones);
Port synthesizer code to Tensilica HiFi2 audio engine.
For this well-known provider of audio software, provide and supervise a subcontractor to port a complicated digital signal processing algorithm into the Digidesign TDM Environment, in Motorola 56K assembly language.
Client: Audio Research Labs
For ARL founder Schuyler Quackenbush provide and supervise a subcontractor to design and implement a digital filter algorithm in Motorola 56K assembly language.
Working closely with Verance R&D staff, implement the Verance Content Management System/Audio-Visual (VCMS/AV) watermarking technology for motion picture sound in Motorola 56300 assembly language in the TC Electronics M6000 environment. This program is used by major film studios starting early 2005 to watermark nearly every DVD released. Travel at client’s request to TC Electronics headquarters in Denmark to facilitate integration. Provide and supervise a subcontractor to assist with filter design, filter implementation, and other tasks. More than 30,000+ lines of 56K assembler source, several hundred pages of documentation, a dozen CD-ROMs of debugging data and lab notebooks.
Client: Universal Audio
For this well-known manufacturer of audio plugins, port two audio processing algorithms (Pultec filter, LN1176 stereo compressor) from C/C++ to Motorola 563xx assembly language in the DigiDesign ProTools TDM environment, including numerical approximation and streamlining the original C/C++ implementation. Publicly released 2004. Contribute extensively also to port of an extremely complicated high-end reverberator, and to another equalizer.
For another well-known manufacturer of audio plugins, extensive contributions to the TDM port of a multi-band, multi-channel compressor.
For this software configurable processor startup, study how to port MPEG-2 AAC and MP-3 decode reference C++ code to 16 and 32-bit integerized C. Do the same for MP-3 encode based on publicly available source. Learn their software configurable architecture well enough to write optimizations.
Client: RIC International Precision Translation Services
For this major translation house, proofread German-English translations involving, among other things, audio compression (including German-language doctoral dissertations).
Client: Analog Devices
Port music synthesis algorithms in assembly language for the ARM7/TDMI processor, following ARM’s C calling conventions. This project ran under very tight time constraints, cost only 2/3 of the projected budget, and resulted in code that runs much faster than the original implementation.
Client: Dorrough Electronics
Implement in C and Analog Devices Sharc 21161 assembly language a novel scheme based on their patented technology to improve the perceived loudness of audio signals sent over broadcast. Provide a subcontractor who made significant contributions to filter design.
For a major manufacturer of wireless telecommunications hardware, help create a development environment using Texas Instruments’ C54XX, Code Composer Studio, and Reference Framework 3.
For an Asian manufacturer of audio chips, assemble, manage, and contribute technically to a group of US consultants to specify and help design an audio-related chip used in broadcast applications. Establish contact between the Asian client and stateside holders of appropriate licensable technology.
Client: Analog Devices
After an on-site visit to learn more about the technology and meet the team, I made recommendations on changes to architecture for a new version of an idiosyncratic signal processing chip. I also provided code examples for the new architecture.
For a configurable processor manufacturer in Silicon Valley, implement a highly optimized version of the modified discrete cosine transform (MDCT) for audio compression. Extensive investigation of theory and variants of the MDCT. Also port MPEG-2 low-complexity AAC decode and MP3 encode from Fraunhofer/Thomson reference C++ code to 16-bit integerized C. Prepare various optimizations closer to the hardware than C++ usually allows.
For this developer of a custom processor based on ARM architecture, investigate licensing of and make recommendations for porting AC-3, DTS, Dolby ProLogic.
Client: Berkeley Design Technology, Inc.
For BDTI’s Buyer’s Guide to DSP Processors, 2001 Edition, contribute major portions of the text analyzing processor architectures including the Analog Devices TigerSharc, and contribute also to the analyses of Motorola 56300, 56800, and 56800E processors; verification and in some cases re-writing assembly-language implementations of BDTI’s benchmarks. Prepare written analyses of Hitachi SH-DSP, SH3-DSP, SH-4, and SH-5 processor architectures. This again included verification and in some cases re-writing assembly-language implementations of BDTI’s benchmarks. Implement assembly-vlanguage routines related to multimedia compression in ARM7/ARM9 processor assembly language. Develop and present a four-hour presentation on audio compression, given first at Embedded Processor Forum, June, 2000; contribute to a four-hour presentation on digital audio and music at the same Embedded Processor Forum; revised and presented both talks at Microprocessor Forum, October 2000; both talks revised again with emphasis on streaming audio and presented at Embedded Processor Forum, June, 2001.
1995-1996 and 1998-1999
Client: Audio Precision
For their System 2 audio measurement device, developed double-precision Fourier transform (FFT) in assembly language for Motorola 56002 processor, including (Microsoft) C code to study where to maintain double-precision. Also, extensive code for AES/EBU and square wave measurement test suite, including jitter and eye pattern (assembling bit map for graphics display in 56002 data memory space). 28K+ lines of assembly language source.
1998-1999: Revise Audio Precision System 2 code for new 96 kHz Cascade hardware (Motorola 56303).
Client: Euphonics (later part of 3COM)
Implement Dolby AC-3 decoder (used in Dolby Digital cinema sound) in 16-bit integer assembly language on new Analog Devices 16-bit integer AD1818 processor (PCI SoundComm). 20K+ lines of assembler source. Passed first round of Dolby testing on first try. Integrate with Euphonics’ Real-Time Kernel operating system.
Assist a startup specializing in real-time music software in its attempts to be acquired. Included introducing company staff to personal contacts in various music companies, and participating in various meetings.
For a major chip manufacturer, I served as the sole outside member of the due diligence technical team evaluating a small but well-known synthesizer company ultimately acquired by the chip manufacturer. After visiting the synthesizer company’s office with a team from my client, I provided a detailed written report on software, music synthesis chip architecture, and various management questions.
Client: Digital Technics (DTI)
Implementation of CCITT R2 telephony encoder/decoder (similar to DTMF) in Motorola 56002 assembly language, based on Goertzel algorithm. 13K+ lines assembler. Deployed in the field in Asia and South America.
Client: VM Labs
For this multimedia chip startup, provide detailed critique of their proprietary DSP chip architecture.
For a major manufacturer of audio hardware, commissioned to write a study of audio over networks. Investigate and deliver a 40 page report analyzing MIDI, ZIPI, 1394, PCMCIA, Ethernet, ATM, Lone Wolf, USB, and others.
Motorola DSP 56000 assembly language for numerical and FFT analysis of real-time data gathered by laser from the human eye for medical applications. 150K source.
Client: Centigram Communications Corporation.
Port of speech synthesis code from TI TMS320E17 assembly language to Motorola DSP 56002 assembly language on Motorola PC Media card; port to Analog Devices ADSP 2115 assembly language on Echo Personal Sound System.
Implement physical modeling music synthesis techniques on custom RISC/DSP chip inside Jaguar game console. Prepare written comments on a new custom DSP architecture.
For a US audio manufacturer, write audio recording, storage, and playback functions in assembly language for Analog Devices ADSP 2105. Farmed out DAC/ADC device drivers to subcontractor. Also farmed out front-panel code on Philips/Signetics 80C51 family of controllers to different subcontractor.
For this software music synthesizer company, write C routines to emulate certain hardware elements in the target architecture. This allowed the company to study aspects of caching parameter updates, for optimizing real-time performance.
For a research project involving DSP architecture, write a series of Java classes to emulate the typical components of a DSP chip.
Working from the written specification for a proprietary algorithm, develop C and TI TMS 32010 assembly language for a multi-channel consumer audio product prototype.
Client: NeXT, Inc.
NeXT Inc. Developed, debugged, and documented more than 50 routines in the Motorola DSP 56000 assembly language vector library (with Julius O. Smith; source code printout is 2” thick.). While working off-site for over a year before NeXT was publicly released, maintain secrecy about the fact that NeXT would include a 56000 processor.
Client: Sonic Solutions
As one of the first consultants hired by Sonic Solutions (located in their first office in San Francisco), port their C-language noise-reduction code from one flavor of Unix to another.
Studies of micromachining and nanotechnology.
Experience with the Star Semiconductor SPROC chip, the IBM MWAVE chip and operating system, OS-9, and Spectron’s SPOX operating system.
Available Upon Request
Lecturer, College of Arts & Media
Teach special topics course on audio data compression to upper-level undergraduate and graduate students.
Available Upon Request
Assistant Editor, Computer Music Journal, 1978-1982.
Co-founder (1980), Private Company.
Founder and Series Editor (1984-1996), The Computer Music and Digital Audio Series.
Conference Chair, 1987 Audio Engineering Society (AES) International Conference on Music and Digital Technology (Los Angeles).
Technical Papers chair, 1992 AES Convention, San Francisco (first AES San Francisco Convention). Technical Papers co-chair, 2002 AES convention, Los Angeles.
Elected member of the AES Board of Governors, 1992-1994; again 2005-2007.
Keynote Speaker, November 1996 Audio Engineering Society Convention.
Fellow (1996), Audio Engineering Society.
Honorary Member (since 1998), Midi Manufacturers Association (MMA).
Convention Chair, 2004 AES Convention, San Francisco. Recipient of an Anderton Award.
Convention Chair, 2006 AES Convention, San Francisco.
Convention Co-chair, 2008 AES Convention, San Francisco.
Chair, Audio Engineering Society Convention Policy Committee, 2006-2008.
Technical presentations and session chair at various conferences such as Audio Engineering Society, Acoustical Society of America, International Computer Music Conference, DSP
Member of review board, Journal of the Audio Engineering Society.
Conference paper reviewer for many International Computer Music Conferences (ICMC).
Member, Acoustical Society of America. Senior Member, IEEE.
Functionally bilingual in German. Reading ability in French, Dutch. Some experience with Spanish, Italian, Japanese, Latin. Separate list of foreign language experience available on
request. Extensive experience travelling abroad and communicating with foreigners.
I currently enjoy spending time with my family and hiking. In earlier years I have especially enjoyed travel, aikido, weightlifting, operating a Maerklin Z-gauge model railroad, performing a wide variety of folk and classical music, and attending musical events. Member of Toy Train Operating Society of America.
Full vita and references from industry, academia, and lawfirms available upon request.
|eye||algorithm development||machinery design||bicycle accident design||electrical contracting construction installation methods||safety operations|
|mechanical management||man||communication methods||automotive satisfaction||residence||medical credential issues|
|low speed collision||institution||meter||aviation engineer||programmer||business economic|
|preparation for jcaho||doe||computer assembly||healthcare organizations||circuit design||event|