「wavファイルのリストを作成する」方法を教えてください。
wavファイルを読み込み、スペクトログラムを表示し、スペクトログラムのデータをcsvで保存するコードをまず私が書き、
それを先生に加工してもらい、データのリストをfor文でなぞっていくコードにしてもらいました。
以下がそのコードです。
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 len(DataList): 16 # ファイル読込 17 y, sr = librosa.load(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[i], S, fmt="%.1f",delimiter=",") 51 #%0.5fだと小数点以下5桁まで出力 52
11行目から、
python
1#DataList(wavファイルのリストを作成する) 2InDataList = pd.read_csv("InDataList.csv") 3OutDataList = pd.read_csv("OutDataList.csv")
と書いてあるのですが、これはあらかじめどのようなファイル、データを作っておけばよいのでしょうか?
プログラミングに関して、まだ知らないことばかりなので質問自体にも不備があることと思いますが、どうかよろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。