Wykres commitów

934 Commity (f03a8be4fc2855cdf06a847d5db82f7aa7531279)

Autor SHA1 Wiadomość Data
nyanpasu64 f03a8be4fc
Use regular trigger's smoothed mean for post triggering (#420) 2022-03-18 15:03:42 -07:00
nyanpasu64 93a5332203
Merge pull request #416 from corrscope/ignore-buffer-by-score 2022-03-17 14:37:42 -07:00
nyanpasu64 178d051ae9 Update CHANGELOG.md 2022-03-17 14:25:00 -07:00
nyanpasu64 71377a5329 Update docs to match triggering rewrite 2022-03-17 14:25:00 -07:00
nyanpasu64 f17f39eb71 Change default document settings
* Set mean_responsiveness to 0.

* Decrease default edge strength from 2.0 to 1.0. 2.0 seems to cause
  waves to lose track too often (but the optimum value varies by song).

* Increase default slope width to 0.25 period. It seems to work better
  in general. You can adjust it on a case-by-case basis though.

  The default value when loading older files missing the key has also
  changed to 0.25, since slope width is now necessary for triggering
  instead of being added to edge triggering in special cases.

* Set default "Reset Below Match" to 0.3. This level is harmless but not
  very useful (besides clearing the buffer upon silence, like all
  nonzero values). The optimal value varies wildly by song and "Buffer
  Responsiveness".
2022-03-17 10:11:48 -07:00
nyanpasu64 ec44bb7710 Don't increase slope strength when decreasing slope width
It feels more natural to adjust this way. Previously, decreasing slope
width made the trigger more likely to jump around between points in the
wave.
2022-03-17 10:11:48 -07:00
nyanpasu64 8935abf119 Don't use an absurdly wide buffer upon silence
It breaks triggering
(https://github.com/corrscope/corrscope/issues/404#issuecomment-1069557918)

This effectively reverts "When updating buffer with unknown period, use
N instead".
2022-03-17 09:11:10 -07:00
nyanpasu64 397237d795 Rewrite more code using kernel_size 2022-03-17 09:11:10 -07:00
nyanpasu64 58b690e6d9 Move edge triggering before buffer triggering in GUI
It makes sense to put edge direction on top.
2022-03-17 09:11:10 -07:00
nyanpasu64 55cd73fca8 Remove slope strength (reuse edge strength), always enable slope 2022-03-17 09:11:10 -07:00
nyanpasu64 d103e7a978 Clear and disable buffer on poor alignment 2022-03-17 09:11:10 -07:00
nyanpasu64 ddcd994417 Rewrite code using unified kernel_size and corr_nsamp 2022-03-17 08:55:18 -07:00
nyanpasu64 b985d3e187 Use separate kernels for peak-finding and scoring 2022-03-17 08:55:18 -07:00
nyanpasu64 942577dd39 When updating buffer with unknown period, use N instead 2022-03-17 08:55:18 -07:00
nyanpasu64 a4c9405566 Mark parameters as not in GUI 2022-03-17 08:55:18 -07:00
nyanpasu64 09f0032f84 Remove unused variable hint
This variable has been unused since "Replace edge kernel with running
sum" (aee559c1a2).
2022-03-16 18:07:09 -07:00
nyanpasu64 d64e0c3f83
Merge pull request #415 from corrscope/qtpy 2022-03-16 11:59:09 -07:00
nyanpasu64 8df6f247d4 Update CHANGELOG and README 2022-03-16 08:30:23 -07:00
Beetroot Paul ba248620dd Fix layout growth policy on macOS 2022-03-16 07:08:46 -07:00
nyanpasu64 9ca00eb26c Switch from QThread to threading.Thread to fix M1 NumPy crash 2022-03-16 07:08:46 -07:00
nyanpasu64 f5d3be9ff7 Fix QMutex error upon playback on PyQt6 2022-03-16 06:50:26 -07:00
nyanpasu64 908b512116 Fix BoundCheckBox on Qt 6 2022-03-16 06:49:10 -07:00
nyanpasu64 48df1bafab Update README with M1 and pipx installation instructions 2022-03-15 11:35:45 -07:00
nyanpasu64 3ba810c4d9 Port code to qtpy 2022-03-15 11:35:45 -07:00
nyanpasu64 dbfd884347 Replace PyQt5 with qtpy (doesn't work) 2022-03-15 11:35:45 -07:00
nyanpasu64 5fb2edc09a Install Qt5 in Appveyor 2022-03-15 11:35:45 -07:00
nyanpasu64 dcaf3fd18b Switch dependency to QtPy, add optional PyQt5 and PyQt6 2022-03-15 11:33:37 -07:00
nyanpasu64 79f443da06
Merge pull request #408 from corrscope/decouple-edge-and-kernel 2022-03-14 06:08:46 -07:00
nyanpasu64 aee559c1a2 Replace edge kernel with running sum
Previously we got triggering errors where instead of edge triggering
scores being decided by the waveform around the trigger point, it was
influenced by distant parts of the waveform moving across the wide
sloped portion of the edge detector kernel.

This commit replaces the edge kernel with a running sum, which acts like
an infinitely wide step kernel that the input data slides *within*. As a
result, the difference between the edge scores of two trigger points is
solely determined by the data between those points. (The step kernel and
history buffer are unaffected and still slide within the data.)

This makes triggering less likely to fail. However the global scoring
system sometimes prioritizes bad edges in good regions of the document.
This will be reexamined later.
2022-03-13 14:15:59 -07:00
nyanpasu64 b15e2ec690 Add mean responsiveness control (DC removal rate) 2022-03-13 14:15:59 -07:00
nyanpasu64 09df29d9ce
Fix preview error when clearing "Trigger/Render Width" table cells (#407) 2022-03-11 22:23:28 -08:00
nyanpasu64 fbb7cd6a94
Merge pull request #403 from corrscope/overlap-save 2022-03-11 21:24:34 -08:00
nyanpasu64 505a3bbba7 Decrease default trigger_ms to 40
This makes triggering faster, and 60 ms is hopefully unnecessary with
deterministic triggering. You'll still need to increase trigger_ms or
the per-channel trigger width multiplier for low bass below 50 Hz.
2022-03-11 21:08:08 -08:00
nyanpasu64 cdfe5dd37a Skip updating buffer if buffer strength disabled 2022-03-11 21:08:08 -08:00
nyanpasu64 ec8886fb23 Unbound slope width 2022-03-11 21:08:08 -08:00
nyanpasu64 b4e2e0248d Replace slope finder with Gaussian curve
This may or may not avoid bad triggering caused by the outside edges of
the slope finder. The actual bugfix was only permitting local maxima.
2022-03-11 21:08:08 -08:00
nyanpasu64 058e98e4e5 Only permit local maxima when picking a trigger point
This fixes triggering errors where the edge of the allowed range has
higher correlation than edges in-bounds, but isn't a rising edge itself
(a local maximum of alignment).
2022-03-11 21:08:08 -08:00
nyanpasu64 3f9869d3d8 Rewrite debug plotting system around absolute timestamps 2022-03-11 21:08:08 -08:00
nyanpasu64 9d2a55e6d1 Don't add slope finder if slope strength is disabled
This makes triggering slightly faster in the usual case where slope
triggering is disabled.
2022-03-11 21:08:08 -08:00
nyanpasu64 7b4910fd1e Rewrite test_post_stride() 2022-03-11 21:08:08 -08:00
nyanpasu64 ef2a6b9b98 Rewrite correlation trigger using overlap-save on unwindowed data
The data read from the input _wave (length A+B+_trigger_diameter) is
longer than the correlation buffer (length A+B), to ensure that when
sliding the buffer across the wave, no edge effects are encountered.
This is inspired by overlap-save convolution, but adapted to
cross-correlation.
2022-03-11 21:08:08 -08:00
nyanpasu64 9921ad900e Change PyCharm inspection profile
Not sure what's exactly going on here.
2022-03-09 23:43:15 -08:00
nyanpasu64 d6859e6f21
Merge pull request #397 from corrscope/refactor-trigger 2022-03-09 23:42:39 -08:00
nyanpasu64 e7b330cf3e Rename trigger variables for clarity 2022-03-09 23:33:01 -08:00
nyanpasu64 361dd37231 Fix get_period() comment 2022-03-09 23:33:01 -08:00
nyanpasu64 850030f3f7 Organize imports 2022-03-09 03:09:35 -08:00
nyanpasu64 279e909ff4 Move f32 to wave_common to fix circular imports 2022-03-09 03:09:35 -08:00
nyanpasu64 cd043712f8 Rename FLOAT to f32 2022-03-09 03:09:35 -08:00
nyanpasu64 77063472e6 Bump minimum NumPy version to 1.21 2022-03-09 03:09:33 -08:00
nyanpasu64 da3cfc02bf
Disable coverage measurements and codecov.io uploading (#401) 2022-03-09 03:05:00 -08:00