Provided by: siggen_2.3.10-9_amd64 bug

NAME

       swgen - a simple swept frequency signal generator

SYNOPSIS

       swgen [-2] [-s samples] [-8/-16|-b 8/16] [sweepwaveform]
              sweepfreq [sweptwaveform] minfreq maxfreq

       swgen [-2] [-s samples] [-8/-16|-b 8/16] [sweepwaveform]
              sweepfreq [sweptwaveform] centrefreq percent%

       waveform, either sweep or swept,
              is sine, cosine, square, triangle, sawtooth, noise

       for full list of options see below.

DESCRIPTION

       swgen generates a swept frequency waveform on the LINUX /dev/dsp device. The swept and sweep waveform can
       be separately specified, as can the sweep frequency range and the sweeping  frequency.   Sweep  frequency
       range  can  be specified either by giving the minimum (start) and maximum (end) frequency in Hertz; or by
       giving the centre frequency and the percentage frequency variation below and  above.  The  percentage  is
       given as an integer value from 0 to 100.

       The  default  sweep  waveform  is  a  sawtooth  (ramp),  and the default swept waveform is a sine. If the
       soundcard can do 16 bit samples, swgen will do 16 bit by default.

       8 or 16 bit samples can be generated, in mono or  stereo.  In  stereo,  one  channel  carries  the  swept
       frequency  signal,  while the second channel carries the sweeping signal. This can be useful fed to the X
       input of an oscilloscope when displaying frequency response curves etc.

       The samples can be written in raw or WAV format to files instead of to the sound device.

       The frequency is specified as  an  integer  number  of  Hertz.   Fractional  Hertz  frequencies  are  not
       supported.  Of  course,  only  frequencies  less  than half the samplerate (number of samples/sec) can be
       generated.

       The waveforms that can be generated are:

       sine   A standard sine wave

       cosine a sine wave with a 90 degree phase shift

       square a standard square wave with a 50% mark space ratio

       sawtooth
              a ramp waveform with 'infinitely' fast flyback (:-) An ideal oscilloscope timebase signal.

       triangle
              shaped like equally spaced teeth on a saw (:-)

       noise  This is weak. All it consists of is  one  second  of  pseudo-randomly  generated  samples,  played
              repeatedly. I'd love to do proper white/pink noise, but I don't know enough, and I don't think the
              structure of the program is conducive to accurate noise generation.

       swgen creates one second's worth of generated output in a buffer and plays the buffer  repeatedly,  until
       it is terminated.

       A  lot  of thought has gone into the algorithms for generating the waveforms.  I believe the sin/cos wave
       to be very pure (modulo your sound card :-), but I don't have access to a THD meter to  measure  it.  For
       best  signal accuracy NEVER use the gain factor option (-A). The generator will then make the wave's peak
       value fit the maximum digital values allowed. Use a mixer program to control the  output  volume,  or  an
       external attenuator.

       The gain factor option can be useful for simulating a signal that has been subject to clipping. Specify a
       gain of > 100%. In fact a trapezoid signal can be made by  generating  a  clipped  triangular  wave.  The
       greater the gain, the closer the signal approaches a square wave (the rise and fall times decrease).

       Defaults
              output to /dev/dsp, 22050 samples/sec, mono, 16 bit samples if possible, else 8 bit.

OPTIONS

       -h     display usage and help info

       -v     be verbose

       -f,-a  force overwrite/append of/to file.

       -C file
              use "file" as the local configuration file (see below).

       -o file
              write digital sample to file ('-' is stdout)

       -w file
              as '-o' but written as a WAVE format file. -a (append) is not valid with this option.

       -s samples
              generate with samplerate of samples/sec

       -8/-16 or -b 8|16
              force 8 bit or 16 bit mode.

       -1,-2  mono (def), or special stereo mode (see above).

       -A n   scale samples by n/100, def. n is 100 (i.e. percentage of full scale output)

       -t N|Nm
              generate output for either N secs or Nm millisecs only.

       -x10 or -x100
              Scale frequencies down by a factor of 10 or 100. This allows fractional Hz values to be generated.
              See EXAMPLES below for its use. It is a Kludge.

EXAMPLES

       swgen -v 2 100 1000
              sweep a sin wave from 100Hz to 1000Hz using a sawtooth wave twice a second, at 22050  samples/sec,
              16bit samples on 16 bit card, 8 bit samples on an 8 bit card.

       swgen -v -s 44100 -w sweep.wav 2 100 1000
              as  above  but  at  a  samplerate  or  44100/sec  and save one second of samples as a WAVE file in
              sweep.wav

       swgen -v -2 squ 10 1000 20%
              generate a sine wave switched by a 10Hz squarewave between 800Hz and 1200Hz.  The swept signal  is
              on one channel and the 10Hz square wave is on the second channel.

       swgen -v -x10 5 4400 4500
              generate  a swept sine wave from 440Hz (4400/10) to 450Hz (4500/10), being swept at a frequency of
              0.5Hz (5/10). Yes it's a royal pain remembering to scale all freqs. up by a factor of  10,  but  I
              needed it in a hurry and didn't have time to do it better.

CONFIGURATION FILES

       Three  possible  configuration  files  can be used: a LOCAL config file (usually in current directory), a
       HOME config file in user's $HOME directory and a GLOBAL config file.

       All the siggen suite of programs are compiled with the names of the config files built in. By default the
       configuration files are:

       ./.siggen.conf
              is the LOCAL config file.

       $HOME/.siggen.conf
              is the HOME config file.

       /etc/siggen.conf
              is the GLOBAL config file.

       swgen -h
              will indicate which config files will be searched for.

       The  config  files  do  not  have  to exist. If they exist and are readable by the program they are used,
       otherwise they are simply ignored.

       The config files are always searched for configuration values in the  order  LOCAL,  HOME,  GLOBAL.  This
       allows  a scheme where the sysadmin sets up default config values in the GLOBAL config file, but allows a
       user to set some or all different values in their own HOME config file, and  to  set  yet  more  specific
       values when run from a particular directory.

       If  no  configuration  files exist, the program provides builtin default values, and most of these values
       can be set by appropriate command line switches and flags.

       See siggen.conf(5) for details of the configuration files.

       swgen looks for configuration values CHANNELS, DACFILE, SAMPLERATE, SAMPLESIZE, VERBOSE.

       CHANNELS
              sets either mono or stereo mode like the '-1|-2' options.

       DACFILE
              allows the name of the DAC/DSP/PCM device to be changed from /dev/dsp

       SAMPLERATE
              sets the number of samples/sec for the DAC device

       SAMPLESIZE
              sets whether 8 or 16 bit samples to be generated

       VERBOSE
              sets whether or not to run in verbose mode.

SEE ALSO

       siggen.conf(5)

BUGS


COPYING

       Copyright 1995-2008 Jim Jackson

       The software described by this manual is covered by the GNU General Public License, Version 2, June 1991,
       issued by :

              Free Software Foundation, Inc.,
              675 Mass Ave,
              Cambridge, MA 02139, USA

       Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice
       and this permission notice are preserved on all copies.

       Permission is granted to copy and distribute modified versions of this manual under  the  conditions  for
       verbatim  copying,  provided  that  the entire resulting derived work is distributed under the terms of a
       permission notice identical to this one.

       Permission is granted to copy and distribute translations of this manual into another language, under the
       above conditions for modified versions, except that this permission notice may be included in translation
       instead of in the original English.

AUTHOR

       Jim Jackson

       Email: jj@franjam.org.uk