r9y9 / nnmnkwii

Library to build speech synthesis systems designed for easy and fast prototyping.
https://r9y9.github.io/nnmnkwii/latest/
Other
393 stars 73 forks source link

nnmnkwii/nnmnkwii/paramgen/_mlpg.py #113

Open XiaoshanHsj opened 3 years ago

XiaoshanHsj commented 3 years ago

line 121 b = P\mu

I think it should be "b = \sum{l} W{l}^{T}P_{l}\mu“

bs = precisions * means => P_{l}\mu bm.dot_mv_plus_equals(win_mat.T, b_frames[:, winindex], target=b) => W{l}^{T}

r9y9 commented 3 years ago

Hi, sorry for the super delay. If possible, could you describe in more details why the changes are needed?

XiaoshanHsj commented 3 years ago

firstly, bs = precisions * means, so bs = U^{-1} · M^{T}, where U -> variance matrix, M -> mean matrix (\mu); then "b, P = build_poe(bs, precisions, win_mats)" in function of build_poe(), we can see that "bm.dot_mv_plus_equals(win_mat.T, b_frames[:, win_index], target=b)" so b = W^{T} · bs = W^{T} · U^{-1} · M^{T} = W^{T} · P · M^{T}