shithub: opus

Download patch

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
 
--