Provided by: siggen_2.3.10-9_amd64 bug

NAME

       sweepgen - an Ncurses based sweep generator program

SYNOPSIS

       sweepgen [options]

DESCRIPTION

       sweepgen  is  a  simple  sweep  signal  generator program, with an Ncurses based user interface, that can
       digitally generate waveforms on the LINUX /dev/dsp  device.   8  or  16  bit  samples  can  be  generated
       depending on the hardware.

       sweepgen  in  MONO mode outputs the generated swept waveform. In STEREO mode the swept waveform is output
       on one channel, and the sweeping waveform is output on the second channel.

       The sweeping frequency is  by  default  specified  as  an  integer  number  of  Hertz.  Fractional  Hertz
       frequencies,  specifiable  to  0.1Hz  or 0.01Hz resolution, are supported by use of the -res command line
       option, or the resolution parameter in the configuration file(s). However be warned at  0.1Hz  resolution
       the basic waveform sample buffers generated are each 10 times (and at 0.01Hz resolution 100 times) as big
       as the samplerate. It typically requires 5.5Mbytes of memory to run  at  0.1Hz  resolution,  16bit  32000
       samples/sec.  and  55Mbytes of memory to run at 0.01Hz resolution. Because of the large buffer sizes, the
       initial waveform calculation time can also  be  lengthy.   Remember  also  that  the  waveforms  are  re-
       calculated whenever the playing parameters, 8/16bit, mono/stereo, samplerate are changed.

       The  swept  waveform  frequencies  are  specified  either  as a lower and upper frequency, or as a centre
       frequency with a frequency variation.

       1000 500
              would signify a range of 1000-500 Hz to 1000+500 Hz, i.e. 500 to 1500 Hz

       Of course, only frequencies less than half the samplerate  (number  of  samples/sec)  can  be  generated.
       Although this is not checked.

       The waveforms that can be used as either the sweeping or swept signals are:

       sine   A standard sine wave

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

       triangle
              a linear rise from 0 to peak, thru' 0 to negative peak, and back to 0

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

       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.

       pulse  A square waveform where the mark/space ratio (as a percentage) is 10% (mark/space ratio of 1:9).

       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.

       At 1Hz resolution, sweepgen generates one seconds worth of 1 Hz samples at the specified samplerate,  for
       each  waveform, and generates sweeping frequency F by circularly sampling every Fth sample. These samples
       are scaled to fit the swept frequency range and are used to sample the swept  waveform  to  generate  the
       swept  signal.   Each  buffer  fragment is generated for the parameter(s) set at that moment. By default,
       buffer fragment sizes are set so that aprox.  10  fragments/sec  are  generated.  Changing  a  generation
       parameter,  e.g.  waveform,  frequency, will impact the next buffer fragment generated, and hence changes
       appear to be almost immediate.

       If your sounds periodically 'breaks' up with clicks or breaks, it is usually a sign that  siggen  is  not
       being  scheduled  sufficiently often. Either up the priority (see nice et al.), kill off other processes,
       get a faster processor, or increase the number of audio buffer fragments that siggen uses. This last will
       make  siggen  respond  more  sluggishly  to  changes in generation parameters.  syslogd and crond are two
       processes that I've found useful to kill off - YMMV.

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

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.

       siggen -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.

       sweepgen  looks  for  configuration  values  BUFFERSPERSEC,  CHANNELS,  DACFILE,  FRAGMENTS,  RESOLUTION,
       SAMPLERATE, SAMPLESIZE, VERBOSE, VI_KEYS.

       BUFFERSPERSEC
              The  aprox.  number  of  sound buffer fragments to play every second (Sound buffersize is always a
              power of 2).

       CHANNELS
              sets the number of channels, mono or stereo.

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

       FRAGMENTS
              The number of Audio Buffers to configure in the driver.

       RESOLUTION
              The minimum change possible to the frequency setting. Only 3 values allowed: 1Hz , 0.1Hz or 0.01Hz

       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.

       VI_KEYS
              if set then the VI cursor moving keys "HJKL" are enabled

OPTIONS

       -h     display usage and help info

       -v     be verbose

       -s samples
              generate with samplerate of samples/sec

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

       -1|-2  mono or stereo mode

       -res n set resolution of frequency generation. Valid values are: 1Hz, 0.l1Hz or 0.01Hz

EXAMPLES


FILES


SEE ALSO

       swgen, signalgen, siggen, tones

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