SpeechScore / scores /bsseval.py
alibabasglab's picture
Update scores/bsseval.py
d67d869 verified
raw
history blame
757 Bytes
import numpy as np
from basis import ScoreBasis
class BSSEval(ScoreBasis):
def __init__(self):
super(BSSEval, self).__init__(name='BSSEval')
self.intrusive = False
def windowed_scoring(self, audios, score_rate):
bss_window = np.inf
bss_hop = np.inf
from museval.metrics import bss_eval
if len(audios) != 2:
return None
result = bss_eval(reference_sources=audios[1][None,...], # shape: [nsrc, nsample, nchannels]
estimated_sources=audios[0][None,...],
window=bss_window * score_rate,
hop=bss_hop * score_rate)
return {'SDR': result[0][0][0], 'ISR': result[1][0][0], 'SAR': result[3][0][0]}