SEEHEAR INTRODUCTION SeeHear does frequency spectrum analysis of sampled sounds. It displays a graph of frequency in hertz (cycles per second) on the horizontal axis and time on the vertical. Successive time slices of the sound are analyzed, and at each frequency the loudness determines the pixel color. This type of analysis if commonly call a spectrogram. GETTING STARTED To run the program, double-click its icon. Don't be confused the the details of the control window which opens, just select Open from the File menu and pick a sound file (a DEMO_SOUND file is included). SeeHear recognizes IFF 8SVX format files, although any file can be interpreted as sound. SeeHear will read and play the sound before opening a 32 color 320x200 screen for analysis, so be sure to have your sound volume turned on. Some lengthy number crunching is involved especially at startup, so be patient. SeeHear will slice out a short piece of sound (0.1 s or so), play it, and scan across one line displaying its color-coded frequency spectrum. The 30 display colors are shown in 2 columns at the right, brighter colors for louder sounds. We perceive frequency as the pitch of a sound, and a steady pitch will result in a vertical line. Because of harmonics, even a single musical note will produce several lines; more complicated sounds produce more complex patterns. ANALYSIS SCREEN GADGETS SeeHear analysis may be interrupted by toggling the halt/freeway gadget at the upper right. Seehear only checks for events after each line of analysis, and so will probably not respond immediately. Once halted, one can play the sound with the loudspeaker gadget. Sound playing is controlled by three arrows at the right of the graph, for start, select, and end. These arrows are moved by selecting with the left mouse button down and releasing within the graph area. The latest arrow touched is hilited in green, and controls the play mode. Start hilited plays through to end, select hilited plays only the selected line, and end hilited plays through like start but with clicks to set off the selected line. Moving the select arrow also causes a crosshair mark to be placed on the graph, with a readout of time and frequency in the title bar. This readout includes a zoom of the 3x3 pixels at the crosshair, and bars in the color scale indicating the 3 pixels across the selected line. The frequency readout can interpolate between pixels. A file scroll gadget on the far right allows different segments of the input file to be analyzed. A window switching gadget takes SeeHear back and forth between the analysis screen and the control window on the Workbench screen. Playing the selected line only also outputs data for that line to file ram:SeeHear.temp; see the source for details. This can be used to make ordinary line graphs of the spectrum, etc. CONTROL WINDOW A control window on the Workbench screen allows many options to be adjusted. Gadgets are outlined in boxes to distinguish them from information and text. The file format gadgets allow an IFF file to be analyzed as RAW if one wants to change the sampling rate for example. Byte offsets for time zero (t0) and analysis start can be specified (t0 not with IFF). Sample rate in hertz is specified for RAW files. SeeHear uses the Fast Fourier Transform (FFT) algorithm, and takes slices that are a power of 2 in length. The FFT produces half as many frequencies as time samples; since the graph uses 256 pixels for frequency, several frequency steps may need to be averaged into one pixel, or just the lower frequencies are displayed. Multiple pixels per frequency sample are also allowed, especially for short FFTs. Frequency annotation is both in hertz and musical notes using the 12 semitone chromatic scale based on a specified middle A. Successive time slices usually step ahead less than the length of the FFT because of the need to smoothly fade in and out of the time slices to avoid analysis artifacts. Spacing of timing lines and annotation can be controlled. Smoothing uses a gaussian curve whose width is specified relative to the time step as an envelope to select the time slice for analysis so that clicks at the ends are avoided (these result in spurious frequencies). A large width effectively disables smoothing. Frequency amplitudes are mapped into 30 colors with either a logarithmic (decibel, dB) or linear (%) scale. When selecting a point for frequency readout on the analysis screen, SeeHear will search for a peak amplitude over (possibly) several pixels to enable interpolation. The sound can optionally be played before analysis, and also each time slice during analysis. A window switching gadget permits going back and forth with the analysis screen. The bottom of the control window is a message area. MENU The File/Open item brings up a file requester for the input sound file. Once selected, analysis begins immediately, so any options must be changed before opening. File/Quit has the same effect as the close gadgets. Control/Restart begins analysis using a previously opened file. AUTHOR SeeHear was written and is copyright 1989, 1990 by Daniel T. Johnson 2654 E. 25 St. Tulsa, OK 74114 and is freely distributable for non-commercial use only.