Anderson received a BA in mathematics from Wesleyan University, and MS and PhD degrees in mathematics and computer science from the University of Wisconsin–Madison. While in graduate school he published four research papers in computer graphics.[1] His PhD research involved using enhanced attribute grammars to specify and implement communication protocols.[2]
Career
From 1985 to 1992 he was an assistant professor in the UC Berkeley Computer Science Department, where he received the NSF Presidential Young Investigator and IBM Faculty Development awards.[citation needed] During this period he conducted several research projects:
FORMULA (Forth Music Language), a parallel programming language and runtime system for computer music based on Forth.[3]
MOOD (Musical Object-Oriented Dialect), a parallel programming language and runtime system for computer music based on C++.[4] A port for MS-DOS also exists.
DASH, a distributed operating system with support for digital audio and video.[5]
Continuous Media File System (CMFS), a file system for digital audio and video[6]
Comet, an I/O server for digital audio and video.[7]
From 1992 to 1994 he worked at Sonic Solutions, where he developed Sonic System, the first distributed system for professional digital audio editing.[8]
From 1995 to 1998 he was chief technical officer of Tunes.com, where he developed web-based systems for music discovery based on collaborative filtering, acoustics, and other models.[citation needed]
Anderson was involved in Stardust@home, which used 23,000 volunteers to identify interstellar dust particles via the Web – an approach called distributed thinking. In 2007 Anderson developed BOSSA a software framework for distributed thinking,[11] using volunteers on the Internet to perform tasks that require human intelligence, knowledge, or cognitive skills.
He also developed BOLT, a framework for web-based training and education in the context of volunteer computing and distributed thinking.
Music
Since 2020 Anderson has been involved in software projects related to classical music:
Music Match is a social site where performers and composers can meet and communicate with each other.[12]
Classical Music Index is an offshoot of IMSLP in which users can rate and review compositions, and can discover compositions likely to appeal to their taste.[13]
Numula is a Python library for computer rendition of music with complex variations in dynamics, timing, articulation and pedaling, as are typical in human performance.[14]
Inventions
In 1994 Anderson invented "Virtual Reality Television", a television system allowing viewers to control their virtual position and orientation. He was awarded a patent for this invention in 1996.[15]
In 1994 he developed one of the first systems for collaborative filtering, and developed a web site, rare.com, that provided movie recommendations based on the user's movie ratings.[citation needed]
^Anderson, David; Bilmes, Jeff. "MOOD: A Concurrent C++-Based Music Language"(PDF). Archived from the original(PDF) on 2018-03-06. MOOD (Musical Object-Oriented Dialect) is a C++ class library for computer music [1]. It runs on SPARC, MIPS, and MC680x0-based UNIX machines and on the Apple Macintosh, and uses MIDI I/O. It is designed for algorithmic composition, interactive systems, and cognition research, and is well-suited to any application that needs concurrency and precise timing control. MOOD borrows many ideas from FORMULA [2].
^Anderson, David P.; Ferrari, Domenico (February 1988). "The DASH Project: an Overview". EECS Department, University of California, Berkeley. Archived from the original on 2022-08-10.