In [1]:
import sys
sys.path.append('/Users/spacecoffin/Development')
import GravelKicker as gk
import librosa
import numpy as np
import os
import pandas as pd
from datetime import datetime
from supriya.tools import nonrealtimetools
In [2]:
this_dir = '/Users/spacecoffin/Development/GravelKicker/__gen_files'
In [86]:
pmtx = gk.generator.gendy1.gen_params(rows=10)
In [27]:
df = gk.generator.gendy1.format_params(pmtx)
#df = df.set_index(['hash']).sort_index()
df.head()
Out[27]:
In [ ]:
%%time
for i, row in df.iterrows():
session = nonrealtimetools.Session()
builder = gk.generator.gendy1.make_builder(row)
out = gk.generator.gendy1.build_out(builder)
synthdef = builder.build()
with session.at(0):
synth_a = session.add_synth(duration=10, synthdef=synthdef)
gk.util.render_session(session, this_dir, row["hash"])
In [64]:
for i, row in df.iterrows():
y, sr = librosa.load(os.path.join(this_dir, "aif_files", row["hash"] + ".aiff"))
_y_normed = librosa.util.normalize(y)
_mfcc = librosa.feature.mfcc(y=_y_normed, sr=sr, n_mfcc=13)
_cent = np.mean(librosa.feature.spectral_centroid(y=_y_normed, sr=sr))
_mfcc_mean = gk.feature_extraction.get_stats(_mfcc)["mean"]
X_row = np.append(_mfcc_mean, _cent)
if i==0:
X_mtx = X_row
else:
X_mtx = np.vstack((X_mtx, X_row))
In [72]:
def col_rename_4_mfcc(c):
if (c < 13):
return "mfcc_mean_{}".format(c)
else:
return "spectral_centroid"
In [77]:
X_df = pd.DataFrame(X_mtx)
X_df = X_df.rename_axis(lambda c: col_rename_4_mfcc(c), axis=1)
#X_df = X_df.rename_axis(lambda c: "mfcc_mean_{}".format(c) if (c < 13) else "spectral_centroid", axis=1)
X_df
Out[77]:
In [80]:
%%time
pd.DataFrame(feat_row).T
Out[80]:
In [ ]:
In [ ]:
In [ ]: