ref: 05f02aaa49382193bfe66586aea37b7d7b2aa0a2
parent: 3982144f8ed9d3b42e001b670929e95fd7d29f3e
author: Jean-Marc Valin <jmvalin@amazon.com>
date: Thu Feb 24 08:03:44 EST 2022
Adaptive bias Bias the energy for vowels, but not for consonants
--- a/dnn/training_tf2/train_plc.py
+++ b/dnn/training_tf2/train_plc.py
@@ -103,7 +103,8 @@
y_true = y_true[:,:,:-1]
e = (y_pred - y_true)*mask
e_bands = tf.signal.idct(e[:,:,:-2], norm='ortho')
- l1_loss = K.mean(K.abs(e)) + alpha*K.mean(K.abs(e_bands)) + K.mean(K.minimum(K.abs(e[:,:,18:19]),1.)) + 8*K.mean(K.minimum(K.abs(e[:,:,18:19]),.4))
+ bias_mask = K.minimum(1., K.maximum(0., 4*y_true[:,:,-1:]))
+ l1_loss = K.mean(K.abs(e)) + alpha*K.mean(K.abs(e_bands) + bias*bias_mask*K.maximum(0., e_bands)) + K.mean(K.minimum(K.abs(e[:,:,18:19]),1.)) + 8*K.mean(K.minimum(K.abs(e[:,:,18:19]),.4))
return l1_loss
return loss
--
⑨