前提
用いているプログラミング言語:python
データセット:https://github.com/karolpiczak/ESC-50
参考にしているサイト:https://magazine.techacademy.jp/magazine/28780
音声処理初心者で、プログラミングが苦手な学生です。いろいろ調べて行っているのですが、中々答えにたどり着けずにいます。
私と同じようなことを行っているサイトがありましたら教えていただけますでしょうか。
WAVファイルをkmeans法で分類したことのある方がいらっしゃいましたら教えていただきたいです。
実現したいこと
・音声ファイルをkmeans法で分類したい
・”mix.wav”はESC-50-masterの中の音声データ2つを重ね合わせたもの
発生している問題・エラーメッセージ
・前処理の段階でエラーが出てしまう
エラーメッセージ
AttributeError Traceback (most recent call last)
Cell In[4], line 3
1 with wave.open(FILE_PATH , 'rb') as wr:
2 #前処理
----> 3 dataframe = pd.read_wav('FILE_PATH')
4 # df = pd.DataFrame(data=FILE_PATH)
5 print(df.head())
File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas_init_.py:264, in getattr(name)
260 from pandas.core.arrays.sparse import SparseArray as _SparseArray
262 return _SparseArray
--> 264 raise AttributeError(f"module 'pandas' has no attribute '{name}'")
AttributeError: module 'pandas' has no attribute 'read_wav'
該当のソースコード
python
1from matplotlib import pyplot as plt 2from sklearn import datasets, preprocessing 3from sklearn.cluster import KMeans 4import numpy as np 5import pandas as pd 6import wave 7 8#データの読み込み 9#wav=open("./ESC-50-master/audio/mix.wav") 10#sample = wav.load() 11 12# 読み込みモードでWAVファイルを開く 13FILE_PATH = "./ESC-50-master/audio/mix.wav" 14 15with wave.open(FILE_PATH , 'rb') as wr: 16 #前処理 17 dataframe = pd.read_wav('FILE_PATH') 18 # df = pd.DataFrame(data=FILE_PATH) 19 print(df.head()) 20 21 #クラスタリング用のデータの整形 22 X=df[["cat","sheep"]] 23 sc = preprocessing.StandardScaler() 24 sc.fit(X) 25 X_norm = sc.transform(X) 26 print(type(X_norm)) 27 28 #クラスタリング 29 cls = KMeans(n_clusters=2) 30 result = cls.fit(X_norm) 31 32 #結果の出力 33 plt.scatter(X_norm[:,0],X_norm[:,1], c=result.labels_) 34 plt.scatter(result.cluster_centers_[:,0],result.cluster_centers_[:,1],s=250, marker='*',c='red') 35 plt.show()
試したこと
・WAVファイルはpandasでは開けないのかと考え、WAVファイルをpandasが読み込めるファイルに変換しようと考えたができなかった。
・pandasを用いない前処理も探したが見つけることが出来なかった
・mix.wav をスペクトログラム変換したのだが、これは前処理が終わったとは言えない…?
・WAVファイルをkmeans法で分類しているサイトを探したが出てこなかった(CNNを用いているものばかりだった)
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件