sox_ng is another Swiss Army Knife of sound processing utilities. It can convert audio files to other audio file types and apply sound effects and filters during the conversion. https://codeberg.org/sox_ng/sox_ng
  • C 84.3%
  • Roff 8.2%
  • Shell 4.8%
  • M4 1.2%
  • Makefile 0.7%
  • Other 0.6%
Find a file
Martin Guy bd01700672 Really reduce twolame verbosity
It sends error messages directly to stderr, so let's have less of them
2025-10-27 19:11:04 +01:00
issues Update issues.sh for FreeBSD's sed's lack of \f 2025-10-13 20:27:26 +02:00
libdolbyb Distribute lib{gsm,dolbyb}/CMakeLists.txt 2025-10-26 11:20:39 +01:00
libebur128 Add libebur128 for EBU R 128 loudness stats in the "stat" effect 2025-10-26 11:13:08 +01:00
libgsm Distribute lib{gsm,dolbyb}/CMakeLists.txt 2025-10-26 11:20:39 +01:00
lpc10 Remove unused parameters 2025-02-19 07:29:45 +01:00
m4 Support encoding MP3 with -t sndfile 2025-03-02 22:22:21 +01:00
scripts Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
src Really reduce twolame verbosity 2025-10-27 19:11:04 +01:00
test Add test for chorus flanger equivalence 2025-10-25 13:54:19 +02:00
.gitignore Remove unmaintained msvc{9,10}, build scripts and unused screenshot1 2025-09-30 12:03:31 +02:00
AUTHORS Update Doug Cook's email address 2025-01-07 12:58:01 +01:00
ChangeLog Release 14.6.1+git20251026 2025-10-26 11:22:31 +01:00
CMakeLists.txt Add libebur128 for EBU R 128 loudness stats in the "stat" effect 2025-10-26 11:13:08 +01:00
configure.ac Release 14.6.1+git20251026 2025-10-26 11:22:31 +01: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 Add MSP2K, SDS and dolbyb 2025-05-25 03:36:55 +02:00
INSTALL Remove unmaintained msvc{9,10}, build scripts and unused screenshot1 2025-09-30 12:03:31 +02:00
libsox_ng.3 Map \f(CW to \fR for nroff 2025-09-26 06:27:49 +02:00
Makefile.am Add libebur128 for EBU R 128 loudness stats in the "stat" effect 2025-10-26 11:13:08 +01:00
README.md README.md: Add pkg deps for FreeBSD and fix entries in others 2025-09-25 04:20:43 +02:00
README.osx There is now a homebrew formula for sox_ng 2025-07-23 11:04:40 +02:00
README.sh Drop the pmwiki-format Docs.Features file generation 2025-01-19 17:57:20 +01:00
README.win32 Remove unmaintained msvc{9,10}, build scripts and unused screenshot1 2025-09-30 12:03:31 +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 Ensure the wiki pages mention differences between versions of sox_ng 2025-08-24 15:38:39 +02:00
RULES.md Replace martinwguy's read-only access token with sox_ng's one 2024-11-01 12:30:38 +01:00
sox_ng.1 Add libebur128 for EBU R 128 loudness stats in the "stat" effect 2025-10-26 11:13:08 +01:00
sox_ng.mk Add sox_ng.mk, the MXE build for Windows' control file 2025-10-26 11:29:42 +01:00
sox_ng.pc.in Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
soxformat_ng.7 Enable twolame VBR encoding mode 2025-10-20 00:45:01 +02:00
soxi_ng.1 Map \f(CW to \fR for nroff 2025-09-26 06:27:49 +02: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 2025.
The next minor release is scheduled for the 18th November 2025.

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

Download one of the release tarballs.

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:

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.

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

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