Anderson
Anderson

Reputation: 381

sox FAIL util: Unable to load MAD decoder library (libmad) function "mad_stream_buffer"

I compiled libmad for sox. When I try to read an mp3 I get this message:

sox FAIL util: Unable to load MAD decoder library (libmad) function "mad_stream_buffer".

Did I compile the project incorrectly?

Upvotes: 38

Views: 35149

Answers (6)

russa
russa

Reputation: 474

for compiling from source:

since the the tutorial http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx is rather dated (and did not work for me with more recent VisualStudio versions):
the SOX project contains ready-to-use Visual Studio projects for compiling SOX and its dependencies/libraries on Windows (e.g. using a Visual Studio Community Edition).

The SOX source code repository at SourceForge contains a directory msvc10 (and also msvc9) for compiling SOX and its dependencies with VisualStudio. Detailed instructions for that are in the Readme.txt.

So, for example, for only compiling libmad.dll:

  • clone SOX repository, e.g. to directory sox-code/
git clone https://git.code.sf.net/p/sox/code sox-code
sox-code/
libmad/
  • open the VisualStudio project file (*.sln) in directory sox-code/msvc10 (if needed, change build configuration form Debug to Release)
  • in the Solution Explorer window open context-menu for sub-project LibMad and select Build (or in older VS versions Project OnlyBuild Only LibMad)
  • afterwards the compiled DLL is in sox-code/msvc10/Release (or Debug depending on the selected configuration)

tested with VisualStudio 2010 and Visual Studio 2017 CE

Upvotes: 0

bulltorious
bulltorious

Reputation: 7897

Steps to using SOX to create MP3s:

  1. Download latest version of SOX and install.
  2. Download libmad-0.dll and libmp3lame-0.dll. The currently only known trustworthy source is ossbuild but this requires you to download a 1.5 GB archive. The selected two files are available here and here.
  3. Add libmad-0.dll and libmp3lame-0.dll to the folder where SOX was installed to.
  4. Use the command line to convert a file to .mp3:

    sox input.wav -c 2 -C 128 output.mp3
    

Note: -c 2 makes it stereo, -C 128 specifies output as 128 kbps MP3

Upvotes: 76

Roman Mishin
Roman Mishin

Reputation: 501

You can download SoX binaries together with libmad.dll and libmp3lame.dll from http://www.videohelp.com/software/SoX

http://www.videohelp.com/download/sox-14.4.0-libmad-libmp3lame.zip

Upvotes: 7

Lindylex
Lindylex

Reputation: 41

I have put together the original SoX binary and libmad and libmp3lame from http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/

SoX binary for Win32 together with libmad and libmp3lame

Thanks that was easy. Thanks for sharing this easy solution.

Upvotes: 4

naim5am
naim5am

Reputation: 1374

Compiling SOX with Lame and Libmad for Windows http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx

Upvotes: 5

Related Questions