Toward Complex-Valued Neural Networks for Waveform Generation
Organizations: Department of Artificial Intelligence Korea University Seoul, Republic of Korea
Abstract
Neural vocoders have recently advanced waveform generation, yielding natural and expressive audio. Among these approaches, iSTFT-based vocoders have recently gained attention. They predict a complex-valued spectrogram and then synthesize the waveform via iSTFT, thereby avoiding learned upsampling stages that can increase computational cost. However, current approaches use real-valued networks that process the real and imaginary parts independently. This separation limits their ability to capture the inherent structure of complex spectrograms. We present ComVo, a Complex-valued neural Vocoder whose generator and discriminator use native complex arithmetic. This enables an adversarial training framework that provides structured feedback in complex-valued representations. To guide phase transformations in a structured manner, we introduce phase quantization, which discretizes phase values and regularizes the training process. Finally, we propose a block-matrix computation scheme to improve training efficiency by reducing redundant operations. Experiments demonstrate that ComVo achieves higher synthesis quality than comparable real-valued baselines, and that its block-matrix scheme reduces training time by 25%. Audio samples and code are available at https://hs-oh-prml.github.io/ComVo/.
Figures & tables
| Model | JSD (mag.) | JSD (phase) |
|---|---|---|
| RVNN | 0.018350 0.014 | 0.021110 0.036 |
| CVNN | 0.006548 0.003 | 0.003911 0.002 |
| Model | UTMOS | MR-STFT | PESQ | Periodicity | V/UV F1 | MOS | CMOS |
|---|---|---|---|---|---|---|---|
| GT | 3.8712 | - | - | - | - | 4.08 0.04 | |
| HiFi-GAN | 3.3453 | 1.0455 | 2.9360 | 0.1554 | 0.9174 | 4.00 0.05 | |
| iSTFTNet | 3.3591 | 1.1046 | 2.8136 | 0.1476 | 0.9243 | 3.98 0.05 | |
| BigVGAN | 3.5197 | 0.8994 | 3.6122 | 0.1181 | 0.9418 | 4.05 0.05 | |
| Vocos | 3.6025 | 0.8856 | 3.6266 | 0.1061 | 0.9522 | 4.05 0.05 | |
| ComVo | 3.6901 | 0.8439 | 3.8239 | 0.0903 | 0.9609 | 4.07 0.05 |
| Model | MR-STFT | PESQ | Periodicity | V/UV F1 |
|---|---|---|---|---|
| HiFi-GAN | 1.1909 | 2.3592 | 0.1804 | 0.9004 |
| iSTFTNet | 1.2388 | 2.2357 | 0.1815 | 0.9102 |
| BigVGAN | 0.9658 | 3.2391 | 0.1388 | 0.9340 |
| Vocos | 0.9307 | 3.2785 | 0.1369 | 0.9361 |
| ComVo | 0.8776 | 3.5220 | 0.1304 | 0.9384 |
| Model | Vocals | Drums | Bass | Others | Mixture | Average |
|---|---|---|---|---|---|---|
| GT | 4.31 0.11 | 4.25 0.12 | 4.26 0.12 | 4.29 0.11 | 4.37 0.11 | 4.29 0.11 |
| HiFi-GAN | 3.83 0.14 | 3.93 0.13 | 3.43 0.19 | 3.21 0.19 | 3.60 0.16 | 3.61 0.16 |
| iSTFTNet | 3.82 0.14 | 4.03 0.13 | 3.37 0.18 | 3.17 0.19 | 3.52 0.17 | 3.59 0.17 |
| BigVGAN | 4.07 0.12 | 4.19 0.12 | 3.59 0.17 | 3.57 0.15 | 3.96 0.12 | 3.88 0.14 |
| Vocos | 4.04 0.12 | 4.10 0.13 | 3.58 0.16 | 3.52 0.17 | 3.87 0.13 | 3.82 0.14 |
| ComVo | 4.05 0.12 | 4.14 0.12 | 3.60 0.17 | 3.68 0.16 | 3.98 0.13 | 3.89 0.14 |
| Model | UTMOS | MR-STFT | PESQ | Periodicity | V/UV F1 |
|---|---|---|---|---|---|
| MPD only | 3.6357 | 0.8522 | 3.7670 | 0.0942 | 0.9613 |
| MRD only | 2.8338 | 0.8442 | 3.9868 | 0.0870 | 0.9610 |
| cMRD only | 2.9285 | 0.8398 | 4.0149 | 0.0859 | 0.9635 |
| 3.6025 | 0.8856 | 3.6266 | 0.1061 | 0.9522 | |
| 3.5930 | 0.8679 | 3.6399 | 0.1060 | 0.9497 | |
| 3.6452 | 0.8597 | 3.7375 | 0.0978 | 0.9567 |
| Quantization | UTMOS | MR-STFT | PESQ | Periodicity | V/UV F1 |
|---|---|---|---|---|---|
| 0 | 3.6646 | 0.8435 | 3.7756 | 0.0915 | 0.9625 |
| 128 | 3.6901 | 0.8439 | 3.8239 | 0.0903 | 0.9609 |
| 256 | 3.6423 | 0.8466 | 3.8127 | 0.0926 | 0.9597 |
| 512 | 3.6412 | 0.8489 | 3.8248 | 0.0896 | 0.9613 |
| Implementation | MR-STFT | GPU xRT | Training Time | Nodes (Gen / cMRD) |
|---|---|---|---|---|
| Native PyTorch | 0.8465 | 702.26 | 183 hrs | 5686 / 4248 |
| Block-matrix | 0.8435 | 696.91 | 138 hrs | 2547 / 1404 |
| Model | Params. (M) | Memory (MB) | UTMOS | MR-STFT | PESQ | Periodicity | V/UV F1 |
|---|---|---|---|---|---|---|---|
| 13.54 | 51.62 | 3.6025 | 0.8856 | 3.6266 | 0.1061 | 0.9522 | |
| 2 | 27.05 | 103.19 | 3.6164 | 0.8622 | 3.6336 | 0.1055 | 0.9524 |
| 13.28 | 101.24 | 3.6452 | 0.8597 | 3.7375 | 0.0978 | 0.9567 |
Appendix figures & tables21 assets
Supplementary material from the paper’s appendix.
Appendix
| Component | CVNN | RVNN |
|---|---|---|
| Input | ||
| Hidden dimension | 128 | 256 |
| Depth | 4 | 4 |
| Layer type | Complex Linear | Linear |
| Activation | Complex LeakyReLU | LeakyReLU |
| Output |
| Implementation | Gen Forward (s) | Gen Backward (s) | Disc Forward (s) | Disc Backward (s) |
|---|---|---|---|---|
| Native PyTorch | 0.005288 | 0.234591 | 0.079073 | 0.190067 |
| Gaussian trick | 0.005160 | 0.231545 | 0.074103 | 0.184894 |
| Block‐matrix | 0.005786 | 0.181283 | 0.050389 | 0.139159 |
| Metric | Conv1d | Conv2d | Linear |
|---|---|---|---|
| Input gradient | 2e-09 | 6e-09 | 8e-10 |
| Forward output | 4e-09 | 1e-08 | 7e-09 |
| Forward output gradient | 9e-09 | 2e-08 | 1e-08 |
| Weight | 0e+00 | 0e+00 | 0e+00 |
| Weight gradient | 1e-07 | 4e-07 | 4e-08 |
| Bias | 0e+00 | 0e+00 | 0e+00 |
| Metric | Generator | Discriminator |
|---|---|---|
| Forward output | 7e-06 | 5e-06 |
| Loss | 5e-07 | 2e-07 |
| Gradient | 5e-06 | 1e-06 |
| Model | UTMOS | MR-STFT | PESQ | Periodicity | V/UV F1 |
|---|---|---|---|---|---|
| Real Conv | 3.6337 | 0.8610 | 3.7774 | 0.0980 | 0.9574 |
| Complex Conv w/o PQ | 3.6646 | 0.8435 | 3.7756 | 0.0915 | 0.9625 |
| Complex Conv w/ PQ | 3.6901 | 0.8439 | 3.8239 | 0.0903 | 0.9609 |
| Model | UTMOS | MR-STFT | PESQ | Periodicity | V/UV F1 |
|---|---|---|---|---|---|
| APNet | 2.4015 | 1.3375 | 2.8457 | 0.1582 | 0.9185 |
| APNet2 | 2.7379 | 1.1582 | 2.7748 | 0.1448 | 0.9243 |
| FreeV | 2.6971 | 1.1782 | 2.7960 | 0.1581 | 0.9105 |
| ComVo | 3.6901 | 0.8439 | 3.8239 | 0.0903 | 0.9609 |
| Model | Implementation Source |
|---|---|
| iSTFTNet | https://github.com/rishikksh20/iSTFTNet-pytorch |
| HiFi-GAN | https://github.com/jik876/hifi-gan |
| BigVGAN | https://github.com/NVIDIA/BigVGAN |
| Vocos | https://github.com/gemelo-ai/vocos |
| APNet | https://github.com/YangAi520/APNet |
| APNet2 | https://github.com/redmist328/APNet2 |
| Model | Implementation Source |
|---|---|
| UTMOS | https://github.com/sarulab-speech/UTMOS22 |
| MR-STFT | https://github.com/csteinmetz1/auraloss |
| PESQ | https://github.com/ludlows/PESQ |
| Periodicity RMSE & V/UV F1 score | https://github.com/descriptinc/cargan |
| Model | Params. (M) | UTMOS | MR-STFT | PESQ | Periodicity | V/UV F1 |
|---|---|---|---|---|---|---|
| GT | - | 3.8712 | - | - | - | - |
| BigVGAN (large) | 112.41 | 3.5489 | 0.8644 | 3.8197 | 0.0888 | 0.9607 |
| Vocos (large) | 114.51 | 3.6923 | 0.8625 | 3.8362 | 0.0933 | 0.9596 |
| ComVo (large) | 114.56 | 3.7337 | 0.8443 | 3.8831 | 0.0871 | 0.9629 |
| Mel-spectrogram | ||
|---|---|---|
| Sampling rate | 24,000 | |
| FFT size | 1024 | |
| Hop length | 256 | |
| Window size | 1024 | |
| Mel bins | 100 | |
| Generator | Base | Large |