Conversation
x86: stft/istft as embedded convolution1d with precomputed dft basis weights vulkan: dedicated shaders, per-thread (frame, bin) for stft, gather overlap-add for istft naive implementations untouched as reference
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1be6de8ff6
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 921a1418ea
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a9b0bb916e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 651106c5ec
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 238011434e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Please enable github action in YOUR FORKED REPO to make code-format workflow work |
Implement fast STFT/ISTFT for the Spectrogram and InverseSpectrogram
layers on both x86 and Vulkan. The existing naive CPU implementations
are kept untouched as reference.
x86:
precomputed at load_param into a weight matrix (kernel = n_fft,
stride = hop_len, out channels = 2 * freqs), so the whole forward is a
single optimized conv1d instead of a per-frame FFT loop.
inverse-DFT basis including window), followed by overlap-add with
window^2 normalization.
Vulkan:
ISTFT uses a gather-style overlap-add with window^2 normalization.
Both paths honor the existing layer parameters: center padding
(constant / replicate / reflect), onesided, power (magnitude) mode and
the normalized flag.
Files:
Motivation: torchaudio-style spectrogram/ISTFT are hot spots in
voice/audio pipelines (e.g. RVC); these implementations avoid the naive
per-frame loops and keep the computation on-device.