sox_ng is another Swiss Army Knife of sound processing utilities. It can convert audio files to other popular audio file types and also apply sound effects and filters during the conversion. This is the hot mirror of https://codeberg.org/sox_ng/sox_ng
Find a file
2026-08-20 14:10:56 +02:00
cmake-buildsetup adapted CMake files 2026-07-02 14:07:36 +02:00
demo demo/soxcopy: Automatically convert to supported sample rates and channels 2026-01-02 20:25:38 +01:00
issues Improve usage 2026-01-04 23:10:28 +01:00
libdolbyb Drop mad/lame/twolame formats 2026-05-14 14:58:35 +02:00
libebur128 Don't dist missing libdolbyb libgsm lpc10 ebur128 src /CMakeLists.txt 2026-05-12 09:04:00 +02:00
libgsm Don't dist missing libdolbyb libgsm lpc10 ebur128 src /CMakeLists.txt 2026-05-12 09:04:00 +02:00
lpc10 Don't dist missing libdolbyb libgsm lpc10 ebur128 src /CMakeLists.txt 2026-05-12 09:04:00 +02:00
m4 Enable decoding of opus files with -t sndfile 2026-06-28 19:35:00 +02:00
scripts Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
src Merge pull request 'opus: Widen the bitrate range to the one opusenc uses' (#863) from opus-bitrate-range into main 2026-08-20 14:10:56 +02:00
test Make chorus-glitch test use a 16-bit test file not 32 2026-08-14 20:10:24 +02:00
.gitignore Add soxeffect_ng.txt 2026-01-08 18:36:56 +01:00
AUTHORS Update Doug Cook's email address 2025-01-07 12:58:01 +01:00
ChangeLog Update 14.8.0's ChangeLog from the improved web version 2026-05-26 02:14:43 +02:00
configure.ac Bump SHLIB_VERSION for addition of get & set fields to sox_effect_handler_t 2026-08-09 19:52:50 +02:00
COPYING Replace blanket GPL/LPGL licences with GPLv2 2024-08-04 03:33:56 +02:00
Doxyfile Add a main page to Doxygen output, pointing at the most useful page 2025-09-20 14:51:51 +02:00
Doxymain.md Add a main page to Doxygen output, pointing at the most useful page 2025-09-20 14:51:51 +02:00
FEATURES.in Document ffmpeg's aa, act and ea formats 2025-12-12 04:31:36 +01:00
INSTALL Update "INSTALL" 2025-11-06 15:54:34 +01:00
libsox_ng.3 Stop long function prototypes from hyphenating 2026-01-22 14:26:19 +01:00
libsoxeffect_ng.3 Complete rewrite of libsox_ng.3 2026-01-08 18:49:28 +01:00
libsoxformat_ng.3 Complete rewrite of libsox_ng.3 2026-01-08 18:49:28 +01:00
Makefile.am Use \x08 instead of literal backspace in sed strings for "make txt" 2026-07-07 14:15:34 +02:00
README-cfarm.md Add where to get a GCC Compile Farm account 2026-06-28 14:50:06 +02:00
README-cmake.md Revert "revised chorus effect, minor changes in CMake support" 2026-06-29 11:20:19 +02:00
README.md Fix "winget" command syntax 2026-05-30 00:49:39 +02:00
README.sh Drop the pmwiki-format Docs.Features file generation 2025-01-19 17:57:20 +01:00
README.win32 Update README-win32 2026-05-14 21:47:19 +02:00
RULES-issues.md RULES-issues.md: Make Working Offline a separate section and enlarge it 2025-10-06 18:52:18 +02:00
RULES-wiki.md Say to use four-space indentatoon for code blocks, not ``` 2025-12-09 17:59:38 +01:00
RULES.md RULES.md: Don't force pushes on main 2026-01-23 13:31:21 +01:00
sox_ng.1 Mention the usefulness of AUDIODRIVER=alsa to avoid pulseaudio 2026-06-28 19:09:50 +02:00
sox_ng.mk Add libopusenc to the MXE control file 2026-07-07 13:27:33 +02:00
sox_ng.pc.in Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
soxeffect_ng.7 Say -h where possible instead of --help-{effect,format} 2026-08-13 15:38:26 +02:00
soxformat_ng.7 Say -h where possible instead of --help-{effect,format} 2026-08-13 15:38:26 +02:00
soxi_ng.1 Sort out manual pages' page headers and footers 2026-01-05 16:48:37 +01:00

README.md

The SoX_ng project imports, compares and refines bug fixes and new work from the 50-odd software distributions that package SoX and from the plethora of forks on github and elsewhere and makes regular releases with a six-monthly cadence for each of the micro (bug fixes) and minor (new features) releases. A major release (non-backwards-compatible changes) is not planned.

The next micro release is scheduled for the 18th August 2026.
The next minor release is scheduled for the 18th November 2026.

Terminology

sox means sox.sf.net
SoX means the Swiss Army Knife of command-line audio processing in any of its incarnations
sox_ng means the hard fork of sox-14.4.2 aiming to sanitize SoX
SoX_ng means the project to maintain sox_ng

How to get it

sox_ng lives at codeberg.org/sox_ng/sox_ng and is composed of a SoX code base, a wiki and an issue tracker.

Releases

On the releases page you'll find source code tarballs and Windows exes.

Compiling it from source

On Unix-compatible systems, extract it:

gzip -d < sox_ng-*.tar.gz | tar xf -

Build it:

cd sox_ng*
./configure
make

On most systems you should only get two compiler warnings about #pragma STDC FENV_ACCESS

Install it:

sudo make install

It installs as sox_ng, sox_ng.h, libsox_ng.so and so on so that sox and sox_ng can coexist on the same system. To make it work the same as the original sox, use ./configure --enable-replace

Development branches

main

To fetch the latest version:

git clone https://codeberg.org/sox_ng/sox_ng
cd sox_ng

and to make local copies of the wiki and the issues:

git clone https://codeberg.org/sox_ng/sox_ng.wiki wiki
issues/getissues.sh

To compile it:

autoreconf -i
./configure
make

and to install it:

sudo make install

This installs it as sox_ng, sox_ng.h, libsox_ng and so on, so that it can coexist with traditional sox. If you want it to work the same as the original sox, use ./configure --enable-replace and if ffmpeg is installed add --with-ffmpeg to decode 48 more audio and video formats.

Runtime dependencies

If ffmpeg is installed on your system, sox_ng will be able to read four dozen more audio formats as well as extract soundtracks from video files.

If wget, wget2 or curl are installed, you can fetch URLs as input streams.

Build dependencies

To compile a release tarball you will need make, and gcc or clang

To build the git repository you will also need autoconf, automake and libtool.

To enable all of SoX's optional modules you can install ladspa-sdk lame, libao, libfftw3, libflac, libid3tag, libmad libogg, libopus, libopusfile, libpng, libsndfile, libspeex, libspeexdsp, libvorbis, opencore-amr, twolame, wavpack.

Debian, Ubuntu, Mint etc.

apt install gcc make libtool ladspa-sdk libao-dev libasound2-dev libfftw3-dev \
libgsm1-dev libid3tag0-dev libltdl-dev libmad0-dev libmagic-dev \
libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev \
libopusfile-dev libpng-dev libpulse-dev \
libsndfile1-dev libspeex-dev libspeexdsp-dev libtwolame-dev \
libvorbis-dev libwavpack-dev

and to run issues/getissues.sh and the makehtml.sh scripts you will need

apt-get install jq libtext-multimarkdown-perl

Fedora, Red Hat, CentOS etc.

yum install gcc make libtool \
alsa-lib-devel fftw-devel file-devel flac-devel gsm-devel \
ladspa-devel lame-devel libao-devel libid3tag-devel \
libmad-devel libpng-devel libsndfile-devel \
libtool-ltdl-devel libvorbis-devel opencore-amr-devel \
opusfile-devel pulseaudio-libs-devel speex-devel speexdsp-devel \
twolame-devel wavpack-devel

and to run issues/getissues.sh and the makehtml.sh scripts you will need

yum install jq multimarkdown

FreeBSD

pkg install gcc dmake fftw3 file ladspa libid3tag png \
flac gsm lame libmad libsndfile libvorbis opencore-amr \
opusfile speex speexdsp twolame wavpack

but you can almost certainly omit file which it wants for libmagic which is installed in a default FreeBSD installation in /usr/lib. If you install it with pkg, you get a second copy under /usr/local.

You can also install pulseaudio alsa-libs and libao if you want support for those alternative sound I/O systems.

If you are compiling its development git tree you will also need to

pkg install autotools libtool

To run issues/getissues.sh and the makehtml.sh scripts you will need

pkg install jq multimarkdown

MacOS/X

As well as the above, you can also install it with Homebrew:

brew install sox_ng

NetBSD, OpenWRT and Solus

There are packages for these on pkgs.org

Windows

On the releases page you'll find zip files containing a Windows exe for sox_ng, which you can copy to sox.exe, soxi.exe, play.exe and `rec.exe' (they are all the same program which behaves differently according to its name).

You may also be able to

winget install --id sox_ng.sox_ng -e

Accessibility

You can edit and commit to the code and the wiki using Codeberg's web interface or from the command-line. The command-line is the only way to add images and attachments to the wiki.

The issues can be downloaded as well as uploaded replacing all remote content but this risks overwriting changes made via the web interface so for now it is recommended to edit them on the Codeberg web site.

Community

Mailing list

Private email

Finances

README and PDFs

To generate SoX's original README, run ./README.sh or make README

To generate the PDF version of the documentation, make pdf