Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(conv_pre): Conv1d(80, 512, kernel_size=(7,), stride=(1,), padding=(3,)) #153

Open
a897456 opened this issue Oct 11, 2023 · 1 comment
Open

Comments

@a897456
Copy link

a897456 commented Oct 11, 2023

(conv_pre): Conv1d(80, 512, kernel_size=(7,), stride=(1,), padding=(3,))
(0): ConvTranspose1d(512, 256, kernel_size=(16,), stride=(8,), padding=(4,))
(1): ConvTranspose1d(256, 128, kernel_size=(16,), stride=(8,), padding=(4,))
(2): ConvTranspose1d(128, 64, kernel_size=(4,), stride=(2,), padding=(1,))
(3): ConvTranspose1d(64, 32, kernel_size=(4,), stride=(2,), padding=(1,))

My understanding is that: Convolution is the process by which the out_channel becomes smaller, and deconvolution is the process by which the out_channel becomes larger.
Why is it the opposite in the code?

@infected4098
Copy link

Deconvolution is the process of upsampling the input data into a certain shape. Since the function is transposed convolution 1D, the sequence length would be multipled by a factor of stride.

The Mel is a representation that is much more condensed compared to the original wav. However number of channels is bigger (e.g., 80, 128). Thus You need to make the channels concluded into 1 (Which is, Amplitude in the waveform) and then upsample it to a longer degree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants