Welcome to FASTLab
FASTLab is a software development, system
integration, and
engineering consulting firm based in
Santa Barbara
California. Our main competencies are in the areas of:
- Numerical/scientific/financial
software development;
- Object-oriented analysis and
design methods and processes;
- Multimedia signal analysis,
synthesis,
and
processing;
- Network distributed systems for
fault-tolerance and load-balancing;
- Cross-platform software from
server farms to mobile platforms;
- Microcontroller-based sensor
processing hardware/software; and
- Multimedia-related patent
analysis and expert
witness
services
Application Portfolio
CREATE Real-Time Applications
Manager
The CREATE Real-time Applications Manager--CRAM--is a framework for
developing, deploying, and managing distributed realtime software. It
has evolved through three implementations over the space of five years.
The background of CRAM is the work done since the early 1990s on
distributed processing environments (DPEs), which started in the
telecommunications industry. A DPE generally consist of at least three
components: a node manager, a service interface, and a system manager.
The node manager is a simple daemon (a stand-alone program) that is
assumed to be running on each computer that the DPE intends to manage.
Node managers accept commands from the network application manager to
start/stop/monitor remote services. A DPE service interface is a simple
set of functions that applications need to implement in order to be
managed by a DPE. The third component is the system manager; it uses
node managers to start the components of a distributed application. DPE
systems often use databases to describe network hardware facilities and
applications.
CREATE Signal Library
The CREATE Signal Library (CSL) is a portable general-purpose software
framework for sound synthesis and digital audio signal processing. It
is implemented as a C++ class library to be used as a stand-alone
synthesis server, or embedded as a library into other programs. CSL is
a simple yet powerful library of sound synthesis and signal processing
functions. It is packaged as an object-oriented class hierarchy for
standard DSP and computer music techniques, and is suitable for
integration into existing applications, or use as a stand-alone
synthesis/processing server. CSL is similar to the JSyn,
CommonLispMusic, STK, and Cmix frameworks in that it is integrated as a
library into a general-purpose programming language, rather than being
a separate “sound compiler” as in the Music-N family of languages.
Expert
Mastering Assistant (EMA)
Several of our products involve the FASTLab
Music Analysis Kernel
(FMAK), a comprehensive library for music information retrieval (MIR).
As an example of its scope, FMAK was used as the core of the Expert
Mastering Assistant (EMA) program we
developed under contract from
Panasonic. The goal of EMA is to assist in the remastering of stereo
CD-based music to higher-resolution surround-sound formats. The
EMA system analyzes a musical selection and classifies
it using more than 100 parameters within a detailed genre database. In
the next stage, a rule-based
expert system compares the recording and production of the current
selection to that
of its genre, and proposes high-level mapping parameters (dark/bright,
loose/tight, narrow/wide, small/large, and focused/diffuse) for the
remastering. Finally, mastering signal processing (e.g., gain control,
equalization, reverb, and dynamic-range processing) can be done in
real-time with high-level and low-level interactive control. A screen
shot of the EMA application's main display is shown below.
Other applications of this kind of
analysis-classification-processing-display software include music
finger-printing, summarization/thumb-nailing, content-based search
engines, smart players, speaker identification, and post-production for
streaming or broadcast. The white papers available below describe FMAK
and the other FASTLab, Inc. technologies.
Siren Music/Sound Framework in Smalltalk
The Siren system is an open-source general-purpose software framework
for sound and music composition and production; it is a collection of
about 375 classes written in the Smalltalk programming language and
intended for use with for the VisualWorks Smalltalk system. Siren
includes cross-platform support for MIDI and audio I/O. There are
several elements to Siren:
- the Smoke music representation language (music magnitudes,
events, generators, functions, and sounds);
- voices, schedulers and I/O drivers (real-time and file-based
voices, sound and MIDI I/O);
- user interface components for musical applications (UI tools and
widgets);
- several built-in applications (editors and browsers for Siren
objects);
- interfaces to external C or C++ code for audio/MIDI streaming
I/O, and analysis/synthesis packages such as CSL and Loris
SoLaTi Music Recommender System
SoLaTi is a content-based music recommender system based on the FMAK
framework. Given a database of musical songs (such as a large iTunes
collection), SoLaTi analyzes the songs and "listens" to them, recording
a set of over 100 features in a database for later use. the recommender
system then takes one or more target songs and creates a playlist of
similar songs.
JUCE-based Audio Signal Processing Tools
We have developed a suite of audio signal processing tools in C++ using
the JUCE
framework. These include simple signal generators as well as more
sophisticated analysis/resynthesis packages that use the Fourier
transform, linear predictive coding, and other techniques.
Music-to-Frets Music Transcription System
Unsupervised music transcription has long been one of the "holy grail"
tasks in audio signal analysis. The FASTLab Music-to-Frets application takes a
mixed MP3 file and applies a variety of signal analysis techniques and
data mining expert systems to create a MIDI output file with several
versions of a simplified score of the given song, appropriate for use
in a "guitar hero" style video game. The screen shot below shows the
debugging GUI in which the top pane displays the audio signal (in light
blue) along with the outputs of a family of onset detectors (small
colored vertical lines), beat detectors (longer vertical lines), and
note-steady-state detectors (horizontal bars along the top of the
pane). The four panes in the middle of the screen are the resulting
scores for the four levels of user (expert at the top to novice at the
bottom).
BeastBox Voice-to-Drum Replacement Framework
Drum-replacement software scans a recorded drum recording and identifies the individual notes (drum
or cymbal hits) in order to derive a "score" that can be used by a sampler to resynthesize the drum
part using (better-recorded) drum sample libraries.
In the FASTLab BeastBox framework, we have built a voice-input drum replacement tool that analyzes
"beat box" style voice input and classifies the results accordinfg to the uesr's choise of a library
of drum (or melody) instrument samples.
The view below shows the BeastBox test tool, in which the top pane shows the input sound and the detected note onsets.
The missle view shows the resynthesized drum sounds, and the parameters of the input sound (e.g., pitch, spectral
centroid, spectral band, etc.) the bottom pane is the spectrum of the input sound, and the input widgets at the
bottom of the view control the parameteric and rule-based expert system that serves as the note
classifier.
The before and after sound examples below the screen shot illustrate the process on an early test example.
Before: beat box voice input
BeastBox input sound
After: resynthesized drum track
BeastBox output sound
Binaural Sound Playback using Head-Related Transfer Functions
There are several popular techniques for creating 3D-spatialized surround sound. The most efefctive method for use with
headphone output
involves computing the exact echoes that would be produced by a sound source at the desired location: the so-called
Head-Related Transfer Function or HRTF. Computing these functions in real time used to require expensive custom hardware,
but can now be done on a lap-top or even a mobile device. The FMAK HRTF player is a development tool for HRTF-based media
players or games that allows the user to select from a collection of measured HRTFs for different heads, and to test the
accuracy of the 3D spatial sound using sound sample playback that can be positioned anywhere (or set on a trajectory of
motion) in the simulated 3D space.
Please feel free to contact us with questions on any of these systems.
Downloads (PDF files)
Contacting FASTLab, Inc.
FASTLab, Inc.
220 Santa Anita Rd.
Santa Barbara, CA, 93105 USA
Tel: (805) 895-6252
Email: info - at - fastlabinc.com
Related
Sites