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'])
--
⑨