Forensic-Noise-Classifier / utils /noise_classification.py
Knight-coderr's picture
Upload 6 files
0f06115 verified
raw
history blame
564 Bytes
import numpy as np
import librosa
import joblib
# Load your trained model + label encoder
clf = joblib.load("models/noise_classifier.pkl")
label_encoder = joblib.load("models/label_encoder.pkl")
def classify_noise(audio_path):
y, sr = librosa.load(audio_path, sr=None)
mfcc = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=13)
feature = np.mean(mfcc.T, axis=0).reshape(1, -1)
probs = clf.predict_proba(feature)[0]
top_idx = np.argsort(probs)[::-1][:5]
return [(label_encoder.inverse_transform([i])[0], probs[i]) for i in top_idx]