Libxをsox用にコンパイルしました。 mp3を読み込もうとすると、次のメッセージが表示されます。
sox FAIL util:MADデコーダーライブラリ(libmad)関数「mad_stream_buffer」をロードできません。
プロジェクトを間違ってコンパイルしましたか?
SOXを使用してMP3を作成する手順:
libmad-0.dll
とlibmp3lame-0.dll
をダウンロードしてください。現在知られている唯一の信頼できるソースは ossbuild ですが、これには1.5 GBのアーカイブをダウンロードする必要があります。選択した2つのファイルは ここ および ここ で利用できます。libmad-0.dll
およびlibmp3lame-0.dll
を追加します。コマンドラインを使用して、ファイルを.mp3
に変換します。
sox input.wav -c 2 -C 128 output.mp3
注:-c 2
はステレオにします。-C 128
は出力を128 kbps MP3として指定します
http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/ から、元のSoXバイナリとlibmadおよびlibmp3lameをまとめました
LameおよびLibmad for Windowsを使用したSOXのコンパイル http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx
Libmad.dllおよびlibmp3lame.dllと共にSoXバイナリを http://www.videohelp.com/software/SoX からダウンロードできます。
http://www.videohelp.com/download/sox-14.4.0-libmad-libmp3lame.Zip
http://code.google.com/p/ossbuild/source/browse/trunk/Shared/Build/Windows/Win32/bin/ から、元のSoXバイナリとlibmadおよびlibmp3lameをまとめました
Win32用のSoXバイナリとlibmadおよびlibmp3lame
おかげで簡単でした。この簡単なソリューションを共有していただきありがとうございます。
ソースからコンパイルする場合:
チュートリアル http://www.codeproject.com/KB/aspnet/Compiling_SOX_with_Lame.aspx の日付がかなり古いため(そして、より新しいVisualStudioバージョンでは機能しませんでした):
SOXプロジェクトには、WindowsでSOXとその依存関係/ライブラリをコンパイルするための、すぐに使用できるVisual Studioプロジェクトが含まれています(例:Visual Studio Community Editionを使用)。
SOXソースコード SourceForgeのリポジトリ には、SOXおよびVisualStudioとの依存関係をコンパイルするためのディレクトリmsvc10
(およびmsvc9
)が含まれています。その詳細な説明は Readme.txt にあります。
たとえば、libmad.dll
をコンパイルする場合のみ:
sox-code/
git clone https://git.code.sf.net/p/sox/code sox-code
libmad
ソースコードをダウンロード してディレクトリlibmad/
に解凍します(SOX VisualStudio Readme.txtの説明を参照、上記のリンクを参照)。つまり、ディレクトリ構造は次のようになります。お気に入りsox-code/
libmad/
*.sln
)をディレクトリsox-code/msvc10
で開きます(必要に応じて、ビルド構成フォームDebug
をRelease
に変更します) LibMad
のコンテキストメニューを開き、Build
を選択します(または古いVSバージョンではProject Only
→Build Only LibMad
)。sox-code/msvc10/Release
(または選択した構成に応じてDebug
)に含まれます)VisualStudio 2010およびVisual Studio 2017 CEでテスト済み