← все проверки

Фаза 0.A — SIMD (§10.1) + realtime pitch/tempo (ADR-0005)

Харнесс для прогона на реальном Android в Telegram WebView. Каждый POC — свой try/catch, изолирован: падение SoundTouch (внешняя либа) не должно ронять SIMD-POC и наоборот.

POC §10.1 — WASM SIMD в AudioWorklet

Проверяет поддержку SIMD128 (v128) в этом WebView и реальный вызов SIMD-функции ИЗ AudioWorkletProcessor (не только статический WebAssembly.validate()). Нужно для Rust→WASM Lo-fi DSP (docs/AUDIO_ENGINE_GO_VS_RUST_DEEP_ANALYSIS.md). Риск по чек-листу — MEDIUM: нет SIMD → scalar fallback (медленнее в 3-5x, но рабочий путь, это ОК).

Байты обоих wasm-модулей ниже собраны вручную и сверены с официальным реестром опкодов WebAssembly/simd (BinarySIMD.md, сверка выполнена 2026-07-28 через прямой fetch спеки, не по памяти). Детект использует дословно тот же probe, что и библиотека wasm-feature-detect (GoogleChromeLabs).

Нажмите «Run §10.1 SIMD».

POC — Realtime pitch/tempo на потоковом источнике (SoundTouch, ADR-0005)

Ключевой вопрос ADR-0005: независимый pitch/tempo (SoundTouch) на потоковом MediaElementSource технически тяжёл (буферизация/дрейф). Схема: Jamendo-стрим -> audio -> createMediaElementSource -> SoundTouchNode (AudioWorklet) -> destination. Слушайте: (а) нет ли треска/пауз, особенно при движении tempo-слайдера; (б) независим ли pitch от tempo (двигаете один — другой не должен «плыть»).

ВНИМАНИЕ: НЕ ЗАПУСКАЛОСЬ В БРАУЗЕРЕ. API библиотеки (@soundtouchjs/audio-worklet@2.1.0) сверен по актуальному README и реальному бандлу с jsDelivr (сетевые fetch, 2026-07-28: код пакета, экспорты, CORS-заголовки — реальные, не по памяти), но ни разу не выполнялся в браузере/WebView. Это самый рискованный узел харнесса — если конструктор/параметры изменились между версиями или специфика Android WebView иная — здесь будет первая точка отказа. Требуется проверка на реальном устройстве, как и весь этот файл.

Нажмите «Play + pitch/tempo».