質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3099閲覧

spleeterによる音源分離について

SSDD

総合スコア11

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/10/28 15:56

前提・実現したいこと

以下のソースコードで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")

イタリックテキスト

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

エラーメッセージの一番下まで読んでいませんでした。
指定の音声ファイルを入力したら正常に稼働しました。

投稿2021/10/28 17:51

SSDD

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問