EnglishFrenchSpanish

OnWorks favicon

swgen - Online in the Cloud

Run swgen in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command swgen that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

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.

Use swgen online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Firebird
    Firebird
    Firebird RDBMS offers ANSI SQL features
    & runs on Linux, Windows &
    several Unix platforms. Features
    excellent concurrency & performance
    & power...
    Download Firebird
  • 2
    KompoZer
    KompoZer
    KompoZer is a wysiwyg HTML editor using
    the Mozilla Composer codebase. As
    Nvu's development has been stopped
    in 2005, KompoZer fixes many bugs and
    adds a f...
    Download KompoZer
  • 3
    Free Manga Downloader
    Free Manga Downloader
    The Free Manga Downloader (FMD) is an
    open source application written in
    Object-Pascal for managing and
    downloading manga from various websites.
    This is a mirr...
    Download Free Manga Downloader
  • 4
    UNetbootin
    UNetbootin
    UNetbootin allows you to create bootable
    Live USB drives for Ubuntu, Fedora, and
    other Linux distributions without
    burning a CD. It runs on Windows, Linux,
    and ...
    Download UNetbootin
  • 5
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM is an easy to use
    ERP and CRM open source software package
    (run with a web php server or as
    standalone software) for businesses,
    foundations...
    Download Dolibarr ERP - CRM
  • 6
    SQuirreL SQL Client
    SQuirreL SQL Client
    SQuirreL SQL Client is a graphical SQL
    client written in Java that will allow
    you to view the structure of a JDBC
    compliant database, browse the data in
    tables...
    Download SQuirreL SQL Client
  • More »

Linux commands

Ad