Python實現批量將MP3音頻轉為WAV格式詳解
前言
本文提供批量將MP3格式的音頻轉為wav格式的工具代碼,一如既往的實用主義。
環境依賴
ffmpeg環境安裝,可以參考:windows ffmpeg安裝部署
ffmpy安裝:
pip install ffmpy -i https://pypi.douban.com/simple
代碼
不廢話,上代碼。
#!/user/bin/env python # coding=utf-8 """ @project : batch-pro @author : 劍客阿良_ALiang @file : audio_tool.py @ide : PyCharm @time : 2021-12-21 14:48:18 """ from ffmpy import FFmpeg import os # MP3轉wav def audio_transfor(audio_path: str, output_dir: str): ext = os.path.basename(audio_path).strip().split('.')[-1] if ext != 'mp3': raise Exception('format is not mp3') result = os.path.join(output_dir, '{}.{}'.format(os.path.basename(audio_path).strip().split('.')[0], 'wav')) filter_cmd = '-f wav -ac 1 -ar 16000' ff = FFmpeg( inputs={ audio_path: None}, outputs={ result: filter_cmd}) print(ff.cmd) ff.run() return result def handle(audio_dir: str, output_dir: str): for x in os.listdir(audio_dir): audio_transfor(os.path.join(audio_dir, x), output_dir)
代碼說明:
1、handle方法主要參數為:音頻目錄、輸出目錄。
2、audio_transfor方法主要參數為:音頻文件地址、輸出目錄。
3、主要通過handle方法批量對MP3音頻目錄進行遍歷處理。
4、會對音頻文件的後綴進行判斷,看是否為MP3。
驗證一下
準備瞭10個MP3文件。
執行代碼:
if __name__ == '__main__': handle('C:/Users/xx/Desktop/test1', 'C:/Users/xx/Desktop/test2')
執行過程
C:\Users\huyi\.conda\envs\ai_detection\python.exe D:/spyder/batch-pro/audio_tool.py ffmpeg -i C:/Users/huyi/Desktop/test1\1.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\1.wav ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 000001ad059c4640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\1.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:08:20.95, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\1.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 15655kB time=00:08:20.95 bitrate= 256.0kbits/s speed= 896x video:0kB audio:15655kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000487% ffmpeg -i C:/Users/huyi/Desktop/test1\10.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\10.wav ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 0000021a839a4640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\10.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:12:50.25, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\10.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 24070kB time=00:12:50.24 bitrate= 256.0kbits/s speed= 862x video:0kB audio:24070kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000316% ffmpeg -i C:/Users/huyi/Desktop/test1\2.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\2.wav ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 000002900b784640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\2.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:09:36.24, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\2.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 18007kB time=00:09:36.23 bitrate= 256.0kbits/s speed= 879x ffmpeg -i C:/Users/huyi/Desktop/test1\3.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\3.wav video:0kB audio:18007kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000423% ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 00000238ce244640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\3.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:07:00.73, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\3.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 13148kB time=00:07:00.72 bitrate= 256.0kbits/s speed= 886x video:0kB audio:13148kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000579% ffmpeg -i C:/Users/huyi/Desktop/test1\4.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\4.wav ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 0000024ada3a4640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\4.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:08:14.58, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\4.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 15456kB time=00:08:14.57 bitrate= 256.0kbits/s speed= 873x video:0kB audio:15456kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000493% ffmpeg -i C:/Users/huyi/Desktop/test1\5.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\5.wav ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 0000023e42064640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\5.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:07:08.67, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\5.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 13396kB time=00:07:08.66 bitrate= 256.0kbits/s speed= 850x video:0kB audio:13396kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000569% ffmpeg -i C:/Users/huyi/Desktop/test1\6.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\6.wav ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 0000021c487e4640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\6.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:06:22.93, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\6.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 11967kB time=00:06:22.92 bitrate= 256.0kbits/s speed= 883x video:0kB audio:11967kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000637% ffmpeg -i C:/Users/huyi/Desktop/test1\7.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\7.wav ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 000001bd2d4e4640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\7.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:08:09.64, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\7.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 15301kB time=00:08:09.63 bitrate= 256.0kbits/s speed= 837x ffmpeg -i C:/Users/huyi/Desktop/test1\8.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\8.wav video:0kB audio:15301kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000498% ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 0000026043684640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\8.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:08:05.04, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\8.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 15158kB time=00:08:05.04 bitrate= 256.0kbits/s speed= 614x video:0kB audio:15158kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000503% ffmpeg -i C:/Users/huyi/Desktop/test1\9.mp3 -f wav -ac 1 -ar 16000 C:/Users/huyi/Desktop/test2\9.wav ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3-win32 (GCC) 20200320 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 [mp3 @ 0000016a678d4640] Estimating duration from bitrate, this may be inaccurate Input #0, mp3, from 'C:/Users/huyi/Desktop/test1\9.mp3': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 encoder : Lavf57.71.100 Duration: 00:08:15.12, start: 0.000000, bitrate: 64 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 64 kb/s Stream mapping: Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'C:/Users/huyi/Desktop/test2\9.wav': Metadata: major_brand : M4A minor_version : 1 compatible_brands: isomiso2M4A mp42 ISFT : Lavf58.45.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.91.100 pcm_s16le size= 15473kB time=00:08:15.12 bitrate= 256.0kbits/s speed= 680x video:0kB audio:15473kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000492% Process finished with exit code 0
結果目錄:
OK,沒什麼問題。
到此這篇關於Python實現批量將MP3音頻轉為WAV格式詳解的文章就介紹到這瞭,更多相關Python MP3音頻轉為WAV格式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!