Skip to content

v0.17.0-rc.2

Pre-release
Pre-release

Choose a tag to compare

@almuleev almuleev released this 12 Oct 22:59
· 22 commits to main since this release

Скачать EXE / Download EXE

Русский

  • Большая запись целиком: дисковый обзор заменяет обязательный выбор небольшого фрагмента и Light Mode.
  • Общий участок анализа: вся запись, заданный интервал или видимый диапазон для FFT и АЧХ независимо от zoom.
  • Полный дисковый FFT: при нехватке RAM сохраняются исходная длина, частотная сетка и нормировка.
  • Точные формулы, фильтр и магнит: обработка использует исходные отсчёты, а не визуальную огибающую.
  • Потоковый экспорт: CSV/TXT/LVM и проекты сохраняют всю запись или выбранный участок с отменой фоновой операции.

Предварительный выпуск. Участок анализа отделён от просмотра; исходные данные и методика H1/coherence сохраняются.

Склейка дискового времени в этой версии недоступна. Дальний фильтр/Snap может быть медленным; CLI загружает запись в RAM. Временный диск обязателен, физический ПК с 8 GiB не проверялся.

English

  • Complete large recordings: disk overviews replace mandatory fragment selection and Light Mode.
  • Shared analysis interval: entire recording, explicit interval or visible range for FFT/FRF independently of zoom.
  • Complete disk FFT: low-RAM analysis preserves input length, frequency grid and normalization.
  • Exact processing and snapping: formulas, filters and Magnet use source samples, not the visual envelope.
  • Streaming export: CSV/TXT/LVM and projects save the complete recording or selected interval with background cancellation.

Pre-release. Analysis selection is independent of the viewport; original data and H1/coherence methodology are preserved.

Disk time stitching is unavailable in this version. Distant filtering/snapping can be slow; CLI input remains resident. Temporary disk space is required; physical 8 GiB hardware was not tested.


Полный журнал, проверки и ограничения / Full changelog, validation and limitations

Русский

Большие записи автоматически открываются целиком через дисковый обзор.
«Анализ → Вся запись / Участок / Взять видимый участок» задаёт общую область
FFT и FRF независимо от zoom. Удалены Light Mode из приветствия/настроек,
его флаги, обязательный диалог фрагмента и отдельная команда полного FRF
в меню «Вид». Старый ключ проекта игнорируется, устаревшие INI-ключи удаляются
при сохранении настроек; номера действующих команд сохранены.

  • Общий immutable RecordingSource удерживает файл/ScanIndex и проверяет
    размер/mtime до/после чтения и перед публикацией. Две seed-строки служат
    только UI; N хранится отдельно. Полный состав каналов проверяется по всей
    записи, поздние столбцы и каналы, похожие на время только в начале, сохраняются.
  • Overview хранит точные extrema/позиции/разрывы на диске. Zoom читает нужный
    уровень или оригиналы; Signal-Snap читает исходные отсчёты асинхронно.
    Отмена, смена документа, Undo/Redo и SourceChanged не публикуют устаревшую точку.
  • Формулы и причинный фильтр используют общий обработанный источник для
    обзора, Snap, FFT/FRF и экспорта. Состояния biquad переносятся между блоками;
    участок прогревается от начала записи, Fs определяется по полной временной
    оси прежним точным правилом. Нелинейная огибающая строится по значениям,
    не преобразованием готовых min/max. Недействительные значения нелинейной
    формулы следуют GUI-правилу, включая конечные выражения от Inf.
  • Полный FFT сохраняет N, сетку, интерполяцию, удаление DC, сжатие разрывов
    и нормировку. При недостаточном RAM-допуске выполняется tiled дисковый
    radix-2/Bluestein; усреднение FFT блоков не используется. Рабочий резерв
    24 MiB, численный максимум 384 MiB с сохранёнными планами; временный диск
    до 64 GiB с предварительной оценкой места. После расчёта остаются дисковые
    амплитуды и ограниченные summaries; неактивные результаты ограничены 2 GiB.
  • FRF сохраняет Welch-перекрытие, порядок накопления Sxx/Syy/Sxy, общую FFT
    средней опоры, H1/coherence, слабую маску и точное определение Fs.
    Spectrum/FRF используют общий исполнитель; дисковый FFT последовательный.
  • Auto/manual бюджет данных (64…65536 MiB) учитывает capacity документов,
    допуски загрузки/анализа и общие индексы, ограничивается доступными RAM/commit.
    Отмена удерживает резерв до уничтожения массивов. Это частичный учёт данных,
    не лимит всей памяти процесса; N/L не сокращаются при отказе.
  • Частный дисковый LRU ScanIndex/обзоров: 2 GiB/256 элементов, lease активных
    файлов, versioned пути и owner-lock. Повторное открытие использует AMSCIDX1;
    повреждённый/недоступный кэш сохраняет ограниченное сканирование.
    Если общий каталог занят другим процессом или недоступен, обзор использует
    временный частный кэш с той же общей квотой ScanIndex/overview; последний
    lease удаляет только собственные файлы.
  • CSV/TXT/LVM и переносимый проект потоково читают оригиналы всей записи или
    выбранного участка, FFT экспортирует настоящие бины. Проект содержит полную
    raw запись и настройки. Экспорт выполняется в фоне с отменой и атомарной
    заменой назначения; открытый source не перезаписывается.
  • Уведомление ожидания принадлежит главному окну, не является topmost и не
    захватывает фокус фонового приложения. Обновлены README и карта архитектуры.

Проверенные размеры/замеры и ограничения перечислены в описании этого
предварительного выпуска. Физический ПК с 8 GiB не испытывался; Windows
Job Object с ограничением commit — отдельная проверка. Нет нового сопоставимого
замера FAMOS. Склейка дискового времени недоступна, далёкий фильтр/Snap требует
повторного прогрева, широкий FFT-Snap синхронный, временный диск обязателен.
Дисковый спектр пока рисует ломаную без визуального сплайна/символов кривых.
CLI собран, его пользовательское открытие остаётся векторным.

English

Large recordings open automatically as complete disk overviews.
Analysis → Entire recording / Interval / Use visible interval defines one
FFT/FRF area independently of zoom. Light Mode controls/flags, the mandatory
fragment prompt and the separate full-FRF View command are removed. Legacy
project keys are ignored and obsolete INI keys retired on settings save;
active command numbers remain compatible.

  • Immutable RecordingSource owns the file/index and checks size/mtime around
    reads and publication. Two seed rows are UI-only; N is stored separately.
    Whole-source channel discovery preserves late columns and signals that
    resemble time only in the prefix.
  • Disk overview stores exact extrema, positions and gaps. Zoom reads levels
    or originals; asynchronous Signal-Snap always reads source samples.
    Cancellation, document switching, Undo/Redo and SourceChanged reject stale points.
  • A shared processed source supplies formulas/causal filters to overview,
    Snap, FFT/FRF and exports. Biquad states span blocks, intervals warm up from
    the beginning, and filter Fs follows the original exact full-timeline rule.
    Nonlinear extrema are built from samples. Non-finite nonlinear inputs
    follow the canonical GUI policy, including expressions finite at Inf.
  • Full FFT preserves N, grid, interpolation, DC removal, gap compression and
    scaling. Insufficient RAM admission selects tiled disk radix-2/Bluestein,
    never averaged block FFTs. Working admission is 24 MiB; the 384 MiB numerical
    cap includes retained plans. Temporary disk allowance is 64 GiB with space
    preflight. Only amplitudes/bounded summaries survive; inactive disk results
    are limited to 2 GiB.
  • FRF preserves Welch overlap, Sxx/Syy/Sxy accumulation order, shared averaged
    reference FFT, H1/coherence, weak-input masks and exact Fs. Spectrum/FRF
    share an executor; disk FFT is sequential.
  • Auto/manual data budgets (64…65536 MiB) track document capacities, load and
    analysis reservations and shared indexes, constrained by available RAM/commit.
    Cancellation retains admission until buffers die. This is partial data
    accounting, not a process-wide cap; failures never silently reduce N/L.
  • Private ScanIndex/overview LRU: 2 GiB/256 entries, active leases, versioned
    paths and an owner lock. AMSCIDX1 accelerates index reuse; unavailable or
    corrupt caches fall back to bounded scanning.
    If the shared directory is locked by another process or unavailable, overview
    uses a private temporary cache with the same shared ScanIndex/overview quota;
    the last lease removes only owned files.
  • CSV/TXT/LVM and portable projects stream originals for the whole recording
    or selected interval; FFT exports exact bins. Projects include all raw samples
    and settings. Background export supports cancellation and atomic replacement;
    it cannot overwrite a live source.
  • The owned loading notice is not topmost and does not steal background focus.
    README and architecture documentation are updated.

Verified sizes, measurements and limitations are listed in the prerelease
description. Physical 8 GiB hardware was not tested; Windows Job Object commit
limits are a separate test. No new comparable FAMOS benchmark was made.
Disk-source time stitching is unavailable, distant filtered reads/Snap replay
the warm-up prefix, wide FFT-Snap is synchronous, and temporary disk is required.
Disk spectra currently use polylines without visual splines/curve symbols.
CLI builds successfully but its user-facing loading remains vector-based.

RU — Проверки, размеры и измерения

  • Полные регрессии: 1157 проверок ядра, 851 GUI-проверка, ошибок нет.
  • Точный дисковый FFT против векторного: N=4096/4093, семь каналов;
    N=337132, один канал. Измеренная максимальная абсолютная разница амплитуд 0;
    частотные сетки и метаданные совпали.
  • Реальный test2.lvm: 1 024 104 009 байт, N=6 832 000, один канал полного FFT
    при Manual 64 MiB: 175,885 с, Peak WS 23,6758 MiB (предыдущая часть,
    27 внешних проверок).
  • Новая синтетическая проверка 10 GB: 46 внешних проверок, Manual 64 MiB,
    жёсткий commit-предел процесса 128 MiB через Windows Job Object.
    Полный FFT одного канала и H1/coherence семи откликов, L=2048,
    выполнены по всей записи без подстановки огибающей.
  • Синтетический 20 GB прошёл 49 внешних проверок при тех же лимитах.
    Полное повторное открытие: 1407,44 с, N=94 785 536,
    Peak WS 15,7891 MiB. Сохранённый обзор использован повторно, ScanIndex построен заново.
Файл N Открытие целиком, с Полный FFT, с Полный H1, с Peak WS открытия / FFT / H1, MiB
10 000 000 000 байт, синтетический 47 390 720 900,970 1189,270 221,776 19,4922 / 23,8516 / 31,5859
20 000 000 000 байт, синтетический; готовый overview 94 785 536 1407,440 2431,280 441,325 15,7891 / 23,8789 / 33,293

Для 10 GB ошибка аналитического FFT-пика 5,60284e-11; максимальная ошибка
H1/coherence на возбуждённых бинах 9,8323e-16.
Для 20 GB ошибка FFT-пика 2,98433e-09, H1/coherence 4,44089e-16.
Полные PNG FFT/FRF проверены; временные файлы после завершения освобождены.
Все бины выбранного короткого FFT сверяются с векторным контролем. Полный большой FFT проверяется
аналитически по основному тону, N и сетке, а не сравнением каждого бина с RAM.

Исторический v0.16.11 прерывал полное чтение 10/20 GB на защитном пороге
2 GiB, Peak WS 1413,38 MiB, полного результата не было. Это не время
успешного открытия и не основание вычислять коэффициент ускорения.
Времена новых функциональных прогонов включают подготовку, дисковый I/O
и общую нагрузку параллельных задач; отдельно скорость FFT-ядра не выделялась.
Peak WS — максимум свежего процесса к этому моменту, не изолированный пик
операции. Нет нового сравнимого FAMOS-замера или доказательства ускорения открытия.

Последовательный путь используется для малых RAM-задач, занятого общего
исполнителя и недостаточного допуска параллельных рабочих массивов; дисковый
FFT всегда последовательный. Бюджет данных — частичный учёт, не предел
всего процесса. Ограничение commit стенда не заменяет физический ПК с 8 GiB.
Большой FRF проверен для H1 с явным L=2048. Auto/Direct могут превысить
численный предел 384 MiB и вернуть ResourceLimit; программа не уменьшает L
самостоятельно. Их полный расчёт 10/20 GB не заявляется.
Скрытые Win32-окна и PNG не являются полной ручной проверкой всех экранов.

Первый параллельный прогон 20 GB выявил отказ обзора при owner-lock
общего кэша другим процессом. Исправлен частный временный fallback с общей
квотой ScanIndex/overview и очисткой после последнего lease; неудачный прогон
не учитывается как успешное подтверждение.
Следующий холодный прогон 20 GB превысил 20 минут ожидания полного view
после метаданных без ошибки источника/ресурсов. Таймаут стенда увеличен
до 40 минут; повторное открытие использует уже построенные индексы.

EN — Validation, sizes and measurements

  • Full regressions: 1157 core checks and 851 GUI checks, zero failures.
  • Exact disk FFT versus the vector path: N=4096/4093 with seven channels,
    N=337132 with one channel. Measured maximum absolute amplitude difference:
    zero; frequency grids and metadata matched.
  • Real test2.lvm: 1,024,104,009 bytes, N=6,832,000; full single-channel FFT
    with Manual 64 MiB took 175.885 s, Peak WS 23.6758 MiB (previous part,
    27 external checks).
  • Synthetic 10 GB: 46 external checks with Manual 64 MiB and a hard 128 MiB
    process commit cap enforced by Windows Job Object. Full single-channel FFT
    and seven-response H1/coherence, L=2048, use original samples across
    the entire recording.
  • Synthetic 20 GB passed 49 external checks with the same limits.
    Complete repeated opening: 1407.44 s, N=94,785,536,
    Peak WS 15.7891 MiB. The overview index was reused; ScanIndex was rebuilt.
File N Complete opening, s Full FFT, s Full H1, s Opening / FFT / H1 Peak WS, MiB
10,000,000,000 bytes, synthetic 47,390,720 900.970 1189.270 221.776 19.4922 / 23.8516 / 31.5859
20,000,000,000 bytes, synthetic; overview reused 94,785,536 1407.440 2431.280 441.325 15.7891 / 23.8789 / 33.293

For 10 GB the analytic FFT peak error is 5.60284e-11; maximum H1/coherence
error at excited bins is 9.8323e-16.
For 20 GB, FFT peak error is 2.98433e-09 and H1/coherence error 4.44089e-16.
Full FFT/FRF PNGs were reviewed and temporary files were removed on completion.
Every bin of the selected short FFT is compared to the vector path. Full large FFT validation checks the analytic
primary tone, N and grid, rather than every bin against a resident full input.

Historical v0.16.11 aborted full 10/20 GB reading at an explicit 2 GiB guard,
Peak WS 1413.38 MiB, without a complete result. This is not a successful
opening time and cannot provide a speedup ratio. New functional timings
include preparation, disk I/O and shared concurrent workload; isolated FFT
kernel speed was not measured. Peak WS is the fresh process maximum to that
point, not an operation-only peak. No new comparable FAMOS measurement or
file-opening speedup claim is made.

Small RAM tasks, a busy shared executor, or insufficient parallel scratch
admission use the sequential path; disk FFT is always sequential.
The data budget is partial accounting, not a whole-process limit. The test
commit cap does not replace physical 8 GiB hardware.
Large FRF was tested with H1 and explicit L=2048. Auto/Direct may exceed
the 384 MiB numerical cap and return ResourceLimit without silently reducing L;
full 10/20 GB Auto/Direct computation is not claimed. Hidden Win32 windows
and PNGs do not constitute exhaustive manual testing of every screen.

The first concurrent 20 GB run exposed overview failure while another
process owned the shared cache lock. A private temporary fallback now shares
the ScanIndex/overview quota and cleans up after the last lease. The failed
run is not counted as successful validation.
A subsequent cold 20 GB run exceeded the harness's 20-minute view wait
after metadata without a source/resource error. The harness wait is now
40 minutes; repeated opening uses the indexes already built.

The release includes the ready-to-run GUI executable. Documentation, README
translations, GNU GPLv3 LICENSE and source code are available in the repository.