debian/0000755000000000000000000000000011727605552007200 5ustar debian/rules0000755000000000000000000000203011727407430010246 0ustar #!/usr/bin/make -f # debian/rules for siggen. # Written by Jens Peter Secher . # General compile options. cflags := -g ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) cflags += -O2 else cflags += -O0 endif build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: $(MAKE) CFLAGS="$(cflags)" tones signalgen swgen siggen sweepgen fsynth soundinfo smix touch $@ install-stamp: build dh_testdir dh_testroot dh_prep cp -f $(CURDIR)/sgen.1 $(CURDIR)/signalgen.1 dh_installman dh_install touch $@ binary-indep: binary-arch: install-stamp dh_testdir dh_testroot dh_installdocs dh_installchangelogs CHANGES dh_installexamples dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch clean-patched: dh_testdir dh_testroot -rm -f $(CURDIR)/*-stamp rm -f $(CURDIR)/signalgen.1 $(MAKE) clean dh_clean clean: clean-patched .PHONY: binary binary-indep binary-archbuild build clean clean-patched debian/siggen.install0000644000000000000000000000010411727351060012027 0ustar tones signalgen swgen siggen sweepgen fsynth soundinfo smix usr/bin debian/siggen.examples0000644000000000000000000000001311727351060012176 0ustar tones.eg/* debian/siggen.manpages0000644000000000000000000000013211727351060012155 0ustar fsynth.1 siggen.1 signalgen.1 smix.1 soundinfo.1 sweepgen.1 swgen.1 tones.1 siggen.conf.5 debian/changelog0000644000000000000000000000457711727605311011060 0ustar siggen (2.3.10-5) unstable; urgency=low * new maintainer (closes: #628941) * debian/rules: remove explicit patch targets * debian/rules: replace dh_clean -k by dh_prep * debian/rules: build-arch and build-indep introduced * debian/rules: standard moved to 3.9.3 (no changes) * debian/watch: added, but not working with upstreams website * debian/control: dependency on quilt removed * debian/control: no public vcs available * debian/control: moved to dh 9 * debian/patches: add header * debian/source/format: 3.0 (quilt) introduced -- Thorsten Alteholz Tue, 13 Mar 2012 18:51:09 +0100 siggen (2.3.10-4) unstable; urgency=low * QA upload * Fix identifier name conflict on freebsd -- Christoph Egger Tue, 29 Nov 2011 15:29:26 +0100 siggen (2.3.10-3) unstable; urgency=low * QA upload. * Fix "please make siggen depends on oss-compat": add oss-compat to Depends; thanks to Michael Tsang and Daniel T Chen. (Closes: #628590) * Fix "FTBFS on !linux-any": add patch non-linux-diff from Samuel Thibault. (Closes: #636809) * Fix "typo in package description"; thanks to Davide Prina. (Closes: #628985) * Add {misc:Depends} to Depends:. * Set Maintainer to Debian QA Group (cf. #628941). -- gregor herrmann Tue, 29 Nov 2011 18:28:42 +0100 siggen (2.3.10-2) unstable; urgency=low * Fix segmentation fault on amd64, thanks to Jim Paris. (Closes: #522461) * Use quilt instead of dpatch for patches, and describe how to use quilt in Debian.source (thanks to Russ Allbery). * Added a Vcs-Hg control filed to indicate the location of the public repository. * Bumped the Standards-Version to 3.8.1. -- Jens Peter Secher Sat, 04 Apr 2009 22:57:38 +0200 siggen (2.3.10-1) unstable; urgency=low * New upstream release. (Closes: #470767) * Removed patches which are now included upstream. -- Jens Peter Secher Mon, 12 May 2008 22:05:48 +0200 siggen (2.3.9-2) unstable; urgency=low * Rename sgen to signalgen since Mono already has an executable called sgen. (Closes: #475963) -- Jens Peter Secher Sat, 26 Apr 2008 12:13:21 +0200 siggen (2.3.9-1) unstable; urgency=low * Initial package. (Closes: #469993) -- Jens Peter Secher Sat, 08 Mar 2008 10:43:46 +0100 debian/siggen.docs0000644000000000000000000000004011727351060011310 0ustar CONFIG.VALUES README.tones TODO debian/patches/0000755000000000000000000000000011727604372010626 5ustar debian/patches/spelling.patch0000644000000000000000000003312211727604372013465 0ustar Description: correct spelling (Lintian info) Author: Thorsten Alteholz Index: siggen/fsynth.1 =================================================================== --- siggen.orig/fsynth.1 2012-03-12 16:27:23.000000000 +0100 +++ siggen/fsynth.1 2012-03-13 09:21:12.000000000 +0100 @@ -10,7 +10,7 @@ 8 or 16 bit samples can be generated depending on the hardware. .PP .I siggen -allows two independant waveforms to be generated. +allows two independent waveforms to be generated. In stereo the two signals appear on different channels. In mono the two signals are digitally mixed onto the one mono channel. .PP @@ -49,7 +49,7 @@ control the output volume, or an external attenuator. .PP The gain factor option can be useful for simulating a signal that has been -subject to clipping, by specifing a gain of > 100%. In fact a trapezoid signal +subject to clipping, by specifying a gain of > 100%. In fact a trapezoid signal can be made by generating a clipped sawtooth wave. The greater the gain, the closer the signal approaches a square wave (the rise and fall times decrease). Index: siggen/siggen.1 =================================================================== --- siggen.orig/siggen.1 2012-03-12 16:27:23.000000000 +0100 +++ siggen/siggen.1 2012-03-13 09:21:12.000000000 +0100 @@ -10,7 +10,7 @@ 8 or 16 bit samples can be generated depending on the hardware. .PP .I siggen -allows two independant waveforms to be generated. +allows two independent waveforms to be generated. In stereo the two signals appear on different channels. In mono the two signals are digitally mixed onto the one mono channel. .PP @@ -57,7 +57,7 @@ control the output volume, or an external attenuator. .PP The gain factor option can be useful for simulating a signal that has been -subject to clipping, by specifing a gain of > 100%. In fact a trapezoid signal +subject to clipping, by specifying a gain of > 100%. In fact a trapezoid signal can be made by generating a clipped sawtooth wave. The greater the gain, the closer the signal approaches a square wave (the rise and fall times decrease). @@ -140,7 +140,7 @@ The aprox. number of sound buffer fragments to play every second (Sound buffersize is always a power of 2). .IP CHANNELS -sets the number of channels, see '-c' option. +sets the number of channels, see '\-c' option. .IP DACFILE allows the name of the DAC/DSP/PCM device to be changed from /dev/dsp .IP FRAGMENTS Index: siggen/siggen.conf.5 =================================================================== --- siggen.orig/siggen.conf.5 2012-03-12 16:27:23.000000000 +0100 +++ siggen/siggen.conf.5 2012-03-13 09:21:12.000000000 +0100 @@ -101,7 +101,7 @@ tones can generate different waveforms before mixing them into the one output channel. .IP -For fsynth, channels specifies the numbers of seperately +For fsynth, channels specifies the numbers of separately configurable oscillators used to mix the single output channel. .I .IP DACFILE @@ -115,7 +115,7 @@ The interactive programs respond to changes made to parameters from the keyboard immediately, but data will be buffered in the driver in the buffer fragments. If the amount of data buffered -is too much then there will very noticable delays before +is too much then there will very noticeable delays before the output sound is altered. Against that, insufficient buffering may mean that there is not enough data buffered for output to cover the time when other processes are being run by the @@ -190,10 +190,10 @@ is quiet .I .IP \ \ \ \ 1 -is be a bit verbose (equiv. to -v switch) +is be a bit verbose (equiv. to \-v switch) .I .IP \ \ \ \ 2 -is be very verbose (equiv. to -vv switch) +is be very verbose (equiv. to \-vv switch) .I .IP VI_KEYS Index: siggen/smix.1 =================================================================== --- siggen.orig/smix.1 2012-03-12 16:27:23.000000000 +0100 +++ siggen/smix.1 2012-03-13 09:27:24.000000000 +0100 @@ -3,13 +3,13 @@ .I smix \- A Simple LINUX Mixer Program .SH SYNOPSIS .B smix -[-v] [-h] [-o file] [-i file] [-m file] [-s] [command(s)] +[\-v] [\-h] [\-o file] [\-i file] [\-m file] [\-s] [command(s)] .SH DESCRIPTION .I smix , a simple mixer program that reports or controls the Mixer settings of .I /dev/mixer -(or the specific mixer device file specified by the "-m file" option) +(or the specific mixer device file specified by the "\-m file" option) from the command line parameter(s). .PP The commands are detailed below, capitals showing the minimum abbreviation @@ -27,7 +27,7 @@ .IP dev outputs the current settings for the mixer device named "dev" .IP dev\ N\ or\ L,R -sets mixer device 'dev' to volume N, or to seperate +sets mixer device 'dev' to volume N, or to separate left and right stereo volume L,R If device doesn't support stereo settings then max of L,R is used. The word Index: siggen/soundinfo.c =================================================================== --- siggen.orig/soundinfo.c 2012-03-12 16:27:23.000000000 +0100 +++ siggen/soundinfo.c 2012-03-13 09:21:12.000000000 +0100 @@ -212,7 +212,7 @@ } printf("\nDSP details ................\n"); - printf(" capabilites = 0x%09X\n formats = 0x%09X\n",caps,fmts); + printf(" capabilities = 0x%09X\n formats = 0x%09X\n",caps,fmts); printf(" blocksize = %d\n", blksize); printf("\nDSP Capability revision level %d\n",caps&255); Index: siggen/swgen.1 =================================================================== --- siggen.orig/swgen.1 2012-03-12 16:27:23.000000000 +0100 +++ siggen/swgen.1 2012-03-13 09:21:12.000000000 +0100 @@ -13,7 +13,7 @@ .SH DESCRIPTION .I swgen generates a swept frequency waveform -on the LINUX /dev/dsp device. The swept and sweep waveform can be seperately +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 @@ -63,7 +63,7 @@ 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 .I NEVER -use the gain factor option (-A). The generator will then make the wave's +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. .PP @@ -87,7 +87,7 @@ .IP -o\ file write digital sample to file ('-' is stdout) .IP -w\ file -as '-o' but written as a WAVE format file. -a (append) is not valid +as '\-o' but written as a WAVE format file. \-a (append) is not valid with this option. .IP -s\ samples generate with samplerate of samples/sec @@ -157,7 +157,7 @@ looks for configuration values CHANNELS, DACFILE, SAMPLERATE, SAMPLESIZE, VERBOSE. .IP CHANNELS -sets either mono or stereo mode like the '-1|-2' options. +sets either mono or stereo mode like the '\-1|\-2' options. .IP DACFILE allows the name of the DAC/DSP/PCM device to be changed from /dev/dsp .IP SAMPLERATE Index: siggen/tones.1 =================================================================== --- siggen.orig/tones.1 2012-03-12 16:27:23.000000000 +0100 +++ siggen/tones.1 2012-03-13 09:27:37.000000000 +0100 @@ -65,7 +65,7 @@ .PP Waveforms can be specified/altered at anytime. A single waveform name specifies that waveform to be used for all channels. Alternatively -a comma (',') seperated list of waveforms can be given to specify or alter +a comma (',') separated list of waveforms can be given to specify or alter the waveform to use for a given channel. Ommitting a waveform in a list, means that the previous waveform is left unchanged. .PP @@ -86,8 +86,8 @@ .PP Instead of playing the output to .I /dev/dsp -the samples can be written to a file as raw samples (-o file) or written in -WAV format (-w wavfile). These data files can then be played back quickly +the samples can be written to a file as raw samples (\-o file) or written in +WAV format (\-w wavfile). These data files can then be played back quickly with a raw data or WAV file player (e.g. wavplay) without the overhead of actually generating the samples. .PP @@ -137,7 +137,7 @@ .PP e.g. .I 440,880@-12,1760@-30 -specifies a mixture with 880Hz -12dB down, and 1760Hz -30dB down relative +specifies a mixture with 880Hz \-12dB down, and 1760Hz \-30dB down relative to the level of 440Hz. The mixed signal samples will span the full 16 or 8 bit range permitted for maximal signal accuracy. .PP @@ -146,9 +146,9 @@ being at a relative power level of 0.5, .I -20dB being at a relative power level of 0.01 . However power levels are -proportional to the square of the signal amplitude. So a signal at -6dB +proportional to the square of the signal amplitude. So a signal at \-6dB (quarter power) will only have its amplitude down by half. To reduce a -signal amplitude by 1/10 then specify -20dB, i.e. a power level down +signal amplitude by 1/10 then specify \-20dB, i.e. a power level down by a factor of a hundredth. .PP dB levels can be specified as decimal values. @@ -165,15 +165,15 @@ .PP e.g. .I 500@-20,750@-6,1000,-12 -gives 500Hz at -20db (amplitude 0.1), 750Hz at -6db (amplitude 0.5), -and 1000Hz at -12dB (amplitude 0.25). The final mixed signal will have -an amplitude of 0.1 + 0.5 + 0.25 = 0.85 or -1.4dB. +gives 500Hz at \-20db (amplitude 0.1), 750Hz at \-6db (amplitude 0.5), +and 1000Hz at \-12dB (amplitude 0.25). The final mixed signal will have +an amplitude of 0.1 + 0.5 + 0.25 = 0.85 or \-1.4dB. .PP As can be seen, there is no "hands-free" in .I absolute mode. You have to work out the dB levels yourself and ensure that the resultant mixed signal does not go above 0dB and get clipped. Remember also -that a sine wave at -80dB down (amplitude 1/10000th) only has 6 digital +that a sine wave at \-80dB down (amplitude 1/10000th) only has 6 digital levels and is a pretty poor representation of a sine wave, not suitable for post amplification and use! .PP @@ -186,7 +186,7 @@ .PP e.g. .I @-20\ 1000,1200@+6,1400@-6 -is the same as 1000Hz at -20dB, 1200Hz at -14dB and 1400Hz at -26dB. +is the same as 1000Hz at \-20dB, 1200Hz at \-14dB and 1400Hz at \-26dB. .SH LOADABLE\ WAVEFORMS .PP Given that the generation method used by @@ -230,7 +230,7 @@ .IP -abs|-absolute set absolute amplitude mode .IP -a -when used in conjunction with the -o option, data is appended to the file. +when used in conjunction with the \-o option, data is appended to the file. .IP -C\ file use "file" as the local configuration file (see below). .IP -c\ CHANNELS @@ -238,7 +238,7 @@ CHANNELS. The default number is 4. There is some virtue in keeping the number of channels to a minimum. .IP -f -when used in conjunction with the -o or -w options, any existing file is +when used in conjunction with the \-o or \-w options, any existing file is silently overwritten. .IP -h display usage and help info @@ -248,7 +248,7 @@ are actioned before the input file is read. .IP -l play the tone sequence repetitively. Forced off if writing samples to a file -with the -o or -w options. +with the \-o or \-w options. .IP -loop\ N play the tone sequence N times. .IP -o\ file @@ -262,7 +262,7 @@ .IP -w\ wavfile write samples out in WAV format to wavfile. The WAV header contains details of whether the data is 8 or 16 bits and the sampling rate. You cannot use the -append (-a) option with WAV files. +append (\-a) option with WAV files. .IP -v be verbose .IP -lw\ N @@ -275,7 +275,7 @@ the second of 700Hz and 1200Hz and the third of 800Hz, 1100Hz and 1300Hz .IP tones\ -loop\ square\ 200\ 700\ 900\ 400\ 500 generates a sequence of 4 200 millisecs square wave tones which is repeated -until the program is interupted. +until the program is interrupted. .IP tones\ -w\ seq.wav\ 70\ 1016\ 1200\ 1080\ 1150\ 1016 generates a sequence of 5 70 millisecs sine tones, and instead of playing them the samples are stored in WAV format in seq.wav which can be played by any @@ -333,7 +333,7 @@ looks for configuration values CHANNELS, DACFILE, SAMPLERATE, SAMPLESIZE, VERBOSE, LOADABLE_WAVEFORMS. .IP CHANNELS -sets the number of channels, see '-c' option. +sets the number of channels, see '\-c' option. .IP DACFILE allows the name of the DAC/DSP/PCM device to be changed from /dev/dsp .IP LOADABLE_WAVEFORMS Index: siggen/sgen.1 =================================================================== --- siggen.orig/sgen.1 2012-03-12 16:27:23.000000000 +0100 +++ siggen/sgen.1 2012-03-13 09:21:12.000000000 +0100 @@ -44,7 +44,7 @@ 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 .I NEVER -use the gain factor option (-A). The generator will then make the wave's +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. .PP @@ -64,7 +64,7 @@ .IP -o\ file write digital sample to file ('-' is stdout) .IP -w\ file -as '-o' but written as a WAVE format file. -a (append) is not valid +as '\-o' but written as a WAVE format file. \-a (append) is not valid with this option. .IP -f,-a force overwrite/append of/to file. @@ -144,7 +144,7 @@ looks for configuration values CHANNELS, DACFILE, SAMPLERATE, SAMPLESIZE, VERBOSE. .IP CHANNELS -sets either mono or stereo mode like the '-1|-2' options. +sets either mono or stereo mode like the '\-1|\-2' options. .IP DACFILE allows the name of the DAC/DSP/PCM device to be changed from /dev/dsp .IP SAMPLERATE debian/patches/series0000644000000000000000000000015411727371411012036 0ustar spelling.patch rename-sgen.diff missing-include.diff non-linux.diff devname_already_used_in_freebsd_headers debian/patches/devname_already_used_in_freebsd_headers0000644000000000000000000000510711727603373020567 0ustar Description: rename devname, as this symbol is already used in freebsd Author: Christoph Egger Index: siggen-2.3.10/mixer.c =================================================================== --- siggen-2.3.10.orig/mixer.c 2001-08-19 18:50:18.000000000 +0200 +++ siggen-2.3.10/mixer.c 2011-11-29 15:21:32.000000000 +0100 @@ -26,7 +26,7 @@ int recmask=0; /* Defines which devices can be an input device */ int sources=0; /* Defines which devices are the current input dev(s) */ int stereodevs=0; /* Defines which devices are stereo */ -char *devname[SOUND_MIXER_NRDEVICES] = SOUND_DEVICE_LABELS; +char *mydevname[SOUND_MIXER_NRDEVICES] = SOUND_DEVICE_LABELS; /* Gives a list of names for the various mixer channels */ /* mixinit(DEV) open mixer device DEV and interrogate it setting up Index: siggen-2.3.10/mixer.h =================================================================== --- siggen-2.3.10.orig/mixer.h 2011-11-29 15:17:41.000000000 +0100 +++ siggen-2.3.10/mixer.h 2011-11-29 15:21:33.000000000 +0100 @@ -36,7 +36,7 @@ #define IS_MIX_DEV_STEREO(N) (stereodevs&(1<<(N))) #define IS_MIX_SOURCE(N) (sources&(1<<(N))) -#define MIX_DEV_NAME(N) (devname[N]) +#define MIX_DEV_NAME(N) (mydevname[N]) #define GET_MIX_VALUE(D,V) (ioctl(mixFD, MIXER_READ(D), &V)) #define SET_MIX_VALUE(D,V) (ioctl(mixFD, MIXER_WRITE(D), &V)) @@ -45,7 +45,7 @@ */ extern int mixFD,devmask,recmask,sources,stereodevs; -extern char *devname[]; +extern char *mydevname[]; Index: siggen-2.3.10/soundinfo.c =================================================================== --- siggen-2.3.10.orig/soundinfo.c 2011-11-29 15:17:41.000000000 +0100 +++ siggen-2.3.10/soundinfo.c 2011-11-29 15:21:33.000000000 +0100 @@ -254,7 +254,7 @@ int devmask,recmask,sources,stereodevs,capabilities; int i,n; char buf[130]; - char *devname[SOUND_MIXER_NRDEVICES] = SOUND_DEVICE_LABELS; + char *mydevname[SOUND_MIXER_NRDEVICES] = SOUND_DEVICE_LABELS; int level[SOUND_MIXER_NRDEVICES]; struct mixer_info Mix_Info; @@ -294,10 +294,10 @@ if (devmask & (1<>8)&255); } else { printf(" "); } printf("%9s ", (recmask & (1< mono-devel) Author: Jens Peter Secher Index: siggen/Makefile =================================================================== --- siggen.orig/Makefile 2009-04-04 23:10:05.000000000 +0200 +++ siggen/Makefile 2009-04-04 23:10:05.000000000 +0200 @@ -9,7 +9,7 @@ # Edit PROGS to make the programs you want. You may wish to omit smix # if you do not want yet another mixer program. -PROGS = tones sgen swgen siggen sweepgen fsynth soundinfo smix +PROGS = tones signalgen swgen siggen sweepgen fsynth soundinfo smix # TEXTS = tones.txt sgen.txt swgen.txt siggen.txt sweepgen.txt soundinfo.txt smix.txt fsynth.txt siggen.conf.txt @@ -115,7 +115,7 @@ soundinfo: soundinfo.o $(CC) $@.o -o $@ -sgen: $(SGEN) +signalgen: $(SGEN) $(CC) $(SGEN) -lm -o $@ swgen: $(SWGEN) Index: siggen/fsynth.1 =================================================================== --- siggen.orig/fsynth.1 2009-04-04 23:10:05.000000000 +0200 +++ siggen/fsynth.1 2009-04-04 23:10:05.000000000 +0200 @@ -94,7 +94,7 @@ .SH FILES .SH .SH SEE ALSO -sgen, swgen, tones, sweepgen +signalgen, swgen, tones, sweepgen .SH BUGS .SH .SH COPYING Index: siggen/sgen.1 =================================================================== --- siggen.orig/sgen.1 2009-04-04 23:10:05.000000000 +0200 +++ siggen/sgen.1 2009-04-04 23:10:05.000000000 +0200 @@ -1,13 +1,13 @@ -.TH sgen 1 "20 Feb 1998" "Release 2.3" "Linux System Manual" +.TH signalgen 1 "20 Feb 1998" "Release 2.3" "Linux System Manual" .SH NAME -.I sgen \- a simple signal generator program +.I signalgen \- a simple signal generator program .SH SYNOPSIS -.IP sgen\ [flags]\ waveform\ freq +.IP signalgen\ [flags]\ waveform\ freq waveform is sine, cosine, square, triangle, sawtooth, noise -.IP sgen\ [flags]\ pulse\ freq\ [Mark/Space] +.IP signalgen\ [flags]\ pulse\ freq\ [Mark/Space] pulse has extra param Mark/Space % - def. is 10 (%) .SH DESCRIPTION -.I sgen +.I signalgen is a simple signal generator program, that can digitally generate standard waveforms on the LINUX /dev/dsp device. 8 or 16 bit samples can be generated, in mono or stereo. In stereo the two signals can be in phase or in anti-phase @@ -36,7 +36,7 @@ A square waveform where the mark/space ratio (as a percentage) can be specified. The default value is 10% (mark/space ratio of 1:9). .PP -.I sgen +.I signalgen creates one second's worth of generated output in a buffer and plays the buffer repeatedly, until it is terminated. .PP @@ -86,24 +86,24 @@ a Kludge. .SH EXAMPLES -.IP sgen\ -v\ sin\ 440 +.IP signalgen\ -v\ sin\ 440 generate a sin wave of 440Hz at 22050 samples/sec, 16bit samples on 16 bit card, 8 bit samples on an 8 bit card. -.IP sgen\ -v\ -s\ 44100\ -w\ sin444.wav\ sin\ 440 +.IP signalgen\ -v\ -s\ 44100\ -w\ sin444.wav\ sin\ 440 as above but at a samplerate or 44100/sec and save a one second of samples as a WAVE file in sin440.wav -.IP sgen\ -v\ -A\ 500\ saw\ 1000 +.IP signalgen\ -v\ -A\ 500\ saw\ 1000 generate a 1000Hz sawtooth wave severely clipped. The waveform will look like a square wave with a rise and fall time of one tenth of the wave period. (I think that's what the scribbled calculation on the back of this envelope gives :-) -.IP sgen\ -v\ -2a\ sin\ 1000 +.IP signalgen\ -v\ -2a\ sin\ 1000 generate 2 1000Hz sine waves out of phase by 180 degrees, one on each stereo channel. -.IP sgen\ -v\ pulse\ 1000\ 95 +.IP signalgen\ -v\ pulse\ 1000\ 95 generate a 1000Hz pulse wave with the 'on' period being 95% of the waveform period, i.e. a mark/space ratio of 19:1. -.IP sgen\ -v\ -x10\ sin\ 2616 +.IP signalgen\ -v\ -x10\ sin\ 2616 generate middle C 261.6Hz (2616/10) from the equally tempered scale. Yes it's a royal pain remembering to scale all freqs. by a factor of 10, but I needed it in a hurry and didn't have time to do it better. @@ -122,7 +122,7 @@ is the HOME config file. .IP /etc/siggen.conf is the GLOBAL config file. -.IP sgen\ -h +.IP signalgen\ -h will indicate which config files will be searched for. .PP The config files do not have to exist. If they exist and are readable by the @@ -140,7 +140,7 @@ .PP See siggen.conf(5) for details of the configuration files. .PP -.I sgen +.I signalgen looks for configuration values CHANNELS, DACFILE, SAMPLERATE, SAMPLESIZE, VERBOSE. .IP CHANNELS Index: siggen/sgen.c =================================================================== --- siggen.orig/sgen.c 2009-04-04 23:10:05.000000000 +0200 +++ siggen/sgen.c 2009-04-04 23:10:06.000000000 +0200 @@ -122,13 +122,13 @@ char **aa; fprintf(stderr,VERSTR,sys,VERSION); - fputs("\nUsage: \n 1: sgen [flags] waveform freq\n",stderr); + fputs("\nUsage: \n 1: signalgen [flags] waveform freq\n",stderr); fputs(" waveform is",stderr); for ( aa=(char **)getWavNames(); *aa; aa++ ) fprintf(stderr," %s",*aa); fputs("\n",stderr); - fputs(" 2: sgen [flags] sin|cos freq [phase]\n",stderr); + fputs(" 2: signalgen [flags] sin|cos freq [phase]\n",stderr); fputs(" sin/cos has extra phase param (def. is 0 degrees)\n",stderr); - fputs(" 3: sgen [flags] pulse freq [Mark/Space]\n",stderr); + fputs(" 3: signalgen [flags] pulse freq [Mark/Space]\n",stderr); fputs(" pulse has extra param Mark/Space % - def. is 10 (%)\n",stderr); #ifdef HAVE_DAC_DEVICE Index: siggen/siggen.1 =================================================================== --- siggen.orig/siggen.1 2009-04-04 23:10:05.000000000 +0200 +++ siggen/siggen.1 2009-04-04 23:10:06.000000000 +0200 @@ -180,7 +180,7 @@ .SH FILES .SH .SH SEE ALSO -sgen, swgen, tones, sweepgen, siggen.conf +signalgen, swgen, tones, sweepgen, siggen.conf .SH BUGS .SH .SH COPYING Index: siggen/siggen.aft =================================================================== --- siggen.orig/siggen.aft 2009-04-04 23:10:05.000000000 +0200 +++ siggen/siggen.aft 2009-04-04 23:10:06.000000000 +0200 @@ -57,7 +57,7 @@ Further info on your kernel's sound card configuration is given by 'cat /dev/sndstat'. - #_sgen_ is a command line signal generator where + #_signalgen_ is a command line signal generator where details are specified from the command line for generating sine, cos, square, triangle, sawtooth, pulse, noise waves. Frequency, sample rate, relative amplitude etc can be @@ -68,7 +68,7 @@ #_swgen_ is a command line sweep generator. Both the sweeping and swept waveforms can be specified, along with the sweeping frequency - and the swept frequency range. Otherwise similar to sgen above. + and the swept frequency range. Otherwise similar to signalgen above. #_siggen_ an Ncurses screen based Signal Generator for 2 seperate channels. On stereo audio cards the 2 channels are played on seperate @@ -103,7 +103,7 @@ You will need the ncurses library and header files. You will need sound card support compiled into your kernel. You can build some of the programs, tones -sgen and swgen, without soundcard support. These programs then can be used +signalgen and swgen, without soundcard support. These programs then can be used to generate raw data or WAV files. You can also compile these programs under other OSes than Linux, e.g. Sunos 4.1. Index: siggen/sweepgen.1 =================================================================== --- siggen.orig/sweepgen.1 2009-04-04 23:10:05.000000000 +0200 +++ siggen/sweepgen.1 2009-04-04 23:10:06.000000000 +0200 @@ -170,7 +170,7 @@ .SH FILES .SH .SH SEE ALSO -swgen, sgen, siggen, tones +swgen, signalgen, siggen, tones .SH BUGS .SH .SH COPYING Index: siggen/tones.1 =================================================================== --- siggen.orig/tones.1 2009-04-04 23:10:05.000000000 +0200 +++ siggen/tones.1 2009-04-04 23:10:06.000000000 +0200 @@ -346,7 +346,7 @@ sets whether or not to run in verbose mode. .SH SEE ALSO -.IP siggen.conf(5),\ sgen(1),\ swgen(1) +.IP siggen.conf(5),\ signalgen(1),\ swgen(1) .SH .SH BUGS .SH debian/patches/missing-include.diff0000644000000000000000000000217511727603420014550 0ustar Description: add missing includes Author: Jim Paris Index: siggen/misc.c =================================================================== --- siggen.orig/misc.c 2009-04-04 23:06:43.000000000 +0200 +++ siggen/misc.c 2009-04-04 23:06:43.000000000 +0200 @@ -27,6 +27,7 @@ #include #include #include +#include #include "config.h" /* * delay(us) wait us microsecs using select. Effectively Index: siggen/config.h =================================================================== --- siggen.orig/config.h 2009-04-04 23:06:43.000000000 +0200 +++ siggen/config.h 2009-04-04 23:06:43.000000000 +0200 @@ -245,5 +245,6 @@ */ char *get_conf_value(); +char **getWavNames(); #endif /* _config_siggen_h */ Index: siggen/generator.c =================================================================== --- siggen.orig/generator.c 2009-04-04 23:08:20.000000000 +0200 +++ siggen/generator.c 2009-04-04 23:09:33.000000000 +0200 @@ -66,6 +66,7 @@ * for 8 bit mono this is bytes, for 16 mono this is doubled */ +#include #include #include #include debian/patches/non-linux.diff0000644000000000000000000000155111727351060013402 0ustar Description: use sys/soundcard.h (also available on !Linux) Origin: vendor Bug-Debian: http://bugs.debian.org/636809 Forwarded: no Author: Samuel Thibault Reviewed-by: gregor herrmann Last-Update: 2011-11-29 --- a/soundinfo.c.orig 2011-08-06 01:36:41.000000000 +0000 +++ b/soundinfo.c 2011-08-06 01:36:43.000000000 +0000 @@ -79,11 +79,7 @@ #include #include #include -#ifdef __FreeBSD__ #include -#else -#include -#endif /***DEFINES***/ /* defines --- a/mixer.h.orig 2011-08-06 01:36:49.000000000 +0000 +++ b/mixer.h 2011-08-06 01:36:52.000000000 +0000 @@ -26,11 +26,7 @@ #ifndef _mixer__h #define _mixer__h -#ifdef __FreeBSD__ #include -#else -#include -#endif /* Define some functions..... */ debian/source/0000755000000000000000000000000011727366166010505 5ustar debian/source/format0000644000000000000000000000001411727366166011713 0ustar 3.0 (quilt) debian/compat0000644000000000000000000000000211727372350010373 0ustar 9 debian/README.Debian0000644000000000000000000000040311727351060011226 0ustar This is the Debian packaging of the waveform generation tools siggen. The executable sgen has been renamed to signalgen to avoid conflicts with the Mono development packages in Debian. -- Jens Peter Secher , Sat, 26 Apr 2008 12:28:45 +0200 debian/copyright0000644000000000000000000000223211727351060011122 0ustar This is the Debian packaging of the waveform generation tools siggen for Linux, initially compiled by Jens Peter Secher . The original source was located at http://www.comp.leeds.ac.uk/jj/linux/siggen-2.3.9.tgz . ---[ siggen License begin ]--- Copyright (C) 1995-2006 Jim Jackson This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program - see the file COPYING; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ---[ siggen License end ]--- The full GNU General Public License is located in the file /usr/share/common-licenses/GPL-2 on a Debian system. debian/README.source0000644000000000000000000000300211727351060011342 0ustar This package uses quilt to manage all modifications to the upstream source. Changes are stored in the source package as diffs in debian/patches and applied during the build. To get the fully patched source after unpacking the source package, cd to the root level of the source package and run: quilt push -a The last patch listed in debian/patches/series will become the current patch. To add a new set of changes, first run quilt push -a, and then run: quilt new where is a descriptive name for the patch, used as the filename in debian/patches. Then, for every file that will be modified by this patch, run: quilt add before editing those files. You must tell quilt with quilt add what files will be part of the patch before making changes or quilt will not work properly. After editing the files, run: quilt refresh to save the results as a patch. Alternately, if you already have an external patch and you just want to add it to the build system, run quilt push -a and then: quilt import -P /path/to/patch quilt push -a (add -p 0 to quilt import if needed). as above is the filename to use in debian/patches. The last quilt push -a will apply the patch to make sure it works properly. To remove an existing patch from the list of patches that will be applied, run: quilt delete You may need to run quilt pop -a to unapply patches first before running this command. -- Jens Peter Secher , Sat, 4 Apr 2009 22:55:27 +0200 debian/watch0000644000000000000000000000016411727367070010232 0ustar version=3 # there is no real versioning on the upstream website # http://www.comp.leeds.ac.uk/jj/linux/siggen.html debian/control0000644000000000000000000000455611727413202010602 0ustar Source: siggen Section: sound Priority: optional Maintainer: Thorsten Alteholz Standards-Version: 3.9.3 Build-Depends: debhelper (>= 9), libncurses-dev Homepage: http://www.comp.leeds.ac.uk/jj/linux/siggen.html Package: siggen Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, oss-compat Description: Waveform generation tools a set of tools for imitating a laboratory Signal Generator, generating audio signals out of Linux's /dev/dsp audio device. There is support for mono and/or stereo and 8 or 16 bit samples. The tools include: . * soundinfo: display some of the programming capabilities of the sound system support for the mixer device /dev/mixer and the DSP device. Also shows some of the ioctl calls in action. . * signalgen: a command line signal generator where details are specified from the command line for generating sine, cos, square, triangle, sawtooth, pulse, noise waves. Frequency, sample rate, relative amplitude etc. can be specified through command line options. The signal is played continuously until the program is stopped. There are options to save the basic raw digital samples raw to file or to a WAVE format file. . * swgen: a command line sweep generator. Both the sweeping and swept waveforms can be specified, along with the sweeping frequency and the swept frequency range. Otherwise similar to sgen above. . * siggen: an Ncurses screen based Signal Generator for two separate channels. On stereo audio cards the two channels are played on separate outputs. On mono cards the two channels are digitally mixed onto the one output. Type of waveform, frequency, amplitude, sample rate etc are specified/changed via a screen menu. It plays continuously. Changes to parameters take effect nearly immediately. . * sweepgen: an Ncurses screen based Sweep generator (see swgen and siggen above). . * tones: a command line program to generate several successive tones of varying frequency, and optional differing waveforms, durations and intensities. The sequence of tones can be either played once, or repetitively or the samples can be written to a file in raw or WAV format. This could make the basis of an auto-dialer for tone phones. . * smix: a simple command line program for getting and setting the mixer settings. . * fsynth: an Ncurses based fourier synthesis realtime generator.