---
title: "SoX - Sound eXchange"
description: "SoX - Sound eXchange, the Swiss Army knife of audio manipulation. Practical notes and code examples on SoX - Sound eXchange."
url: "https://h3manth.com/scribe/sox-sound-exchange/"
canonical_url: "https://h3manth.com/scribe/sox-sound-exchange/"
markdown_url: "https://h3manth.com/scribe/blog/sox-sound-exchange.md"
publishDate: "2009-01-08T00:00:00.000Z"
author: "Hemanth HM"
category: "cli"
tags: ["linux","audio"]
word_count: 615
reading_time_minutes: 4
x_markdown_tokens: 974
content_signal: "ai-train=yes, search=yes, ai-input=yes"
---

# SoX - Sound eXchange

> SoX - Sound eXchange, the Swiss Army knife of audio manipulation. Practical notes and code examples on SoX - Sound eXchange.

SoX - Sound eXchange, the Swiss Army knife of audio manipulation.

SoX reads and writes audio files in most popular formats and can optionally apply effects to them; it can combine multiple input sources, synthesise audio, and, on many systems, act as a general purpose audio player or a multi-track audio recorder.

Few things that can be done with this knife:

The overall SoX processing chain can be summarized as follows:

**Input(s) → Balancing → Combiner → Effects → Output**

**Basic Examples:**

```bash
# Translate an audio file in Sun AU format to a Microsoft WAV file
sox recital.au recital.wav

# Format translation with rate/size changes, down-mix to mono, apply effects
sox recital.au -r 12000 -1 -c 1 recital.wav vol 0.7 dither

# Add a header to a raw audio file
sox -r 8000 -u -1 -c 1 voice-memo.raw voice-memo.wav

# Adjust audio speed using the most accurate rabbit algorithm
sox slow.aiff fixed.aiff speed 1.027 rabbit -c0

# Concatenate two audio files
sox short.au long.au longer.au

# Mix together two audio files
sox -m music.mp3 voice.wav mixed.flac

# Play a collection of audio files with bass boosting
play "The Moonbeams/Greatest/*.ogg" bass +3

# Play a synthesised 'A minor seventh' chord with a pipe-organ sound
play -n -c1 synth sin %-12 sin %-9 sin %-5 sin %-2 fade q 0.1 1 0.1

# Record 10 seconds of stereo audio
rec -c 2 test.aiff trim 0 10

# Record a new track in a multi-track recording
rec -M take1.aiff take1-dub.aiff
```

**ECHO Effect:**

```bash
# Sound like doubling the number of instruments
play file.xxx echo 0.8 0.88 60 0.4

# Metallic robot playing music
play file.xxx echo 0.8 0.88 6 0.4

# Open air concert in the mountains
play file.xxx echo 0.8 0.9 1000 0.3

# One mountain more
play file.xxx echo 0.8 0.9 1000 0.3 1800 0.25
```

**ECHOS Effect:**

```bash
# Bounced twice in symmetric echos
play file.xxx echos 0.8 0.7 700 0.25 700 0.3

# Bounced twice in asymmetric echos
play file.xxx echos 0.8 0.7 700 0.25 900 0.3

# Sounds like played in a garage
play file.xxx echos 0.8 0.7 40 0.25 63 0.3
```

**CHORUS Effect:**

```bash
# Single delay - more overloaded
play file.xxx chorus 0.7 0.9 55 0.4 0.25 2 -t

# Two delays
play file.xxx chorus 0.6 0.9 50 0.4 0.25 2 -t 60 0.32 0.4 1.3 -s

# Big chorus (three additional samples)
play file.xxx chorus 0.5 0.9 50 0.4 0.25 2 -t 60 0.32 0.4 2.3 -t 40 0.3 0.3 1.3 -s
```

**FLANGER Effect:**

```bash
# Groove the sample
play file.xxx flanger

# Triangular modulation
play file.xxx flanger triangle
```

**REVERB Effect:**

```bash
# Default reverberance (50%)
play file.xxx reverb

# 80% reverberance
play file.xxx reverb 80
```

**PHASER Effect:**

```bash
play file.xxx phaser 0.8 0.74 3 0.4 0.5 -t

# Drunken loudspeaker system
play file.xxx phaser 0.9 0.85 4 0.23 1.3 -s

# Popular sound
play file.xxx phaser 0.89 0.85 1 0.24 2 -t

# Ten springs in your ears
play file.xxx phaser 0.6 0.66 3 0.6 2 -t
```

**Speed and Pitch:**

```bash
# Play at half the speed (preserving pitch)
play file.wav stretch 2

# Play at twice the speed
play file.wav stretch 0.5

# Speed up (Mickey Mouse voices)
play file.wav speed 2

# Raise pitch by 1 whole note (100 cents)
play file.wav pitch 100
```

**Reducing Noise:**

```bash
# First, create a noise profile from a silent period
sox file.wav -n trim 0 1.5 noiseprof /tmp/profile

# Then reduce noise using the profile
play file.wav noisered /tmp/profile
```

**Recording:**

```bash
rec parameters filename other-effects silence 1 5 2%
```

Thanks to Juergen Mueller et.al, for making such a great tool.
