We lifted 14 functions out of this paper's own repositories and ran 13 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| yxlu-0102/MP-SENet | canonical | 13 of 14 |
| Function | Status | Where it lives |
|---|---|---|
| load_checkpoint | Ran | yxlu-0102/MP-SENet/inference.py code served (permissive licence) · get_code("1644a2f2942ffe4c") |
| anti_wrapping_function | Ran | yxlu-0102/MP-SENet/models/model.py code served (permissive licence) · get_code("d62ed59ff4c8e24b") |
| get_dataset_filelist | Ran | yxlu-0102/MP-SENet/dataset.py code served (permissive licence) · get_code("c8e0c267926f67c8") |
| get_padding | Ran | yxlu-0102/MP-SENet/models/conformer.py code served (permissive licence) · get_code("a26f85d7c72ef39a") |
| get_padding_2d | Ran | yxlu-0102/MP-SENet/utils.py code served (permissive licence) · get_code("4d00da8ae6eb3bed") |
| llr | Ran | yxlu-0102/MP-SENet/cal_metrics/compute_metrics.py code served (permissive licence) · get_code("7e2312430b61853a") |
| mag_pha_istft | Ran | yxlu-0102/MP-SENet/dataset.py code served (permissive licence) · get_code("adf3c93b360b1cbf") |
| mag_pha_stft | Ran | yxlu-0102/MP-SENet/dataset.py code served (permissive licence) · get_code("ef7bc5d004029146") |
| phase_losses | Ran | yxlu-0102/MP-SENet/models/model.py code served (permissive licence) · get_code("3ab2f3d7f6b6899d") |
| plot_spectrogram | Ran | yxlu-0102/MP-SENet/utils.py code served (permissive licence) · get_code("fea9c37e82071835") |
| scan_checkpoint | Ran | yxlu-0102/MP-SENet/inference.py code served (permissive licence) · get_code("404632cb4f4669da") |
| sisdr | Ran | yxlu-0102/MP-SENet/cal_metrics/cal_metrics_dns.py code served (permissive licence) · get_code("f0e76e5a8f1370c1") |
| wss | Ran | yxlu-0102/MP-SENet/cal_metrics/compute_metrics.py code served (permissive licence) · get_code("a3b64b4cf555f96f") |
| metric_loss | Not yet run | yxlu-0102/MP-SENet/models/discriminator.py code served (permissive licence) · get_code("f4486919199f4a94") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Phase information has a significant impact on speech perceptual quality and intelligibility. However, existing speech enhancement methods encounter limitations in explicit phase estimation due to the non-structural nature and wrapping characteristics of the phase, leading to a bottleneck in enhanced speech quality. To overcome the above issue, in this paper, we proposed MP-SENet, a novel Speech Enhancement Network that explicitly enhances Magnitude and Phase spectra in parallel. The proposed MP-SENet comprises a Transformer-embedded encoder-decoder architecture. The encoder aims to encode the input distorted magnitude and phase spectra into time-frequency representations, which are further fed into time-frequency Transformers for alternatively capturing time and frequency dependencies. The decoder comprises a magnitude mask decoder and a phase decoder, directly enhancing magnitude and wrapped phase spectra by incorporating a magnitude masking architecture and a phase parallel estimation architecture, respectively. Multi-level loss functions explicitly defined on the magnitude spectra, wrapped phase spectra, and short-time complex spectra are adopted to jointly train the MP-SENet model. A metric discriminator is further employed to compensate for the incomplete correlation between these losses and human auditory perception. Experimental results demonstrate that our proposed MP-SENet achieves state-of-the-art performance across multiple speech enhancement tasks, including speech denoising, dereverberation, and bandwidth extension. Compared to existing phase-aware speech enhancement methods, it further mitigates the compensation effect between the magnitude and phase by explicit phase estimation, elevating the perceptual quality of enhanced speech.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2308.08926")
get_code_for_paper("2308.08926")
have("2308.08926")
Connect an agent — have() is free.