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

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

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

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

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

Q&A

1回答

2467閲覧

ffmpegのインストールとNoBackendErrorの解決

SR15_6PRO

総合スコア24

Python

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

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

0グッド

2クリップ

投稿2019/10/05 19:47

編集2019/10/07 07:49

下記の、
csvのリストを参照してフーリエ変換をかけ、スペクトログラム表示とcsv出力を行うコード
を動作させると発生するエラーを解決したいです。

python

1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3 4from __future__ import print_function 5import librosa 6import librosa.display 7import numpy as np 8import matplotlib.pyplot as plt 9import pandas as pd 10 11#DataList(wavファイルのリストを作成する) 12InDataList = pd.read_csv("InDataList.csv") 13OutDataList = pd.read_csv("OutDataList.csv") 14 15for i in range(len(InDataList)): 16 # ファイル読込 17 y, sr = librosa.load(InDataList.datalist[i]) 18 19 # ファイル読込 20 #y, sr = librosa.load('BRAVE JEWEL.wav') 21 22 # 短時間フーリエ変換 23 S = np.abs(librosa.stft(y)) 24 25 # 画像出力 26 plt.figure(figsize=(10,6)) 27 librosa.display.specshow(librosa.amplitude_to_db(S, ref=np.max), y_axis='log', x_axis='time') 28 plt.title('Power spectrogram') 29 plt.colorbar(format='%+2.0f dB') 30 31 #テラテイルよりアドバイス 32 #plt.yscale('linear') # 線形スケールに設定 33 #plt.yticks(np.arange(0, 10001, 1000)) # 目盛りを [0, 1000, 2000, ..., 10000] にする。 34 35 plt.tight_layout() 36 plt.show() 37 38 #Axesを描画する領域(Figure)を作成 39 fig = plt.figure(facecolor = "lightgray") 40 41 42 #https://jonkara.net/2018/10/07/librosa/ 43 #https://python.atelierkobato.com/matplotlib/ 44 45 ##np.savetxt("ab.csv", S, delimiter=",") 46 #np.savetxt("BRAVE JEWEL.csv", S, fmt="%.1f",delimiter=",") 47 ##%0.5fだと小数点以下5桁まで出力 48 49 #データ出力 50 np.savetxt(OutDataList.datalist[i], S, fmt="%.1f",delimiter=",") 51 #%0.5fだと小数点以下5桁まで出力 52

どうやらエラーの原因はffmpegがインストールされていないためのようで、インストールしたのち、パスを通し、コマンドラインでffmpegと入力するとバージョンが表示されるところまでは行いました。

しかし、上のコードを動作させるも、変わらず同じエラーが表示されます。内容は以下の通りです。

python

1Traceback (most recent call last): 2 File "spec_csv.py", line 17, in <module> 3 y, sr = librosa.load(InDataList.datalist[i]) 4 File "C:\Users\Owner\AppData\Local\Programs\Python\Python36\lib\site-packages\librosa\core\audio.py", line 119, in load 5 with audioread.audio_open(os.path.realpath(path)) as input_file: 6 File "C:\Users\Owner\AppData\Local\Programs\Python\Python36\lib\site-packages\audioread\__init__.py", line 116, in audio_open 7 raise NoBackendError() 8audioread.exceptions.NoBackendError

環境変数のパスは
変数: Path
値:  C:\Program Files\ffmpeg\bin
で登録してあります。

よろしくお願いいたします。

10/07追記
作業環境がanacondaですので、Anaconda Promptを使って
conda install -c conda-forge ffmpeg でffmpegをインストールしましたが動作しませんでした。

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

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

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

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

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

guest

回答1

0

同じエラーが表示されるということは、問題の原因はやはりffmpegのインストールがうまくいっていないことだと思います。

以下の記事を参考に、もう一度インストールしてみてください。

参考記事:python librosaチュートリアル

投稿2019/10/07 03:45

amahara_waya

総合スコア1029

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

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

SR15_6PRO

2019/10/07 08:02 編集

追記もしましたが、Anaconda Promptでインストールしましたが動きませんでした。 エラー内容は下記の通りです。 Traceback (most recent call last): File "spec-csv.py", line 17, in <module> y, sr = librosa.load(InDataList.datalist[i]) File "C:\Users\Owner\AppData\Local\Programs\Python\Python36\lib\site-packages\librosa\core\audio.py", line 119, in load with audioread.audio_open(os.path.realpath(path)) as input_file: File "C:\Users\Owner\AppData\Local\Programs\Python\Python36\lib\site-packages\audioread\__init__.py", line 116, in audio_open raise NoBackendError() audioread.exceptions.NoBackendError
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問