前提・実現したいこと
以下のソースコードでspleeterを使って音源分離をしようと考えています。
conda install -c conda-forge ffmpeg libsndfile
と
pip install spleeter
という形でインストールしました。
その後、該当のソースコードを実行したら、長めのエラーメッセージが出てきました。
これの詳細と解決方法を教えてほしいです。
SpleeterError: An error occurs with ffprobe (see ffprobe output below)
このあたりのエラーメッセージがヒントになるかもです。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- Error Traceback (most recent call last) ~\AppData\Roaming\Python\Python38\site-packages\spleeter\audio\ffmpeg.py in load(_, path, offset, duration, sample_rate, dtype) 100 try: --> 101 probe = ffmpeg.probe(path) 102 except ffmpeg._run.Error as e: ~\anaconda3\lib\site-packages\ffmpeg\_probe.py in probe(filename, cmd, **kwargs) 22 if p.returncode != 0: ---> 23 raise Error('ffprobe', out, err) 24 return json.loads(out.decode('utf-8')) Error: ffprobe error (see stderr output for detail) During handling of the above exception, another exception occurred: SpleeterError Traceback (most recent call last) <ipython-input-11-d3d28dd4619b> in <module> 16 # ボーカルとそれ以外に分離する(2音源) 17 separator_2stem = Separator('spleeter:2stems') ---> 18 separator_2stem.separate_to_file(input_audio, "./output/2stems") 19 20 # ボーカル、ベース、ドラムとそれ以外に分離する(4音源) ~\AppData\Roaming\Python\Python38\site-packages\spleeter\separator.py in separate_to_file(self, audio_descriptor, destination, audio_adapter, offset, duration, codec, bitrate, filename_format, synchronous) 374 if audio_adapter is None: 375 audio_adapter = AudioAdapter.default() --> 376 waveform, _ = audio_adapter.load( 377 audio_descriptor, 378 offset=offset, ~\AppData\Roaming\Python\Python38\site-packages\spleeter\audio\ffmpeg.py in load(_, path, offset, duration, sample_rate, dtype) 101 probe = ffmpeg.probe(path) 102 except ffmpeg._run.Error as e: --> 103 raise SpleeterError( 104 "An error occurs with ffprobe (see ffprobe output below)\n\n{}".format( 105 e.stderr.decode() SpleeterError: An error occurs with ffprobe (see ffprobe output below) ffprobe version 4.3.1 Copyright (c) 2007-2020 the FFmpeg developers built with gcc 10.2.1 (GCC) 20200726 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf 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 ./input/sample.wav: No such file or directory
該当のソースコード
python
1from spleeter.separator import Separator 2import os 3 4# 出力結果の保存場所をあらかじめ作っておく 5for i in (2, 4, 5): # 2音源、4音源、5音源 6 outdir_path = './output/' + str(i) + 'stems' 7 os.makedirs(outdir_path, exist_ok=True) 8 9# 分離対象となる音楽wav 10# https://soundcloud.com/ballforest/sample 11input_audio = "./input/sample.wav" 12 13# 初回実行時はモデルをダウンロードするため、「待ち」の時間がかかる 14# 事前にダウンロードすることも可能 (pretrained_model/2stems などに保存) 15 16# ボーカルとそれ以外に分離する(2音源) 17separator_2stem = Separator('spleeter:2stems') 18separator_2stem.separate_to_file(input_audio, "./output/2stems") 19 20# ボーカル、ベース、ドラムとそれ以外に分離する(4音源) 21separator_4stem = Separator('spleeter:4stems') 22separator_4stem.separate_to_file(input_audio, "./output/4stems") 23 24# ボーカル、ピアノ、ベース、ドラムとそれ以外に分離する(5音源) 25separator_5stem = Separator('spleeter:5stems') 26separator_5stem.separate_to_file(input_audio, "./output/5stems")
イタリックテキスト
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。