****************************************************************************
 Surf                          Version 1.0                       April 1993
 --------------------------------------------------------------------------
                  WAV audio file toolbox for Windows 3.1
****************************************************************************

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ~                                                               ~
      ~     Surf is Shareware.  If you use Surf for more than 10      ~
      ~     days, you must register.                                  ~
      ~                                                               ~
      ~     You can register Surf two ways:                           ~
      ~                                                               ~
      ~     1. A License number for this version...........$15.00     ~
      ~                                                               ~
      ~     2. To have the latest version shipped to you...$20.00     ~
      ~                                                               ~
      ~                                                               ~
      ~     Print out and send in the ORDER.FRM file to register.     ~
      ~                                                               ~
      ~     Please include $2.00 for shipping outside the U.S.        ~
      ~                                                               ~
      ~     Please send checks or money orders in U.S. dollars only   ~
      ~                                                               ~
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ~                    Thanks for trying Surf!                    ~
      ~                                                               ~
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


 Introduction
 ------------

 Surf is designed to be a toolbox for modifying and editing Windows 3.1
 WAV files.  You'll need Windows 3.1 and a sound device capable of digital
 output (e.g. SoundBlaster, Pro Audio Spectrum, Adlib Gold, etc).  Regular
 Adlib cards cannot play WAV files.  There is a driver for the built-in
 speaker inside your PC that was released after Windows 3.1.  The quality
 is poor, but it is free from Microsoft.

 Surf is designed to be fun and useful.  I've tried to leave out the tech-
 nical details wherever possible.  I'm planning a much more technical 
 version if Surf is successful.  Alot of people won't understand if you
 say "inverting the sample", but if you say "sounds like playing in a
 garage", they get the idea.  I'm by no means an expert, and this is a good
 place to thank Jason Bell (my brother) and Na'im Ru for explanations,
 ideas, and even some source code.

 This is the first offical release of Surf and while a beta copy was in use
 for quite awhile, there is still one glaring limitation: Surf is currently
 limited to 8-bit monophonic sound editing.  If DEMAND for stereo or 16-bit
 work picks up, then I'll have to change things, but so far no one has made
 such requests.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                        %
 %  If you have an idea for a function for Surf, drop me a line.          %
 %  My address is:                                                        %
 %                                                                        %
 %     James Bell                                                         %
 %     PO Box 57336                           Phone: (904) 641-0634       %
 %     Jacksonville, FL  32241-7336        Internet: jb1@cis.ufl.edu      %
 %                                                                        %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 Surf is a file-based toolbox, which means that WAV files are never held
 in memory (except partially, during playback), so the only limitation on
 WAV file size is the size of your hard drive.


 Using Surf
 ----------

 To start up Surf, just copy the SURF.EXE file onto your hard drive and
 use Program Manager or File Manager to run SURF.EXE.

 You should see the Surf window appear with a status bar at the bottom.

 Choose "File...Open" and select a WAV file for editing.

 The status bar will display information about the WAV file you opened,
 and will look something like this:

 +----------------------------------------------------------------------+
 | File opened      22050 Hz (8-bit mono)     1.1 seconds (24255 bytes) |
 +----------------------------------------------------------------------+



 Interpreting the status bar
 ---------------------------

 The "22050 Hz" refers to the "Sample Rate" of the WAV file.  This is the
 number of samples that were collected in one second during recording.
 For 8-bit recordings, a "sample" is one byte.

 You can verify the numbers for playback time ("1.1 seconds") and number
 of bytes ("24255 bytes") with a little math:

          (1.1 seconds) X (22050 samples/second) = 24255 samples


 You may hear of sample rates in the kilohertz (kHz), so note that
 "1000 Hz" is the same as "1 kHz".
                           
 For various (technical) reasons the sample rate determines the highest
 frequency of sound that can be reproduced.  The sample rate must be
 twice as high as the highest frequency to be recorded or played back.

 For reference, most people's speaking pitch is below 5000 Hz, and most of
 us cannot hear tones over 20,000 Hz.  Below are some common sample rates:

  Sample Rate   Highest Freq.   Comment
  -----------   -------------   ----------------------------------------
  4000  Hz      2000  Hz        The slowest possible sample rate for
                                many common* sound devices.

  11025 Hz      5512  Hz        A common sample rate (1/4 of CD rate).

  12000 Hz      6000  Hz        Highest possible (recording) sample rate
                                for many common sound devices.

  22050 Hz      11025 Hz        A common sample rate (1/2 of CD rate).

  23000 Hz      11500 Hz        Highest possible (playback) sample rate
                                for many common sound devices.

  44100 Hz      22050 Hz        Sample rate for CD-quality sound.


                            * "common" = Creative Labs' SoundBlaster card


 Playing with Surf
 -----------------

 Once you have your sound file open, you're ready to start modifying the
 sound.

 There is a "button-bar" for easy access to many of the functions below.

 Here are some of the things you can do with Surf:

   Show      - You can view the WAV file you're working on in four ways,
               all four views scale themselves to the current window size:

               The "Current" choice on the "Show" menu is the quickest way
               to look at the sound.  It will select 1 sample out of several
               and draw it as one line on the screen.

               The "Compare" choice shows you the current sound as well as
               the previous one.  This will let you compare, for example,
               the original samples with the sound after you've added echo.

               The "Extended" choice is slow, but gives a more accurate
               picture of the sound samples.  It draws ALL the samples (on
               top of one another if necessary) in the window.

               The "Peaks only" display is probably the best mix of speed
               versus accuracy.  It shows the highest and lowest samples.
               You can also get this display by clicking with the right
               mouse button anywhere on the window.


   Play      - This (of course) plays the current sound.  You can restart
               the playback by selecting Play again before the sample
               finishes.  The playback is in the background, so you can
               continue editing while it is playing.

   Undo      - This will "undo" the last function.  After you undo, you can
               "redo" if you change your mind again.
   
   ReOpen    - This will reopen the original file you started working with,
               effectivly throwing out your changes to the file.
   
   Save      - Lets you save your all your changes to a WAV file.

   Cut/Copy  - This is where you can cut out or make a copy of some part
               of your WAV file.  You'll see a miniature version of the 
               WAV image and you just click on the image to select the
               beginning and end of the sound you want.  Then you can 
               click on "Cut" or "Copy" depending on which you want to do.
               There's also a "Test (play)" button that'll play the part
               of the sample you outlined.

   Insert/Mix- Once you've cut or copied some audio, you'll want to paste
               it in somewhere; this is how you do it.  You'll see another
               miniature image of your WAV file, and you just pick the spot
               where you'd like to put in the piece you cut or copied.
               Now you have to decide whether you'd like to mix it in or
               insert it.  If you mix, you'll be combining the audio that 
               you cut or copied with what is displayed.  If you insert,
               you'll be adding the audio you cut or copied in front of the
               point you selected.

   Copy From - This will let you copy a WAV audio file for use in inserting
               or mixing.

   Paste To  - This will let you save some audio that you cut or copied as
               a seperate WAV file.

   Add Echo  - You can add three levels of artifical echo to your samples.

               The "Short" echo repeats about every 0.15 seconds and sounds
               like talking in a large room.  This kind of echo is usually
               called "reverb".

               The "Medium" echo repeats about every 0.25 seconds and it
               sounds like the echo on a stadium P.A. system.

               The "Long" echo repeats about every 0.60 seconds and it is
               like the echo you hear if you shout from a mountaintop.

                                                                 
   Volume    - You can change the volume level of the WAV file.  You should
               take care using this - if you make the sample too loud,
               something called "clipping" happens and it sounds awful.
               Use the "Show" feature and make sure that you don't make
               the sound so loud that any samples shown reach the top of 
               the display window.
               
               If you make a sample very loud or soft, don't expect to be
               able to change the volume back and have the same sound.  It
               is similar to "washing out" the colors in a picture.  You
               should try to keep the volume as high as possible without 
               clipping.  Check the display after each function to make
               sure the volume isn't too loud or soft.

               Take a WAV file and play around with the volume, it is useful
               to see what it looks and sounds like at each step.
   
   Continuous
   Play      - Plays the current sound over and over.  Surf will shrink to
               an icon during playback.  When you double-click on Surf's
               icon, it stops playing.

   Smooth    - Attempts to "even out" sharp changes in consecutive samples.
               This sort of "dampens" the sound, making it sound like it
               was played in the next room or under a blanket.

   Hiss      - (Removing) Sets samples that are nearly "silent" to silence.
               This has the effect of removing the hiss that can be heard
               during long peiods of silence.  The Heavy, Medium, and Light
               levels reflect what samples Surf will consider to be
               "nearly-silent".  Note that if many samples are "silenced",
               it can make the speaker "pop" during playback.  What happens
               is that once the smaller samples are removed, the larger ones
               that are left tend to "pop" the speaker abruptly.  This can
               sometimes be worse than the hiss you were removing!  You'll 
               hear what I mean if you try this on a few sounds.

               (Adding) This adds random values to the samples of the sound,
               effectively creating hiss.

   Chorusing - This is bit like a varying echo.  The idea is to add layers 
               of slight echo to give the impression that a "chorus" is 
               present instead of a single sound source.  "Medium" effect 
               usually has the best results.  Try doing this function 1-3
               times, each on top of the last.  With a suitable sample, it
               really can sound like a chorus.

   Inversion - This produces a sound like speaking in a room with concrete
               walls.  It's quite a bit like playing the sample in a garage.
               Even more so if you Invert the sound a second or third time.

   Phazer-
   Chorus    - This is something of a mix between a phaser and the chorus
               function.  Like inversion, it only sonds good with some
               samples, others sound awful.

   Sample
   Rate      - This is probably the most fun to play with.  You can change
               the rate at which the samples are played.  This will slow 
               down or speed up the pitch and length (timewise) of the 
               sound.  As mentioned above, you should keep sample rates 
               between 4000 Hz and 23,000 Hz.

   Shrink
   Audio     - This can let you save some space with longer samples.  What
               it does is remove every fourth sample and then decrease the
               sample rate by 25%.  With some WAV files there is only a 
               slight loss in quality, even when the file is "shrunk" 
               2-3 times.  You'll have to decide if this quality-for-space 
               tradeoff is useful for your files.

   Reverse   - This simply reverses the order of the samples in the WAV
               file, so your audio is backwards.  Note that this function
               is SLOW, so don't use it on some huge WAV file unless you're
               prepared to wait a little while.



  Registering Surf
  ----------------

  Remember, if you find yourself "just playing around" with Surf for fun,
  you should register -- that's what it was designed for!
  
  You can register and get a license number for Surf in two ways:

    1. Send me $15.00 and I'll send you a license number.

      -OR-

    2. Send me $20.00 and I'll mail you a copy of the latest version.


  Once you enter your license number, you won't have to see that 
  registration reminder every so often, and your license will be valid 
  for all future versions of Surf.

  Please send your registration as:

    a) a check in U.S. dollars (drawn on a U.S. bank)

    b) a money order (e.g. Canadian postal, Bundepost, etc.)

  Obviously you can send U.S. currency, but I don't want to be responsible
  if the money gets "lost" on the way (although this has NEVER happened in
  the past).

  Print and fill-out the ORDER.FRM file and send to:

             James Bell
             PO Box 57336
             Jacksonville, FL  32241-7336

  Questions?  My Internet e-mail address is: jb1@cis.ufl.edu.

  Prices are subject to change.


  The Future for Surf
  -------------------

  Functions & features planned for later releases of Surf:

  * Pitch adjustment WITHOUT changing the length of the playback time.
    In other words, shifting the frequencies up or down using Fourier
    transform.  This function is already working in many ways, but still
    needs some time.

  * Stereo and over 8-bit support.

  * A specialized function to modify a WAV file so that it will sound
    better when played through the Windows 3.1 PC-Speaker driver.
    I'm open to ideas on just how to do this, anyone got any?

  * Converting mono into "pseudostereo" by putting right channel 
    slightly out of phase with left.

  * Better noise reduction (also using Fourier transform mentioned 
    above).  Ideally, giving you a digital graphic equalizer.

  * Perhaps some conversions from SND, VOC, AU, etc. formats to WAV.
  
  Please don't hesitate if you have other ideas for this list, call me!


  About Surf
  ----------

  Surf was created with QuickC for Windows and the Windows 3.1 SDK.  Surf is
  roughly 3000 lines of code.

  Surf is my second "major" Windows program.  I also wrote Statline, a handy
  little status bar for Windows 3.x.  Statline can show you the date, time,
  free memory, free system resources, etc.  It can also launch programs,
  exit Windows quickly, keep a mini notepad, and more.  You can register 
  both Statline and Surf together, see the ORDER.FRM file or call me for 
  details.  End of plug.

  New versions of Surf (and all my software) get posted first to:

  - The Blue Ridge Express BBS: (804)790-9600 (join the "jbell" area)
  - Internet at: wuarchive.wustl.edu and ftp.cica.indiana.edu

  By the way, it has been noted that any sound editing/playback tool has 
  the potential to damage either the user's hearing or playback equipment.
  For example, a sound could have the volume increased to a large amount, 
  then be played back through an amplifier.  The amp could conceivably 
  "blow" the speaker or damage the eardrum.  I will not be held liable for 
  this sort of mishap, even if the sound was a result of a Surf function.

  Free registration to the first (and only the first) person who can tell 
  me the origin of the following phonetics: "eh ick nowie ooh snuif maset".


  About Me
  --------

  I have a BS in Computer Information Science from the University of Florida
  and am currently working as a Software Consultant.  If your company needs 
  an experienced Windows (3 years) or DOS (5 years) programmer, consider 
  hiring me.  

  If you are a programmer yourself, consider contacting me.  I'm giving 
  quite a bit of thought to forming a "Shareware alliance" of several 
  programmers under a single roof.  If you're spending more time sending out 
  orders than programming, maybe this will interest you.
  

  Thanks for using Surf

  James Bell                                                        04/24/93



P.S. Surf is Copyright 1992,1993 James Bell
     "Windows" and "QuickC" are TM Microsoft Corp.
     "SoundBlaster" is TM Creative Labs Inc.
     Other trademarks mentioned are the property of their respective owners
