SoX
Encyclopedia
Sound eXchange, abbreviated SoX, is a free
cross-platform
digital audio editor
, licensed under the GNU General Public License
, and distributed by Chris Bagwell through SourceForge.net
. SoX is written in standard C
, and has a command line interface.
On Unix-like
systems, SoX (as the play command) is commonly provided as the system audio file player.
Playing some audio files:
group alt.sources as Aural eXchange: Sound sample translator. With the second release (in November the same year) it was renamed Sound Exchange. Norskog continued to maintain and release SoX via Usenet
, ftp, and then the web until early 1995, at which time SoX was at version 11 (gamma). In May 1996, Chris Bagwell started to maintain and release updated versions of SoX, starting with version sox-11gamma-cb. In September 2000, Bagwell registered the project at Sourceforge
with project name "sox". The registration was announced on the 4 September 2000 and SoX 12.17 was released on 7 September 2000.
Throughout its history SoX has had many contributing authors; Guido van Rossum
, best known as creator of the Python
programming language, was a significant contributor in SoX's early days.
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
digital audio editor
Digital audio editor
A digital audio editor is a computer application for audio editing, i.e. manipulating digital audio. Digital audio editors are the main software component of a digital audio workstation.-For use with music:...
, licensed under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
, and distributed by Chris Bagwell through SourceForge.net
SourceForge.net
SourceForge is a web-based source code repository. It acts as a centralized location for software developers to control and manage open source software development. The website runs a version of SourceForge Enterprise Edition, forked from the last open-source version available...
. SoX is written in standard C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, and has a command line interface.
On Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
systems, SoX (as the play command) is commonly provided as the system audio file player.
Features
Some of SoX's features are:- Cross-platform (WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, Solaris, Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, et al.) - Reading and writing AUAu file formatThe Au file format is a simple audio file format introduced by Sun Microsystems. The format was common on NeXT systems and on early Web pages. Originally it was headerless, being simply 8-bit µ-law-encoded data at an 8000 Hz sample rate. Hardware from other vendors often used sample rates as...
, WAVWAVWaveform Audio File Format , is a Microsoft and IBM audio file format standard for storing an audio bitstream on PCs...
, AIFFAIFFAudio Interchange File Format is an audio file format standard used for storing sound data for personal computers and other electronic audio devices...
, MP3MP3MPEG-1 or MPEG-2 Audio Layer III, more commonly referred to as MP3, is a patented digital audio encoding format using a form of lossy data compression...
(via an external LAMELAMELAME is a free software codec used to encode/compress audio into the lossy MP3 file format.-History:The name LAME is a recursive acronym for "LAME Ain't an MP3 Encoder". Around mid-1998, Mike Cheng created LAME 1.0 as a set of modifications against the "8Hz-MP3" encoder source code...
MP3 encoder), OggOggOgg is a free, open container format maintained by the Xiph.Org Foundation. The creators of the Ogg format state that it is unrestricted by software patents and is designed to provide for efficient streaming and manipulation of high quality digital multimedia.The Ogg container format can multiplex...
VorbisVorbisVorbis is a free software / open source project headed by the Xiph.Org Foundation . The project produces an audio format specification and software implementation for lossy audio compression...
, FLACFLACFLAC is a codec which allows digital audio to be losslessly compressed such that file size is reduced without any information being lost...
and other audio file formatAudio file formatAn audio file format is a file format for storing digital audio data on a computer system. This data can be stored uncompressed, or compressed to reduce the file size. It can be a raw bitstream, but it is usually a container format or an audio data format with defined storage layer.-Types of...
s - Recording and playing audio (on many systems); playing via URL (internet file or stream)
- Editing via concatenate, trim, pad, repeat, reverse, volume, fadeFade (audio engineering)In audio engineering, a fade is a gradual increase or decrease in the level of an audio signal. The term can also be used for film cinematography or theater lighting, in much the same way ....
, splice, normaliseAudio normalizationAudio normalization is the application of a constant amount of gain to an audio recording in order to bring the average or peak amplitude to a target level ....
- Processing via chorusChorus effectIn music, a chorus effect occurs when individual sounds with roughly the same timbre and nearly the same pitch converge and are perceived as one...
, flangerFlangingFlanging is an audio effect produced by mixing two identical signals together, with one signal delayed by a small and gradually changing period, usually smaller than 20 milliseconds. This produces a swept comb filter effect: peaks and notches are produced in the resultant frequency spectrum,...
, echo, phaserPhaser (effect)A phaser is an audio signal processing technique used to filter a signal by creating a series of peaks and troughs in the frequency spectrum. The position of the peaks and troughs is typically modulated so that they vary over time, creating a sweeping effect...
, compressor, delay, filterAudio filterAn audio filter is a frequency dependent amplifier circuit, working in the audio frequency range, 0 Hz to beyond 20 kHz. Many types of filters exist for applications including graphic equalizers, synthesizers, sound effects, CD players and virtual reality systems.Being a frequency dependent...
(high-pass, low-pass, shelving, etc.) - Adjustment of speed (pitchPitch (music)Pitch is an auditory perceptual property that allows the ordering of sounds on a frequency-related scale.Pitches are compared as "higher" and "lower" in the sense associated with musical melodies,...
and tempoTempoIn musical terminology, tempo is the speed or pace of a given piece. Tempo is a crucial element of any musical composition, as it can affect the mood and difficulty of a piece.-Measuring tempo:...
), pitch (without tempo), tempo (without pitch), and sample-rateSample rate conversionSample rate conversion is the process of converting a signal from one sampling rate to another, while changing the information carried by the signal as little as possible... - Noise removal using frequency profiling, implemented since December 2004
- Silent passage removal, implemented since September 2001
- Simple audio synthesis
- Multi-file & multi-trackMultitrack recordingMultitrack recording is a method of sound recording that allows for the separate recording of multiple sound sources to create a cohesive whole...
mixingAudio mixing (recorded music)In audio recording, audio mixing is the process by which multiple recorded sounds are combined into one or more channels, most commonly two-channel stereo. In the process, the source signals' level, frequency content, dynamics, and panoramic position are manipulated and effects such as reverb may... - Multi-file merging (e.g. 2 monoMonauralMonaural or monophonic sound reproduction is single-channel. Typically there is only one microphone, one loudspeaker, or channels are fed from a common signal path...
to 1 stereoSTEREOSTEREO is a solar observation mission. Two nearly identical spacecraft were launched into orbits that cause them to respectively pull farther ahead of and fall gradually behind the Earth...
) - Statistical analysis; spectrogramSpectrogramA spectrogram is a time-varying spectral representation that shows how the spectral density of a signal varies with time. Also known as spectral waterfalls, sonograms, voiceprints, or voicegrams, spectrograms are used to identify phonetic sounds, to analyse the cries of animals; they were also...
analysis
Examples
SoX being used to process some audio:
$ sox track1.wav track1-processed.flac remix - norm -3
highpass 22 gain -3 rate 48k norm -3 dither
Input File : 'track1.wav'
Channels : 2
Sample Rate : 44100
Precision : 16-bit
Duration : 00:02:54.97 = 7716324 samples = 13123 CDDA sectors
Sample Encoding: 16-bit Signed Integer PCM
Endian Type : little
Output File : 'track1-processed.flac'
Channels : 1
Sample Rate : 48000
Precision : 16-bit
Duration : 00:02:54.97 = 8398720 samples ~ 13123 CDDA sectors
Sample Encoding: 16-bit FLAC
sox: effects chain: input 44100Hz 2 channels 16 bits (multi)
sox: effects chain: remix 44100Hz 2 channels 16 bits (multi)
sox: effects chain: norm 44100Hz 1 channels 16 bits
sox: effects chain: highpass 44100Hz 1 channels 16 bits
sox: effects chain: gain 44100Hz 1 channels 16 bits (multi)
sox: effects chain: rate 44100Hz 1 channels 16 bits
sox: effects chain: norm 48000Hz 1 channels 16 bits
sox: effects chain: dither 48000Hz 1 channels 16 bits (multi)
sox: effects chain: output 48000Hz 1 channels 16 bits (multi)
Playing some audio files:
$ play *.ogg
01 - Summer's Cauldron.ogg:
Encoding: Vorbis
Channels: 2 @ 16-bit Track: 01 of 15
Samplerate: 44100Hz Album: Skylarking
Album gain: -7.8dB Artist: XTC
Duration: 00:03:19.99 Title: Summer's Cauldron
In:20.8% 00:00:41.61 [00:02:38.38] Out:1.84M [|
] Clip:0
History
SoX was created in July 1991 by Lance Norskog and posted to the UsenetUsenet
Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980...
group alt.sources as Aural eXchange: Sound sample translator. With the second release (in November the same year) it was renamed Sound Exchange. Norskog continued to maintain and release SoX via Usenet
Usenet
Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980...
, ftp, and then the web until early 1995, at which time SoX was at version 11 (gamma). In May 1996, Chris Bagwell started to maintain and release updated versions of SoX, starting with version sox-11gamma-cb. In September 2000, Bagwell registered the project at Sourceforge
SourceForge
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...
with project name "sox". The registration was announced on the 4 September 2000 and SoX 12.17 was released on 7 September 2000.
Throughout its history SoX has had many contributing authors; Guido van Rossum
Guido van Rossum
Guido van Rossum is a Dutch computer programmer who is best known as the author of the Python programming language. In the Python community, Van Rossum is known as a "Benevolent Dictator For Life" , meaning that he continues to oversee the Python development process, making decisions where necessary...
, best known as creator of the Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
programming language, was a significant contributor in SoX's early days.
See also
- Digital audioDigital audioDigital audio is sound reproduction using pulse-code modulation and digital signals. Digital audio systems include analog-to-digital conversion , digital-to-analog conversion , digital storage, processing and transmission components...
- Audio file formatAudio file formatAn audio file format is a file format for storing digital audio data on a computer system. This data can be stored uncompressed, or compressed to reduce the file size. It can be a raw bitstream, but it is usually a container format or an audio data format with defined storage layer.-Types of...
- Audio effect
- Multitrack recordingMultitrack recordingMultitrack recording is a method of sound recording that allows for the separate recording of multiple sound sources to create a cohesive whole...
- Audio mastering
- Sample rate conversionSample rate conversionSample rate conversion is the process of converting a signal from one sampling rate to another, while changing the information carried by the signal as little as possible...
- Free audio softwareFree audio softwareThis list of free software for audio lists notable free and open source software for use by sound engineers, audio producers, and those involved in sound recording and reproduction.-Audio analysis:-Converters:-Modular systems:-Platforms:...
- List of Linux audio software
External links
- Linux Journal article on SoX
- Stereo to Dolby Digital 5.1 Surround Sound — converting stereo to 5.1 channels Dolby Digital Surround Sound.