 2008/05/18
|
Last update 2001/05/24
The Labs - Design & Functionality For The Net
$MyVersion: 1.007 - Thu May 13 16:49:51 EDT 1999 - kiwi$
THE MOST RECENT VERSION OF THIS DOCUMENT YOU FIND HERE.
- Introduction
- File Format
- Programs
- Download
- Applications
- Sample Usage
- Resources
| Raw Sound Studio1. Introduction
|
RawSoundStudio a small Linux sound-package handling sound-play/recording and
few simple mechanism to analyze the content.
For the sake of simplicity a new (yes, sorry) format was created
called .rss (raw-sound-studio), it's very straight forward
and very simple to parse with C or Perl.
| Raw Sound Studio2. File Format
|
The format is following:
- Lines with '#' at the beginning are comments
- The first non-comment line describes the format, all argument on one line:
- 'signed' or 'unsigned'
- speed (int) [samples per second]
- bits (int) [8, 16]
- stereo (int) [0 or 1]
|
# A line starting with '#' is an comment and is ignored
|
|
signed 22025 16 0
|
|
<binary data follows ...>
|
| Raw Sound Studio3. Programs
|
Following programs are available:
- rsrecord - record sound-file in a certain quality
- rsplay - play sound-file
- rscut - cut pieces out of sound-file
- rscat - cat multiple sound-file(s) into one
- rsstrip - write raw audio data
- rsdump - dump audio in data
- rsecho - apply echo
- rspitch - apply pitch shift
- rstora - convert to real-audio
- rsfft - dump fft of sound-file
- rsview - display sound-file (average & fft)
PerlTK script
Call each program with option -help, ie. rsrecord -help:
rsrecord: [-speed speed] [-stereo 0|1] [-bits bits] [-signed] [-unsigned] [-interactive] [-time mins]
| Raw Sound Studio4. Download
|
raw-sound-studio.tar.gz (read README)
Supported platforms: FreeBSD, Linux
To install run
it compiles and copies all binaries into /usr/local/bin/
| Raw Sound Studio5. Applications
|
Unless otherwise noted all applications accept '-' as input-file which means
stdin, and give the output over stdout. This allows you to cascade a stream of
sound through several applications.
RsRecord | | rsrecord: [-speed speed] [-stereo 0|1] -bits bits[-signed] [-unsigned] [-time mins] [filename]
speed in Hz (ie. 22050), stereo (0 or 1), bits (8, 16), default is 'signed'
if filename is obmitted then the recording goes to file dump.rss, default is 22050Hz, 16 bits, stereo on
|
RsPlay | | rsplay: [-start start] [-end end] sound-file ...
start and end are in milliseconds, so 10,000 are 10 secs
|
RsCut | | rscut: [-start start] [-end end] sound-file ...
start and end are in milliseconds, so 10,000 are 10 secs
|
RsCat | | rscat: sound-file1 sound-file2 ...
|
RsDump | | rsdump: [-start start] [-end end] [-avg avg] sound-file ...
start and end are in milliseconds, so 10,000 are 10 secs,
avg are in milliseconds too, it builds the average (magnitude) over
that period of time, normalized to 1.
|
RsEcho | | rsecho: sound-file delay amplification
delay in ms, amplification 0-1. (usuable value is .6)
|
RsPitch | | rspitch: sound-file pitchshift
pitch-shift 0.1-2. (usuable values are .8 ... 1.25)
|
RsView | | rsview: [-start start] [-end end] [-avg avg] [-fft] sound-file ...
start and end are in milliseconds, so 10,000 are 10 secs
avg are in milliseconds too, it builds the average (magnitude) over
that period of time, normalized to 1.
rsview is a PerlTK-script, it uses rsdump and rsfft internally.
|
% rsview -start 25000 -end 40000 english-0.rss
|
|
% rsview -fft -start 25000 -end 40000 english-0.rss
|
|
% rsview -fft -start 29100 -end 29100 english-0.rss
|
|
RsToRA | | rstora: [-quality 0-7] [-title title] [-author author] [-copy copyright] file.rss
Converting rss-files to name.rm (not via stdout) realaudio files (highly compressed).
Requires raencoder which you can download from Progressive Networks: Real.Com, look
in area of content-creation tools.
Note: rstora requires the same disk-space on the /tmp/ as the file you like to convert, for long
audio this can be hundreds' of mega-bytes. We tried to pipe raw data to raencoder, but the
resulting realaudio-file was broken all the times, writing the data into a file first and calling
then raencoder works fine. At a later time when raencoder is fixed rstora won't
use any additional disk-space just for converting but only as much as the resulting realaudio-file itself.
|
RsFFT | | rsfft: [-start start] [-end end] sound-file ... > fft.list
start and end are in milliseconds, so 10,000 are 10 secs
|
RstoMP3 | | rstomp3: file.rss
converts file.rss to file.mp3
Download MP3 Encoder and compile it, install
it and don't forget to setenv MPEGTABLES to the right directory. Then rename
encoder to mp3encoder and copy it into /usr/local/bin (or alike dir), then
rstomp3 is usable (it's a simple csh-script), it uses /tmp/ to create raw-file for mp3encoder.
|
MP3toRs | | mp3tors: sound-file
Converts .mp3 to .rss (stdout)
Download MPG123 (MPEG Layer 1,2,3 decoder) and install it,
then run mp3tors
|
| Raw Sound Studio6. Sample Usage
|
Record audio from live-input for an hour in CD-quality:
|
rsrecord -time 60 -stereo 1 -speed 44100 live.rss
|
Cut out a sample of 10 secs at position 0:45:
|
rscut -start 45000 -end 55000 live.rss > cut.rss
|
Apply double echo:
|
rsecho sample.rss 10 .5 | rseffect - 200 .6 | rsplay -
|
Convert raw sound-file to .rss:
|
echo "signed 16 44100 1" | cat - sound.raw > sound.rss
|
Convert MP3:
|
mp3tors art-of-noise.mp3 > art-of-noise.rss
|
| Raw Sound Studio7. Resources
|

Last update 2001/05/24 
All Rights Reserved - (C) 1997 - 2008 by The Labs.Com |