changed back to [0,1] normal
This commit is contained in:
parent
1a66f31048
commit
78ece6996f
22
data.py
22
data.py
@ -6,13 +6,15 @@ import mlflow
|
|||||||
|
|
||||||
SAMPLE_RATE = 22050
|
SAMPLE_RATE = 22050
|
||||||
|
|
||||||
@mlflow.trace
|
#@mlflow.trace
|
||||||
def process_file(file_path):
|
def process_file(file_path):
|
||||||
"""
|
"""
|
||||||
Load 10 second chunks single song.
|
Load 10 second chunks single song.
|
||||||
"""
|
"""
|
||||||
y, sr = librosa.load(file_path, mono=True, sr=SAMPLE_RATE)
|
y, sr = librosa.load(file_path, mono=True, sr=SAMPLE_RATE)
|
||||||
size = int(SAMPLE_RATE * 5)
|
if(not sr == SAMPLE_RATE):
|
||||||
|
return []
|
||||||
|
size = int(SAMPLE_RATE * 10)
|
||||||
sample_len = len(y)
|
sample_len = len(y)
|
||||||
|
|
||||||
file_chunks = []
|
file_chunks = []
|
||||||
@ -20,18 +22,19 @@ def process_file(file_path):
|
|||||||
end = start_pos + size
|
end = start_pos + size
|
||||||
if end <= sample_len:
|
if end <= sample_len:
|
||||||
chunk = y[start_pos:end]
|
chunk = y[start_pos:end]
|
||||||
chunk = librosa.feature.melspectrogram(y=chunk,sr=SAMPLE_RATE)
|
#chunk = librosa.feature.melspectrogram(y=chunk,sr=SAMPLE_RATE)
|
||||||
chunk = ((librosa.amplitude_to_db(chunk,ref=np.max)+40)/40)
|
#chunk = ((librosa.amplitude_to_db(chunk,ref=np.max)+40)/40)
|
||||||
file_chunks.append(chunk)
|
file_chunks.append(chunk)
|
||||||
return file_chunks
|
return file_chunks
|
||||||
|
|
||||||
@mlflow.trace
|
#@mlflow.trace
|
||||||
def load():
|
def load():
|
||||||
"""
|
"""
|
||||||
Load 10 second chunks of songs.
|
Load 10 second chunks of songs.
|
||||||
"""
|
"""
|
||||||
audio = []
|
audio = []
|
||||||
files = list(Path("./data/").glob("*.mp3"))
|
files = list(Path("./data/").glob("*.mp3"))
|
||||||
|
#files = files[:12]
|
||||||
with Pool(cpu_count()) as pool:
|
with Pool(cpu_count()) as pool:
|
||||||
chunk_list = pool.map(process_file, files)
|
chunk_list = pool.map(process_file, files)
|
||||||
for l in chunk_list:
|
for l in chunk_list:
|
||||||
@ -52,15 +55,12 @@ def audio_split(audio):
|
|||||||
x = librosa.feature.melspectrogram(y=x, sr=SAMPLE_RATE)
|
x = librosa.feature.melspectrogram(y=x, sr=SAMPLE_RATE)
|
||||||
y = librosa.feature.melspectrogram(y=y, sr=SAMPLE_RATE)
|
y = librosa.feature.melspectrogram(y=y, sr=SAMPLE_RATE)
|
||||||
|
|
||||||
ma,mi = x.max(), x.min()
|
x = ((librosa.amplitude_to_db(x,ref=np.max)+80)/80)
|
||||||
x = (x - mi) / (ma - mi)
|
y = ((librosa.amplitude_to_db(y,ref=np.max)+80)/80)
|
||||||
|
|
||||||
ma,mi = y.max(), y.min()
|
|
||||||
y = (y - mi) / (ma - mi)
|
|
||||||
|
|
||||||
return x,y
|
return x,y
|
||||||
|
|
||||||
def detaset(chunks):
|
def dataset(chunks):
|
||||||
"""
|
"""
|
||||||
convert 10 second chunks to dataset
|
convert 10 second chunks to dataset
|
||||||
"""
|
"""
|
||||||
|
|||||||
4
show.py
4
show.py
@ -6,7 +6,7 @@ import mlflow
|
|||||||
SAMPLE_RATE = 22050
|
SAMPLE_RATE = 22050
|
||||||
|
|
||||||
def logSpec(spec,e):
|
def logSpec(spec,e):
|
||||||
#spec = ((spec*40)-40)
|
spec = ((spec*80)-80)
|
||||||
#spec = librosa.db_to_amplitude(spec)
|
#spec = librosa.db_to_amplitude(spec)
|
||||||
plt.figure(figsize=(10, 4))
|
plt.figure(figsize=(10, 4))
|
||||||
librosa.display.specshow(spec, sr=SAMPLE_RATE,
|
librosa.display.specshow(spec, sr=SAMPLE_RATE,
|
||||||
@ -15,7 +15,7 @@ def logSpec(spec,e):
|
|||||||
plt.colorbar(format='%+2.0f dB')
|
plt.colorbar(format='%+2.0f dB')
|
||||||
plt.title('Mel spectrogram')
|
plt.title('Mel spectrogram')
|
||||||
mlflow.log_figure(plt.gcf(), f"output_{e}.png")
|
mlflow.log_figure(plt.gcf(), f"output_{e}.png")
|
||||||
#plt.close()
|
plt.close()
|
||||||
|
|
||||||
def playSpec(spec):
|
def playSpec(spec):
|
||||||
S = librosa.feature.inverse.mel_to_stft(spec, sr=SAMPLE_RATE)
|
S = librosa.feature.inverse.mel_to_stft(spec, sr=SAMPLE_RATE)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user