shithub: opus

Download patch

ref: 06511ba5a4b154b7600ed1bdd6b5345494467e44
parent: f884d7bf1892904c4318e75cdb909e7485583ded
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Tue Jun 26 18:52:24 EDT 2018

Add convolution

--- a/dnn/lpcnet.py
+++ b/dnn/lpcnet.py
@@ -23,13 +23,22 @@
     conv1 = Conv1D(16, 7, padding='causal')
     pconv1 = Conv1D(16, 5, padding='same')
     pconv2 = Conv1D(16, 5, padding='same')
+    fconv1 = Conv1D(128, 3, padding='same')
+    fconv2 = Conv1D(32, 3, padding='same')
 
-    cpcm = conv1(pcm)
-    cpitch = pconv2(pconv1(pitch))
+    if True:
+        cpcm = conv1(pcm)
+        cpitch = pconv2(pconv1(pitch))
+    else:
+        cpcm = pcm
+        cpitch = pitch
+
+    cfeat = fconv2(fconv1(feat))
+
     rep = Lambda(lambda x: K.repeat_elements(x, 160, 1))
 
     rnn = CuDNNGRU(rnn_units, return_sequences=True)
-    rnn_in = Concatenate()([cpcm, cpitch, rep(feat)])
+    rnn_in = Concatenate()([cpcm, cpitch, rep(cfeat)])
     md = MDense(pcm_levels, activation='softmax')
     ulaw_prob = md(rnn(rnn_in))
     
--- a/dnn/train_lpcnet.py
+++ b/dnn/train_lpcnet.py
@@ -62,7 +62,7 @@
 # f.create_dataset('data', data=in_data[:50000, :, :])
 # f.create_dataset('feat', data=features[:50000, :, :])
 
-checkpoint = ModelCheckpoint('lpcnet1e_{epoch:02d}.h5')
+checkpoint = ModelCheckpoint('lpcnet1g_{epoch:02d}.h5')
 
 #model.load_weights('wavernn1c_01.h5')
 model.compile(optimizer=Adam(0.002, amsgrad=True, decay=2e-4), loss='sparse_categorical_crossentropy', metrics=['sparse_categorical_accuracy'])
--