# Noetryx Signal Engine 1.0 The engine processes user-supplied EEG voltage samples. It does not produce a brain signal from browser clicks. Its signal-processing code is separate from the personal task-prediction model. ## Available software - Recording import and analysis in a browser worker, with channel selection, waveform, spectrum, band measurements, rejection reasons and a JSON export. - Authenticated secure WebSocket receiver and a downloadable physical-device acquisition bridge. - Experimental live visual feedback against a personal alpha-power reference. - Existing account-based task agents, learned ridge model and next-session plan, accessible on the same Engine page. No physical EEG device has been tested in this development environment. End-to-end acquisition, measurement accuracy and physiological interpretation still require hardware and scientific validation. There is no camera-based EEG, electrical stimulation, brain-age, intelligence or diagnostic output. ## Recording input Export a regularly sampled CSV using this header structure: ```text time_s,Fp1,Fp2 ``` Each following row must contain a timestamp in seconds and numeric channel values. No blank values, quoted fields, annotations or mixed metadata rows. Choose the original voltage unit (microvolts, millivolts or volts) and the actual device sampling rate. The engine converts to microvolts exactly once. This is not the native BrainFlow dump format; transpose and select only EEG channels when preparing a recording. Supported bounds: 128–1024 Hz integer rate, 1–16 named channels, 4–120 seconds, at most 8 MB and 1,000,000 channel values. Timestamp spacing must match the declared rate within 5%. Irregular or missing data is rejected, not interpolated silently. Trailing samples shorter than a full four-second epoch are excluded and counted. ## Calculation 1. Divide each channel into nonoverlapping four-second epochs. 2. Screen the raw microvolt signal. Flag standard deviation below 0.05 µV, at least 250 ms of identical samples, peak-to-peak range above 250 µV, adjacent jumps above 100 µV, or excessive line contamination. These are engineering defaults, not validated universal artifact thresholds. 3. Estimate the spectrum with Welch's method: 2-second periodic Hann windows; 50% overlap; remove each segment's mean; zero-pad to the next power-of-two FFT length; average three segment periodograms. One-sided density doubles non-DC/non-Nyquist bins and divides by sampling rate times squared-window sum. Density units are µV²/Hz. 4. Calculate line contamination as 49–51 Hz plus 59–61 Hz power divided by total non-DC power from 1 Hz to Nyquist. Flag a fraction above 0.30. No notch, ICA, re-referencing or automatic artifact correction is performed. The method rejects suspicious epochs rather than claiming to clean them. 5. Integrate PSD bins by multiplying by frequency-bin width. Half-open bands are delta [1,4), theta [4,8), alpha [8,13), beta [13,30), and low gamma [30,45) Hz. Boundaries are conventions; names do not identify mental states. Absolute power uses µV². Relative power divides each band by total [1,45) Hz power. 6. File summaries are the arithmetic mean of each accepted epoch's absolute and relative measurements. Relative mean power is not the ratio of aggregate absolute means. Each channel is screened independently. A channel with no accepted epoch has no band summary. The last epoch's waveform and spectrum remain visible even when rejected, with that state labeled. ## Live feedback The receiver expects `noetryx-eeg-1` (see bridge documentation). It verifies sequence numbers, sample counts, voltage bounds and channel shape. Frame gaps or malformed data terminate feedback. No valid frame for five seconds terminates the connection. Leaving the tab also terminates it. Streams are capped at ten minutes and are not automatically reconnected. Select a channel and start calibration. Only complete epochs entirely after that button press are eligible. Collect 15 accepted epochs (60 accepted seconds); rejected epochs do not advance calibration. The reference is the median of those epochs' relative alpha power. The next accepted epoch's alpha share minus reference is displayed in percentage points. Rejected epochs withhold feedback. Changing channels needs a new reference. Reconnection clears the stream and requires recalibration. After disconnect the old waveform is labeled as a stopped record and feedback is disabled. Higher alpha share is not inherently better and is not proof of concentration, relaxation, treatment or training benefit. The display is an experimental signal-feedback instrument. It does not set a physiological target or control stimulation. ## Data and ownership EEG files and live samples are processed in browser memory. They are not uploaded to Noetryx account storage or sent to a chatbot. The live sender is the endpoint you enter. The access token is used only for that connection and cleared from the input afterward. It is not included in exports. Clear signal data removes the in-memory recording and stream state. A JSON export includes analysis and calibration; recording exports also contain the last plotted four seconds for each channel. Exported files remain on your device until you delete them. The application implements standard methods in project-owned source. BrainFlow, websockets, platform hosting and frameworks remain third-party components. Original implementation does not confer ownership of EEG science or these libraries. ## Evidence and next validation The automated verification compares the original JavaScript PSD calculation with SciPy Welch using matched settings and checks units, frequency boundaries, rejection rules, stream order and calibration lifecycle. Synthetic waveforms are test fixtures only; no test signal is inserted into a user account or displayed as measured human data. Next: identify the intended EEG headset; verify its units, montage and timing; compare simultaneous exported samples and this engine's output; evaluate artifact detection and repeatability; then design a preregistered study before making cognitive-benefit claims. References reviewed 11 October 2026: - SciPy Welch definition and normalization: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.welch.html - BrainFlow channel data and units: https://brainflow.readthedocs.io/en/stable/DataFormatDesc.html - BrainFlow acquisition examples: https://brainflow.readthedocs.io/en/stable/Examples.html - MNE Welch interface: https://mne.tools/stable/generated/mne.time_frequency.psd_array_welch.html