Provided by: siggen_2.3.10-11_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

Release 2.3                                        20 Feb 1998                                          swgen(1)