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
Find a file
Martin Guy e08cc4481e Update example?.c
They all need to call sox_format_init() for dynamically-loaded formats
and to add the extra_usage field of sox_effect_handler_t
2025-09-16 17:24:06 +02:00
issues Update issues/issues.sh 2025-05-26 14:44:39 +02:00
libdolbyb Fix compilation errors when compiling -ansi (C89/C90) 2025-08-28 13:08:59 +02:00
libgsm Silence compiler warnings in new libgsm 2025-09-06 11:27:00 +02: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
msvc9 Rationalize .gitignores 2025-02-07 11:04:57 +01:00
msvc10 Rationalize .gitignores 2025-02-07 11:04:57 +01:00
scripts Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
src Update example?.c 2025-09-16 17:24:06 +02:00
test Tweak the spectrogram-x SEGV test to check -x as well as -X 2025-09-12 17:40:14 +02:00
.gitignore Rationalize .gitignores 2025-02-07 11:04:57 +01:00
AUTHORS Update Doug Cook's email address 2025-01-07 12:58:01 +01:00
ChangeLog Release 14.6.1-rc2 2025-08-31 18:17:07 +02:00
CMakeLists.txt Rip out the mpg123 decoding 2024-11-22 22:07:26 +01:00
configure.ac always support aligned heap allocation 2025-09-12 17:40:14 +02:00
COPYING Replace blanket GPL/LPGL licences with GPLv2 2024-08-04 03:33:56 +02:00
Doxyfile Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
FEATURES.in Add MSP2K, SDS and dolbyb 2025-05-25 03:36:55 +02:00
INSTALL Say how to circumvent "libsox_ng.so.3 not found" on first installation 2025-06-29 13:37:01 +02:00
libsox_ng.3 Run manuals through spelling check 2025-07-09 12:58:54 +02:00
Makefile.am Fix symlink creation with unlucky ordering in destdir installs 2025-08-29 11:24:50 +03:00
mingwbuild Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
osxbuild Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
README.md Mention the two expected compiler warnings 2025-09-11 12:02:22 +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 Make waveaudio the default audio driver on Windows 2025-08-21 14:39:29 +02:00
release.sh Correct the mailing list's address 2024-09-12 14:39:55 +02:00
RULES-issues.md Add missing ` 2025-01-03 18:00:30 +01: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
screenshot1 Rename sox, soxi, play, rec, sox.h and libsox to *_ng 2024-07-14 17:44:09 +02:00
sox_ng.1 Make spectrogram -Y give the height requested instead of 2^n+1 per channel 2025-09-16 12:00:54 +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
soxformat_ng.7 Document --help-format in soxformats.7 2025-09-13 08:35:55 +02:00
soxi_ng.1 Run manuals through spelling check 2025-07-09 12:58:54 +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, libtool and gcc or clang (./configure CC=clang)

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

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 libsamplerate0-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 libcaca-devel libid3tag-devel \
	libmad-devel libpng-devel libsamplerate-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

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