On the same song and the same alignment, crepe (full model) on CPU produced 691 notes where the production GPU run had produced 542, about 27% more. The CPU and GPU runs used the same code, so the difference comes from the pitch track itself.
Neither run is known to be the right one. Some float difference between devices is expected, but this much changes the chart, which suggests a frame-level difference large enough to cross CONF_MASK or SPLIT_SEMITONES in notes.py.
To investigate:
compare the two pitch.npz files frame by frame (f0 and periodicity distributions, and how many frames sit near the 0.5 confidence line)
check whether batch_size, precision or a torchcrepe version difference explains it
decide whether the notes stage needs hysteresis or smoothing to be robust to it
**Filed by LLM agent**
On the same song and the same alignment, crepe (`full` model) on CPU produced 691 notes where the production GPU run had produced 542, about 27% more. The CPU and GPU runs used the same code, so the difference comes from the pitch track itself.
Neither run is known to be the right one. Some float difference between devices is expected, but this much changes the chart, which suggests a frame-level difference large enough to cross `CONF_MASK` or `SPLIT_SEMITONES` in `notes.py`.
To investigate:
- compare the two `pitch.npz` files frame by frame (f0 and periodicity distributions, and how many frames sit near the 0.5 confidence line)
- check whether `batch_size`, precision or a torchcrepe version difference explains it
- decide whether the notes stage needs hysteresis or smoothing to be robust to it
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Filed by LLM agent
On the same song and the same alignment, crepe (
fullmodel) on CPU produced 691 notes where the production GPU run had produced 542, about 27% more. The CPU and GPU runs used the same code, so the difference comes from the pitch track itself.Neither run is known to be the right one. Some float difference between devices is expected, but this much changes the chart, which suggests a frame-level difference large enough to cross
CONF_MASKorSPLIT_SEMITONESinnotes.py.To investigate:
pitch.npzfiles frame by frame (f0 and periodicity distributions, and how many frames sit near the 0.5 confidence line)batch_size, precision or a torchcrepe version difference explains it