Turning Earth Noise Into Sound:
Notes for a Future "How-to"

Eventually this will turn into a more coherent and comprehensive "how-to" guide to converting seismic data into audible sound. For now it's just notes.

Identify the events or the time window.

Go to SeismiQuery's Event Query. Enter the search parameters for the events you're looking for (date range, magnitude range, etc.). This returns a list of events (in reverse chronological order!). Depending on your search criteria, the list may be very long — consider using the "Email results" option on the query page.

Alternatively, do a search at USGS. Note that this search does not return the geographic names of epicentral region, only the lat/lon.

Define and choose your data.

To generate a list (or a map) of stations in a given network, go to Station Inventories Query. Alternatively go to Data Holdings By Station Query and, from the scrolling pane on the left, select the year and network (II).

For help, go to SeismiQuery. From there you can review their meta-data holdings by station, by network, etc. Roll mouse over the hint bar at the bottom to help you find which you're after.

To learn more about a given station (and to see a photo of it), look at the map of the IDA Network and click on a station.

To see if a given station was up and running at a particular date, go to Data Holdings by Station Query Help. In the left frame, select the year and network ("II") for the data you're interested in. Select the station from the list that appears. A calendar appears showing the up- and downtimes of the station.

If you're searching by Network, choose the year from the calendar on the right, then click on the network for that year (II = IRIS/IDA). Click on the date from the calendar that appears (it may take awhile for your browser to format the huge table. Look over the listing for the station you're interested in. Make sure the type of data you want is there (for one thing, make sure it's been QC'ed ('Q')). Also note the station code and the names of the channels. You'll need all that for your request.

Once you've selected the date range, the stations, and the data channels you want, you're ready to send off a request to the IRIS/DMC.

Note: The data holdings at IRIS are usually listed by date in MMDDYYY format, whereas SAC filenames contain the recording start date in YYYYDDD (Julian day) format. This handy converter can help you convert between the two formats.
Submit a request.

Use the BREQfast request form to generate a formatted request document. You can either submit this form directly from here, or copy and paste the text into your e-mail client. Send e-mail requests to: BREQ_FAST@iris.washington.edu.

For help with the message format, see the BREQfast manual.

Here's a sample request:

.NAME Joe Q. Artist
.INST Joe's Studio
.MAIL 12345 Main Street, Mytown, USA
.EMAIL joe@zzzzzz.zzzz
.PHONE 1234567890
.FAX 9876543210
.MEDIA: Electronic
.ALTERNATE MEDIA: Electronic
.ALTERNATE MEDIA: Electronic
.LABEL myhandylabel
.QUALITY Q
.END

PFO II 2004 12 24 00 00 00.0 2004 12 27 23 59 59.0 1 BHZ 00
BFO II 2004 12 24 00 00 00.0 2004 12 27 23 59 59.0 1 BHZ 00
WRAB II 2004 12 24 00 00 00.0 2004 12 27 23 59 59.0 1 BHZ 00

(That's a request for 4 days of broadband vertical component data from 3 IRIS/IDA stations.)

Your first e-mail response arrives almost immediately. You can either wait for a second e-mail confirming that your order is ready, or you can check the status of your order.

Download the data.

You'll receive a second e-mail when the data are ready. The e-mail will direct you to the IRIS ftp site for pickup. Go to the directory whose name corresponds to the .NAME in your BREQfast request. Download that file (we'll refer to it as "mySEEDfile").

Extract the data.

The files you receive will be in SEED format. Use rdseed to examine and extract the contents of your SEED (the rdseed code is available from IRIS; when you install rdseed, be sure also to install its corresponding man page.)

To list the contents of the SEED file, invode rdseed thus:

rdseed -c -f mySEEDfile

To extract all the data from the file and write it into SAC binary files:

rdseed -d -f mySEEDfile -Q Q -z 3 -b 20000000

In other words: dump (-d) the QC'd data (-Q Q) from mySEEDfile in SAC binary format (-o 1, the default), checking for polarity reversals (-z 3), using a bufffer size (-b) of 100000000 (the default buffersize is much smaller, causing rdseed to break up long seismograms into several smaller files).1

See man rdseed for more about rdseed's arguments, or about using it interactively.

Note

1 (060724): It appears that sometimes SEED files contain garbled quality codes. For example, when trying to extract QC'd data (either interactively or using the -Q Q option), rdseed sometimes doesn't extract all the QC'd data. It's safer to extract all the data from the SEED file and then simply delete the SAC files you don't want (e.g., /bin/rm *R.SAC).
Assemble the SAC files and convert to audio.

Your disk will now be populated with a bunch of (often discontinuous) SAC files. These files must now be "stitched" together into continuous time series (what I call "tracks") and converted to audio sound files of the desired time scaling. To make these files truly listenable, however, requires extensive further audio processing: data glitches and instrument test signals must be snipped out or heavily filtered down; the audio must be normalized, dynamically compressed, and variously filtered, torqued, tweaked, and massaged according to the signal quality of the station, the time-acceleration factor, and the desired sonic effect. (For example, if you're after microseisms, you'll want to filter out the solid-earth tides; if you're after the tides, you'll have to filter out everything above a few milliHertz.) The process is a very subjective one; I doubt it can ever be satisfactorily automated.

To generate the audio I use a program of my own design (named e, formerly SoundLab) to stitch together discontinuous segments of SAC files into continuous time sync'ed tracks and to convert them all time-accelerated audio. I wrote the program in C++ with the help of XCode. Contact me for more info.

seed2sound is a handy csh script that invokes rdseed, sorts the resulting SAC files into directories according to "track" (one track = one station/location/component), and converts each track into a continuous time-accelerated sound file (aif or wav). The latter step requires e, my SAC-to-sound conversion app. Contact me for more info.