
Nick Porcaro: Software Engineer,
Musician, Activist
Overview
Nicholas J. Porcaro (Nick), a founder of Staccato Systems, was born in New York City
during a blizzard, and yes his father had to walk 10 miles in the snow to
get to the hospital. He received his Bachelor's Degree in Electrical Engineering
from Texas A&M university in 1984.
After that, he spent 7 years working for Tegas/Calma and Aida/Teradyne, startup
companies in the electronic design automation industry, where he participated
in the development of software for schematic editors, logic simulators, and
design language translators.
Then he spent 2 years at a Stanford-incubated geophysical software startup,
working on signal processing software related to seismic data analysis. Also
during this time, he played keyboards in various rock and jazz groups.
In 1990, he became a visiting scholar at the Center for Computer Research
in Music and Acoustics (CCRMA)
at Stanford University where he studied digital signal processing as applied
to physical modeling of musical instruments. During this time, he started
experimenting with object oriented programming on the NeXT computer, which
soon lead to an early prototype of what would later become SynthBuilder.
From 1993 to 1996, he worked as a consultant on the Sondius project, developing
SynthBuilder into a rapid prototyping tool which was used by CCRMA/Sondius
researchers to develop physical models and by composers in performances at
CCRMA concerts.
From 1996 to 2000 Nick was a founder of Staccato Systems, now a subsidiary
of ADI) where he continued to develop SynthBuilder
and use it as an internal tool for developing sound effects algorithms for
games. In June 1997 SynthBuilder won the grand prize "Golden Max"
award at the second annual International Bourges Music Software Competition.
Nick's activist work in the late 1980's included service as a volunteer with
Food Not Bombs, the Haight-Ashbury Switchboard, and the Inner
Sunset-Haight-Ashbury Polytechnic Coalition, which was planning a
community-based media center at the old Polytechnic High School site in San
Francisco. More recently he was a founder of the Ad-Hoc Committee To Defend Free
Speech in San Francisco, which lobbied city hall to preserve the city's poster
art tradition, and an organizer in RockOut
San Francisco, a direct action group concerned with the eviction of
musicians from rehearsal spaces and the closure of live performance venues.
From 2000 to 2006 Nick has worked as an independent software consultant and jazz
musician. He studied piano with Dick
Hindman, and had a regular gig playing at Caffe
Proust. He served on the board of directors of the Haight-Ashbury
Neighborhood Council and worked on a prototype for an extensible online
dictionary called the Open Dictionary.
In 2002 Nick moved to New York City to concentrate more on piano.
He studied jazz piano with Eric Lewis, Connie Crothers and also Latin jazz at Harbor
Conservatory for the Performing Arts with Pablo
Mayor.
In 2005 he started a free improv/painting collaboration with New York graphic designer Ellen Levy, which they are currently turning into animated abstract movies using Max/MSP and Adobe After Effects
Also in 2005 he started playing a regular jazz gig at the High Road Cafe in New York City with percussionist and composer Lukas Ligeti. Nick is also a visiting composer at the Computer Music Center at Columbia University by invitation of Brad Garton.
Work Experience
2000-2006 Independent Software Engineer/Musician, San Francisco, CA/New York, NY
1996-2000 Distinguished Engineer/Founder Staccato Systems, Mountain View,
CA
Staccato Systems, which was acquired
by Analog Devices was a spin-off from
the Sondius Project. The primary product
is an audio synthesis engine called SynthCore. SynthBuilder is the primary
internal tool used to create content for SynthCore, which is primarily oriented
towards game sound effects. Nick was one of 7 founders of Staccato Systems.
- Implemented synthesis
algorithms for event modeling and a virtual analog synthesizer using
SynthBuilder/SynthCore
- Ported/improved SynthBuilder
from NeXTSTEP (Objective-C) to YellowBox for windows
- Created a data-file
driven generic user interface for unit generators
- Crated a data-file
driven control surface editor for patches
- Designed and
implemented new internal graphical data structures
- Improved
drawing/memory performance
- Designed and
implemented a code generator that converted internal graphical patch
representation to the SynthCore language.
- Designed and implemented
a graphical synthesis data browser, including an envelope and partials
editor
- Developed automated
testing scripts
- Assisted in initial
development of synthesis engine
- Debugged unit
generators that were converted from DSP56000 code to C
- Assisted in
development of SynthCore language
1993-1996 Software Engineering Consultant, Sondius Project, Stanford University
The Sondius Project started at Center for Computer Research in Music and
Acoustics (CCRMA), and was sponsored by the Stanford University Office Of Technology
Licensing. The Sondius project was primarily focused on the development
of physical modeling based synthesis algorithms and a prototyping tool called
SynthBuilder, which was primarily developed by Nick. Many live demonstrations
were given at places such as UC Berkeley, the CCRMA Affiliates meetings, Xerox
Parc, and the International Computer Music Conferences in 1994-1996 were given.
In addition, many patents were associated with the
Sondius Project.
- Implemented SynthBuilder
(NeXTSTEP Objective-C)
- Started from the Grasp
prototype and the NeXT Draw example
- Extended Draw classes
to handle connections between unit generators
- Implemented sub patch
mechanism.
- Designed/implemented
unit generator inspector architecture
- Designed/implemented
interface to MusicKit API
- Fixed many bugs in the
MusicKit
- Assisted in debugging
of DSP56000 code
- Assisted in the development
of physical model algorithms for bowed strings, piano, flute, saxophone,
electric guitar, harpsichord, culminating in a demo CD which
was instrumental in securing funding for Staccato Systems.
- Assisted development of the Frankenstein
Box, a home-brew DSP56000-based special purpose hardware synthesis engine
1991-1993 Consultant/Software Engineer/Release Manager, PetroVision, Los
Altos, CA
PetroVision produced geophysical interpretation software and was funded by
the Gas Research institute. Pierre Samec, a Stanford Geophysicist was the
founder of this company.
- Assisted in C++ design of a
ray tracer, and many other aspects of the system, which included
sophisticated interprocess communication based on ISIS and a database
based on Informix and Oracle.
- Developed seismic data signal
processing modules in C/C++ based on integration of custom and public
domain algorithms into a generic graphical framework.
- In charge of implementing all
configuration management, release engineering, porting, and tape
generation systems. Used Imake, RCS, awk, sed, ed, csh, sh and other UNIX
tools.
- Developed a SEG-Y format
seismic data binary tape reader in C.
- Assisted with SUN and SGI
system tasks, such as maintenance of NIS databases, backups, window system
configuration, installation of operating systems, Informix database,
ObjectCenter compiler and Purify.
1986-1991 Software Engineer/System Administrator, Teradyne EDA/AIDA, Santa
Clara, CA
Teradyne produced electronic design automation/test software. Teradyne acquired
AIDA and Case Technology in 1988, resulting in Teradyne EDA.
- Designed and implemented a
configuration management system based on Apollo's Domain Software Engineering
Environment (DSEE). This was written in C and used the DSEE API for
building and releasing software using a sophisticated versioning scheme on
the SUN and Apollo platforms.
- Developed an EDIF (Electronic
Design Interface Format) reader/writer in C, using LEX, YACC and an
advanced internal database API called netgen.
- Developed a Sunview window
interface in C for simulation applications.
- Assisted in the development
of C program for assembly code generation for a proprietary RISC machine
used for large scale digital circuit simulation
- Development of a network
server for queuing simulation jobs.
- Converted electronic database
translator applications in C to use an improved database format.
- Planned network for a new
building, wrote an email system, OS installation system, backup system,
and assisted users with questions. SUN administration was also part of the
job.
1984-1986 Software Engineer, Calma Company, Austin, Texas
Calma produced electronic design automation software based on the Tegas simulator
- Assisted in development of
TaskMaster, which integrated the Tegas simulator into a consistent
framework
- Wrote an email system for the
Apollo network.
- Wrote a bug tracking system.
- Evaluated DSEE and made
presentations to management.
- Wrote 150 page user manual for
TaskMaster.
1983 Intern, ETA Systems, Minneapolis, Minnesota
ETA Systems was a spin-off of the Control Data Advanced Design Lab
- Wrote translators to
integrate the in-house simulator with the Mentor Workstation
Computer Languages/Systems
Proficient C, Objective-C, C++, Perl graphics/user interface
programmer, expert in NeXTSTEP/YellowBox API. A fair amount of work in Microsoft
Visual C++, some DSP56000 and C signal processing work, as well as some
Matlab. Proficient in the UNIX shell environment. Have used NeXT, Sun, Windows,
Macintosh, and VAX/VMS systems.
Education
- Developed initial prototype
for SynthBuilder.
- Developed a NeXTSTEP
application for digital phasing and flanging based on understanding of
first principles.
- Took all the digital signal
processing courses, using Mathematica for class projects, and compiled
formal transcriptions into an annotated 500 page volume.
- Took a digital effects
seminar, learned the architecture of the DSP56000 chip and experimented
with some example effects programs.
1979 to 1984: Bachelor of Science in Electrical Engineering Texas A&M
University
- Specialized in computer aided
digital system design and power systems.
Awards/Papers
- Porcaro et. al. "SynthBuilder:
A Graphical Rapid-Prototyping Tool for the Development of Music Synthesis
and Effects Patches on Multiple Platforms", Computer Music Journal
Summer 1998
- Grand prize "Golden
Max" award 1997 Bourges International Music Software Competition
- N. Porcaro, P. Scandalis, D.
Jaffe, and J. O. Smith, "Using SynthBuilder for the creation of
physical models'', in Proceedings of the 1996 International Computer
Music Conference, Hong Kong. 1996, Computer Music Association.
- N. Porcaro, W. Putnam, P.
Scandalis, D. Jaffe, J. O. Smith, T. Stilson, and S. V. Duyne, "SynthBuilder
and Frankenstein, tools for the creation of musical physical models'',
in International Conference on Auditory Display, Palo Alto, G. Kramer, Ed.
1996, Santa Fe Institute and Xerox Parc.
- N. Porcaro, P. Scandalis, J.
O. Smith, D. A. Jaffe, and T. Stilson, "SynthBuilder--a graphical
real-time synthesis, processing and performance system'', in
Proceedings of the 1995 International Computer Music Conference, Banff.
1995, pp. 61-62, Computer Music Association,
- D. A. Jaffe, J. O. Smith,
and N. Porcaro, "The Music Kit on a PC'', in Proceedings of
the First Brazilian Symposium on Computer Music, XIV Congress of the
Brazillian Society of Computation, Caxambu, Canela, Brazil, Aug. 1994, pp.
63-69, Informática UFRGS.
- Co-authored paper on an EDIF
reader, 1990 Teradyne User's Group
- AIDA Corporation employee of
the month, January 1987, January 1988.
- Coordinator Apollo User's
Society CAE special interest group, 1986
- Authored paper on Apollo Display
Manager, 1986 Apollo User's Group conference
- Donated display management
software package to Apollo User's Group in 1986.