---
name: "soundgrab"
section: "1"
platform: "linux"
package: "soundgrab"
version: "0.9.0-1"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/soundgrab"
---

# soundgrab(1)

interactively select and save sections of an audio file

## NAME

soundgrab - interactively select and save sections of an audio file

## SYNOPSIS

**soundgrab** \[option\]... \[*file*\]

## DESCRIPTION

**soundgrab** is a perl script which runs the rawrec and sox and possibly the oggenc and flac executables to let the user play back a raw audio file and interactively select and export portions of the file to other files.  By default, the input file should contain 2 interleaved channels of signed 16 bit little endian raw audio data sampled at 44.1 kHz.  A variety of output formats are available (some depend on the presence of certain encoder binaries in the users path).

## OPTIONS AND ARGUMENTS

- **-b** *KBITRATE*, **--ogg-kbitrate**=*KBITRATE*

  Files exported in the Ogg Vorbis lossy compression format should use approximately *KBITRATE* kilobits per second encoding.

- **--ogg-bitrate**=*KBITRATE*

  Deprecated.  Use **--ogg-kbitrate** instead.

- **-c** *ICHANNELS*, **--channels**=*CHANNELS*

  The file on which soundgrab is to operate contains *CHANNELS*-channel data.  One channel is mono, two is stereo.  Modern sound cards may support 4 or more channels.  The default is 2.

- **-d**, *DEVICE*, **--audio-device**=*DEVICE*

  Use *DEVICE* instead of the default /dev/dsp.

- **-f**, *OFMT*, **--outpuf-file-format**=*OFMT*

  The arguments to the export command (see online help) that do not end in a known dot extension should be saved in format *OFMT* in a file with the appropriate dot extension appended.  *OFMT* may be one of the following strings:

  - **cdr**

    CD Mastering format.  This is two channel unsigned sixteen bit little endian data with some blocking and padding.

  - **flac**

    FLAC lossless compressed format.

  - **ogg**

    Ogg vorbis lossy compressed format.

  - **raw**

    Raw data samples in the format specified with the **input-sample-format** option at the sampling rate specified with the **sampling-rate** option and containing the number of channels specified with the **channels** option.  If any of these options were not specied the default for that option is used.

  The default for this option is **cdr**.  The flac and ogg formats are only available if the appropriate encoder is present on the system.

- **-i** *IFMT*, **--input-sample-format**=*IFMT*

  The samples for the individual channels in the argument file are in format *IFMT*, where *IFMT* is one of the following strings:

  - **s16\_le**

    Signed sixteen bit little endian format.

  - **u8**

    Unsigned eight bit.

- **-s** *SPEED*, **--sampling-rate**=*SPEED*

  The data in the argument file was sampled at *SPEED* samples per second.

- **-t** *TIME*, **--time-of-start**=*TIME*

  Recording of the volume to be dissected was begun at time *TIME*.  If this option is used, it will be possible to jump to 'times' in the volume.  The format of the time string is the same as the format described in the output of the online command 'help jump', except day offsets are not allowed.

- **-v**, **--verbose**

  Enable verbose operation.

- **--version**

  Print version information and exit.

The single optional argument *file* indicates the file name of the volume to be dissected.

## INTERACTIVE COMMANDS

soundgrab acts like a tape player with almost instantaneous fast forward and rewind, the capability to jump to a particular point in the tape, and the capability to name and save sections of the tape to other files.  You can also browse through large volumes of audio, playing only some number of seconds and then skipping some number of seconds.  The few commands required to do all these things are all documented online, just fire up soundgrab on an appropriate file of raw audio data and type 'help'.

## EXAMPLE

Use the at and rawrec programs to record your hour long two oclock radio show which airs March 5, go to work, then come home later and save your favorite bits with soundgrab:

```
    # Set mixer parameters to record from line in.
    aumix -f ~/.my_line_rec_settings -L
    echo 'rawrec -t 3600 two_oclock_show.raw' ⎪ at 14:00 Mar 5
    # I just wanna bang on the drum all day...
    # Set mixer parameters to allow playback of dsp data,
    # probably just by setting the gain for the line input
    # to 0.
    aumix -f ~/.my_dsp_play_settings -L
    # and dissect with soundgrab.
    soundgrab two_oclock_show.raw
```

Of course you have to have a working /dev/dsp (sound driver), appropriate mixer settings (I recommend the aumix program), enough disk space, and a tuned receiver plugged into your sound card.  But remember that setting that stuff up isn't work 'cause nobody is making you do it.

## SEE ALSO

[*aumix*(1)](/aumix/1.md), [*rawrec*(1)](/rawrec/1.md), [*sox*(1)](/sox/1.md), [*oggenc*(1)](/oggenc/1.md), [*ogg123*(1)](/ogg123/1.md), [*flac*(1)](/flac/1.md)

## COPYRIGHT

soundgrab is Copyright (C) 2002  Britton Leo Kerin

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; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

## BUGS

It is possible for soundgrab's notion of where it is in the volume to get out of sync with the reality of whats being played at a given instant.  Any command that moves or stops the head will generally fix things.

There is no mpeg3 support because mpeg has a buggy license.

Perl version 5.8.0 at least sometimes seg faults when soundgrab exits.

oggenc version 1.0 based on libvorbis 1.0 at least doesn't handle its --comment option correctly, resulting in a spurious warning when outputing files in ogg format.

## AUTHOR

Britton Leo Kerin (fsblk@aurora.uaf.edu)
