What
makes SoundFisher more powerful than other sound database management products?
All sound effects
database systems extract and store file-related attributes. These typically
include file name, creation date, and other items easily found through
the native file system, or within the header of the sound file being added;
for example, sample rate, number of channels, sample width, sample format,
file format, and duration. These extractions take trivial amounts of CPU
time. Additionally, all systems can store text descriptions (e.g., keywords,
comments, etc.), generally entered by the user after the sounds are added
to the database. SoundFisher
performs all the extractions mentioned above, but it also analyzes the
sound samples directly, computing perceptually salient features of the
sound itself. This is a CPU-intensive operation. The result is a
set of statistical approximations, referred to as a "feature vector", which
capture the spectral and amplitude characteristics of the sound itself.Benchmarks
indicate that on average, SoundFisher analyzes and adds sound to the database
at approximately 30 MB per minute on an Apple Macintosh G3 running at 300
MHz. This is roughly equivalent to 3-times real time, if you are adding
CD-quality sound files.(Note that the default segmentation preference ("None")
forces the add operation to analyze a maximum of the first 15 seconds of
each sound, which means that each sound will take no longer than roughly
5-to-7 seconds to add to the database on the benchmarked G3 system, above.
For further information about segmentation and it's affect on analysis
timing, see "What is automatic segmentation..." below.)
What
is automatic segmentation and what is the proper setting for segmentation
type?
Automatic segmentation
is the virtual subdividing of a sound file as it is analyzed and added
to the database. For each subdivision (i.e., "segment") of the input sound,
SoundFisher computes a separate feature vector containing a numeric representation
of perceptually salient qualities of the sound. (Note that the input sound
file itself is not altered in any way during the segmentation and analysis
process.) You choose the
type of segmentation you want by using the Preferences->Segmentation
Properties... menu item. You can change segmentation type any time.
Each time you invoke the Add Sounds process the specified input
sounds will be segmented and analyzed according to the current segmentation
type. A SoundFisher database can contain sounds that were added with a
variety of segmentation types, however only one segmentation type
can be applied to a given sound. (This is mainly due to a limitation in
the current product, which bars you from adding a sound to a database multiple
times.) Currently, SoundFisher
offers three types of segmentation: "None", "Silence" and "Fixed".The default,
None, treats the input sound file as a single segment. (Therefore, the
sound is really not segmented at all.) The analysis and resulting feature
vector is computed on a maximum of the first 15 seconds of the input sound
file, and this is considered to be the sound's representative (and only)
segment. This setting is appropriate for most SoundFisher databases,
which typically contain short sound-effects (1 to 15 seconds in duration)
or longer but homogenous sounds. Examples of the former include glass breaking,
gun shots, car starts, brief Foley sounds, etc. Examples of the latter
include indoor or outdoor ambiences, vehicle "pass-bys", rain on pavement,
etc.Alternatively, the Silence segmentation type will cause the Add Sounds
process to analyze the entire input sound file. Whenever SoundFisher encounters
a block of "silence" (e.g., leader) within the sound file, it effectively
pauses the analysis and generates a feature vector which describes the
sound segment that occurred between the end of the previous and the beginning
of the current leader. Silence is specified as a noise threshold, typically
-60 dB. This setting is appropriate, for example, when adding multi-take
recordings, where leader (actual silence) separates each take, or when
adding field recordings where the the sounds of interest are separated
by stretches sound whose amplitude falls below the specified noise threshold.
Lastly, the Fixed segmentation
type will cause the Add Sounds process to (virtually) chop the input sound
file into a sequence of fixed-duration segments and to produce an analysis
feature vector for each one. (You specify the segment duration.) Fixed
segmentation can be useful when adding long heterogeneous sounds that are
not broken up by leader or very low amplitude background sound.
For a detailed explanation of
each segmentation type, see "Segmentation of long files" in the
User Manual. For details about the segmentation properties associated with
each type, see "Segmentation Properties..." in the "Setting preferences"
section of the User Manual.
What sonic attributes
does a SoundFisher feature vector contain?
When you add a sound to a SoundFisher
database, the application first divides the sounds into one or more segments,
then analyzes each segment, producing a very compact description of perceptually
relevant aspects of that segment. This description is called a feature
vector. SoundFisher's analysis is a
powerful audio data reduction technique, of sorts. A SoundFisher feature
vector is a 144-byte structure. It contains statistical data (primarily,
the mean and standard deviation) for numerous acoustic and perceptual
attributes. Simply put, these attributes describe the pitch, brightness,
bandwidth and loudness characteristics of the sound.
All SoundFisher feature vectors contain
the same amount of data; they are equal sized, regardless of the duration
of the sound segment that a feature vector describes. The
feature vector consists of the computed mean and standard deviation for
each sound attribute. Therefore, the longer and more heterogeneous the
segment, the less accurately the feature vector will capture the segment's
characteristics. Put another way, the details of very long and heterogeneous
sound segments will become overly smoothed or washed out by the analysis.
For this reason, it's important for you to be at least somewhat familiar
with the sound files you are adding to SoundFisher, so that you can set
the segmentation type properly. In
general, the analysis which produces the feature vector does a good job
of representing most segments whose duration is about 15 seconds or shorter,
even if the sound within that segment varies widely. For more information
about which segmentation type to apply when adding sounds, see
"What is automatic
segmentation and what is proper setting for segmentation type?" above.
What
are "thumbnails" (proxies) and when are they used?
A thumbnail is generally a low
fidelity, possibly abbreviated, version of the original sound file added.
When adding sounds from a CD-ROM or other removable media, SoundFisher
will automatically generate a thumbnail version of each sound and store
it locally on the the same hard drive that contains the database. This
permits SoundFisher to playback a rendition of the original sounds, even
if the originals are now offline. SoundFisher
can also create a thumbnail of any sound after it has been added to the
database.
Why
doesn't SoundFisher always produce accurate results when doing a "sounds-like"
query?
SoundFisher's analysis computes
statistical representations of the sound. Therefore, by definition, it
is an approximation technique. When
SoundFisher performs a sounds-like query, it computes the distance between
each pair of properties found in two feature vectors, arriving at an approximate
(statistical) measure of similarity. In theory, the smaller the overall
distance between two feature vectors, the greater the perceived similarity
between the sounds compared. Of
course, given the approximate nature of the analysis and the comparison,
the results are not always what you would expect (or like). Sounds-like
queries can produce some puzzling results. But, more often than not, assuming
your database contains a rich and plentiful mixture of sounds, the results
can be surprisingly accurate. (We generally find that 60 to 80 percent
of the top ten sounds resulting from a query do indeed have definite and
perceptible similarities.) Producing
good sounds-like query results is dependent on many variables, not the
least of which is the number and range of sounds that you've added to the
database. The best results start occur when you have a database consisting
of at least 500 disparate sounds and when there are at least several
perceptually similar variations of each type of sound within the collection.The
worst results occur when the database contains too few sounds, or where
all of the sounds are perceptually quite similar (e.g., all of sounds
are interior recordings of train stations or of traffic on city streets),
or where none (or very few of the sounds) bear any resemblance to
each other.Sometimes you can get better
results by selecting more than one example sound. Providing the query with
multiple perceptually similar example sounds gives the search engine more
specific information about the kind of sounds you are seeking. Note however
that providing more examples does not always produce better search results.
Searching with SoundFisher is somewhat of an art: the more you do it, the
better you can get. By experimenting and playing with SoundFisher, you
will learn what kinds of sounds-like queries work best, given your particular
archive of sounds.
Can
I use or import my existing sound database with SoundFisher?
At present, SoundFisher
cannot automatically import your existing databases, however we can work
with you and customize a version of SF that does import the text fields
and file paths from your current database.
Can
I weight the importance of specific features when doing a "sounds-like"
query? For example, can I instruct SoundFisher to find sounds that are
similar to a selected sound with respect to the sound's brightness?
Currently, there is no direct
method of weighting the importance of specific features, however, SoundFisher
tries to deduce weightings by looking at the particular values of each
feature. Suppose you select an example sound that has a definite pitch.
SoundFisher will note this fact and weight pitch comparison heavily. This
search should result in other sounds that have a similar pitch content.
Or, suppose you select two perceptually similar example sounds for your
query. SoundFisher will again try to determine which features make these
two sounds perceptually similar by looking for strong correlations. So,
if the differences between the sounds' brightness characteristics (means
and standard deviations) very small, but the differences between the other
characteristics of the two sounds are large, SoundFisher's query engine
will automatically weight brightness comparisons. So,
to some extent, you can help SoundFisher weight the importance of specific
features by your choice of example sounds for the query. Sometimes
you can get better search results by combining sounds-like with other query
fields. For example, if you are looking for sounds that are perceptually
similar to the example you've selected and are less than 3
seconds in duration, you can add a query element for the specification of
duration. To build a query that combines multiple fields, use theQuery->Add Field
menu item.
Can
I "OR" queries?
No. The current version
of SoundFisher only supports ANDing query fields.
What
is a sound class?
The example sound (or sounds)
you select for a sounds-like query guides the comparison engine during
a search. When you find a sound or combination of sounds that yield good
search results, you may want SoundFisher to remember the example for future
searches. This will save you from having to manually find and select those
example sounds the next time you want to run that search. Let's
suppose you manually select one or more sounds of glass shattering and
use them as the example for a sounds-like search, and the search produces
some good results. After the search completes, click the "go to previous
database view" button (i.e., the left-pointing arrow button) in the
browser control panel. This will take you back to the view from which you
ran the search, and the example sounds will still be selected. Next, invoke
the Classes->Train Sound Class... menu item. This will open a dialog
that lets you save the example as a "class" (i.e., prototype), for subsequent
searches, whether you perform the search again in the current SoundFisher
session or in some future session. This
dialog lets you assign a name to the class. Suppose you name it "breaking
glass". The next time you set up a sounds-like query, press and hold the
mouse button on the value field of the query (i.e., the right-most component
of the Sound query). A pop-up menu will display the default menu item,
"selection", as well as any named sound classes that you have built. If
you choose the class you created above, "breaking glass", that trained
class will be used as the example that guides the subsequent search.One
of the useful side effects of creating and using sound classes is that
they remain available for queries, even if you remove the sounds that were
used to train the class. Future versions of SoundFisher may come with pre-built
sound classes that can be used to find many kinds of sounds without requiring
you to manually locate and select the example sounds.
How
does SoundFisher relate to the native file system?
When you add sounds
to a SoundFisher database, the application creates categories that match
the names of the file system folders containing those sounds. So, if you
add sounds that reside on your hard drive in a folder called "My Sounds",
SoundFisher will create a category in the database named "My Sounds" (assuming
it does not already exist) and add the sound analysis and other information
about the sounds to that category. So, after initially adding sounds
to a SoundFisher database, the categories (as displayed in the Category
View) will look identical to the folder hierarchy of the native file
system.
What
happens if I move, rename or remove a sound file from my hard drive after
it has been added to a SoundFisher database?
Like competing products,
SoundFisher does not automatically update the database if you rename, move
or remove a sound or folder from your file system. Since SoundFisher only
adds meta data to a database -- as opposed to adding the actual sound samples
-- it isn't bothered by the fact that a sound file was renamed, moved or
removed from the actual file system. You will still be able to run queries,
train classes, etc. However, if SoundFisher tries to play a sound that
was renamed, moved or removed after being added to the database, it will
display a dialog indicating that the target sound cannot be found.This
dialog gives you the options of showing SoundFisher where the original
input file is now located on the file system or, in the case of a rename,
what its new name is. If the original file was removed from the file system,
you may want to select the dialog option that removes the sound meta data
from the SoundFisher database. Note
exceptions: if SoundFisher stored a thumbnail of the original input sound,
either when it was added to the database -- as is the default when adding
sounds from a removable medium -- or later, it will simply play the
thumbnail without complaining that it cannot find the original.
You can ask SoundFisher to "resynchronize"
with the file system at any time. The File->Synchronize... menu
item will check the database for any unresolved links to sound files and
give you the options described above.
How
do I add a new sound category to a SoundFisher database? How do I move
a category (and/or the sounds within them) to a different category?
To create a new sound category
in the SoundFisher database, first select Category View in the view-type
pop-up menu. Then, invoke the Edit->New Category... menu item. This
will display a New Category dialog where you enter the new category's
name. Press the "Yes" button in the New Category dialog. The category
you specified will be created as a sub-category of whatever category was
selected prior to invoking the Edit->New Category... menu item.
If no category was selected, the new category is created under the root
(i.e., "top") category. To move an
entire category, including the sounds contained within that category, simply
drag the category (represented by a folder icon in the Category View)
and drop it on the desired category. The dragged category will now become
a sub-category of the target category (i.e., the category onto which the
original was dropped). Note that depending on how many sounds the dragged
category contains, moving it can be a time consuming operation. (We are
working on speeding up this process.) To
move one or more sounds from their current category to a different category,
make sure you are in Category View then simply select, drag and
drop the sounds to the desired category (i.e., folder icon). Again, if
you are attempting to move many sounds, this can be a time consuming operation.
How
do I send (export) a sound from SoundFisher to another application?
SoundFisher can export (send)
selected sounds to any application that responds when it receives sound
file. Before you can export sounds, you must "register" the desired applications
with SoundFisher. This is done through the Preferences->Editors/Players...
menu item, which will open a dialog. Click this dialog's Browse button
and navigate your file system to locate an application you want to use
with SoundFisher. Repeat this "Browse" process to register other
applications. (You'll probably want to register your sound editing applications
and sound players.) When you're done, close the dialog. Now,
select any sound in SoundFisher. Notice that the menu item, File-> Export
Selected Items to, allows you to choose any of the applications
you registered. Choose one. In a few seconds, SoundFisher will cause the
application to launch and open the selected sound or sounds. Please
see User Manual, section "Exporting sounds to external applications",
for details about sending sounds to particular applications (e.g., Digidesign's
ProTools).
How do I get SoundFisher and
Digidesign's ProTools to share the sound hardware?
Recent Mac releases of ProTools (5.1 LE, for example)
include a new option that prohibits other applications from sharing the Digidesign hardware
while ProTools is running. To enable sharing, turn off the Active in Background option
found in the ProTools Operations menu.
Can
I get SoundFisher with a preloaded database of commercially available sound
effects?
Not yet, but we are
working on this with some sound effect distributors. If you are the licensor
or distributor of commercial sound effects and would like to bundle SoundFisher
with them, please contact us at soundfisher@musclefish.com
|
|