From 731102f24ed436858f331fc16b78ad9f510e5f69 Mon Sep 17 00:00:00 2001 From: Yusuke Goto Date: Wed, 1 Jan 2020 19:31:13 +0900 Subject: [PATCH] fix unknown encoder error --- spleeter/audio/ffmpeg.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/spleeter/audio/ffmpeg.py b/spleeter/audio/ffmpeg.py index df837b3..168ec36 100644 --- a/spleeter/audio/ffmpeg.py +++ b/spleeter/audio/ffmpeg.py @@ -34,6 +34,15 @@ def _to_ffmpeg_time(n): return '%d:%02d:%09.6f' % (h, m, s) +def _to_ffmpeg_codec(codec): + ffmpeg_codecs = { + 'm4a': 'aac', + 'ogg': 'libvorbis', + 'wma': 'wmav2', + } + return ffmpeg_codecs.get(codec) or codec + + class FFMPEGProcessAudioAdapter(AudioAdapter): """ An AudioAdapter implementation that use FFMPEG binary through subprocess in order to perform I/O operation for audio processing. @@ -112,7 +121,7 @@ class FFMPEGProcessAudioAdapter(AudioAdapter): if bitrate: output_kwargs['audio_bitrate'] = bitrate if codec is not None and codec != 'wav': - output_kwargs['codec'] = codec + output_kwargs['codec'] = _to_ffmpeg_codec(codec) process = ( ffmpeg .input('pipe:', format='f32le', **input_kwargs)