Go to S Systems, Inc. Home Page

John M. Strawn, Ph.D.

DSP Consulting Experience

Summary: Software in high-level languages (C, C++, Java, Fortran), assembly language (digital signal processors, embedded processors, custom processors), and Matlab, for signal processing applications, mostly related to audio and music. Related projects such as processor design, mergers and acquisitions, feasibility studies, and standards work.

From: 2008 Client: DTS Digital Cinema (now Datasat Digital Entertainment)
To: 2008 Location: Agoura Hills, CA
  Duties:

For DTS Digital Cinema's XD20 Media Player eight-track cinema media player (this is the box that sits in the movie theater projection booths and special venues 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.

From: 2007 Client: Berkeley Design Technology, Inc.
To: 2008 Location: Oakland, CA
  Duties:

Contribute to research and writing of the following newsletter articles at BDTI's website Inside DSP :

From: 1995 Client: Yamaha
To: 2007 Location: Hamamatsu, Japan
  Duties: Chair, AES standards working group SC-02-12 (formerly called SC-06-02) on digital audio 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, for example at AES local chapter meetings, and various company site visits, on behalf of Yamaha to discuss audio over 1394 and Yamaha's mLAN.

From: 2005 Client: Sonic Network
To: 2006 Location: Somerville, MA
  Duties:

For this well-known provider of wavetables, synthesis software, and 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;
  • Port synthesizer code to Tensilica HiFi2 audio engine.

From: 2004 Client: Bias
To: 2006 Location: Petaluma, CA
  Duties:

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 assembler.

From: 2005 Client: Audio Research Labs
To: 2005 Location: Scotch Plains, NJ
  Duties:

For ARL founder Schuyler Quackenbush provide and supervise a subcontractor to design and implement a digital filter algorithm in Motorola 56K assembler.

From: 2004 Client: Verance
To: 2005 Location: San Diego, CA
  Duties:

Working closely with Verance R&D staff, implement the Verance Content Management System/Audio-Visual (VCMS/AV) watermarking technology for motion picture sound (now known as Cinavia) in Motorola 56300 assembler in the TC Electronics M6000 environment. In use in major film studios starting early 2005. 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.

From:

2002

Client: Universal Audio

To:

2004

Location: Santa Cruz, CA

 

Duties:

For this well-known manufacturer of audio plugins, port two audio processing algorithms (Pultec filter, LN1176 stereo compressor) from C/C++ to Motorola 563xx assembler 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.

From:

2003

Client: Stretch

To:

2004

Location: Mountain View, CA

 

Duties:

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.

From:

2003

Client: RIC International Precision Translation Services

To:

2003

Location: Cambridge, MA

 

Duties:

For this major translation house, proofread German-English translations involving, among other things, audio compression (including German-language doctoral dissertations).

From:

2003

Client: Analog Devices

To:

2003

Location: Santa Clara, CA (Audio Rendering Technology Center)

 

Duties:

Port music synthesis algorithms to ARM7TDMI assembler, 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.

From:

2002

Client: Dorrough Electronics

To:

2003

Location: Chatsworth, CA

 

Duties:

Implement in C and Analog Devices Sharc 21161 assembler 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

From:

2002

Client: Analog Devices

To:

2002

Location: Wilmington, MA (Ray Stata Technology Center)

 

Duties:

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.

From:

1999

Client: Berkeley Design Technology, Inc.

To:

2001

Location: Oakland, CA

 

Duties:

  • For BDTI’s Buyer's Guide to DSP Processors, 2001 Edition, contribute major portions of the text analyzing the Analog Devices TigerSharc, and contribute also to the analyses of Motorola 56300, 56800, and 56800E, including 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 architectures. This again included verification and in some cases re-writing assembly-language implementations of BDTI's benchmarks;
  • Implement assembly-language routines related to multimedia compression in ARM7/ARM9 assembler;
  • 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 given by Dana Massie 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.

From:

1995 - 1996

Client: Audio Precision

And

1998 - 1999

Location: Portland, Oregon

 

Duties:

For their System 2 audio measurement device, developed double-precision FFT in assembler for Motorola 56002, 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 display in 56002 data memory space). 28K+ lines of assembler source. 1998-1999: Revise Audio Precision System 2 code for new 96 kHz Cascade hardware (Motorola 56303).

From:

1997

Client: Euphonics (later part of 3COM)

To:

1999

Location: Boulder, CO

 

Duties:

Implement Dolby AC-3 decoder in 16-bit integer assembler on new Analog Devices 16-bit integer AD1818 (PCI SoundComm). 20K+ lines of assembler source. Passed first round of Dolby testing on first try. Integrate with Euphonics’ Real-Time Kernel.

From:

1996

Client: Digital Technics (DTI)

To:

1997

Location: Baltimore, MD.

 

Duties:

Implementation of CCITT R2 telephony encoder/decoder (similar to DTMF) in Motorola 56002 assembler, based on Goertzel algorithm. 13K+ lines assembler. Deployed in the field in Asia and South America.

From:

1996

Client: VM Labs

To:

1996

Location: Los Altos, CA

 

Duties:

For this multimedia chip startup, provide detailed comments on a proprietary DSP chip architecture.

From:

1993

Client: Oculix

To:

1995

Location: Switzerland

 

Duties:

Motorola DSP 56000 assembler for numerical and FFT analysis of real-time data gathered by laser from the human eye. 150K source.

From:

1993

Client: Centigram Communications Corporation.

To:

1994

Location: Silicon Valley CA (now part of SS8 Networks)

 

Duties:

Port of speech synthesis code from TI TMS320E17 assembler to Motorola DSP 56002 assembler on Motorola PC Media card; port to Analog Devices ADSP 2115 assembler on Echo Personal Sound System.

From:

1993

Client: Atari

To:

1994

Location: Sunnyvale, CA

 

Duties:

implement physical modeling music synthesis techniques on custom RISC/DSP chip inside Jaguar. Prepare written comments on a new custom DSP architecture.

From:

1993

Client: Euphonics

To:

1993

Location: Boulder, CO

 

Duties:

For this software music synthesizer company, write C routines to emulate certain hardware elements in the target system. This allowed the company to study aspects of caching parameter updates, for optimizing real-time performance.

From:

1987

Client: Shure

To:

1988

Location: Evanston (now Niles), IL

 

Duties:

Working from the written specification for a proprietary algorithm, develop C and TI TMS 32010 assembler for a multi-channel consumer audio product prototype.

From:

1987

Client: NeXT, Inc.

To:

1988

Location: Silicon Valley, CA

 

Duties:

Developed, debugged, and documented more than 50 routines in the Motorola DSP 56000 assembler vector library (with Julius O. Smith; source 2" thick, available from SourceForge ). 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.

From:

1986 or
1987

Client: Sonic Solutions

To:

1986 or
1987

Location: San Francisco CA

 

Duties:

As one of the first consultants hired by Sonic Solutions (located in their first office in San Francisco), port their C noise-reduction code from one flavor of Unix to another.

Other experience:

  • 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.
For more information on my background, see my on-line resume. If you would like more information about how I can help you with DSP consulting, contact (Dr.) John Strawn.

Go to S Systems, Inc. Home Page Send Us E-Mail About