Project Story — ASRP.art

Inspiration

ASRP.art was born from a question that bridges science and art:

Can we measure the unmeasurable — the emotional resonance of art?

As researchers, artists, and engineers from ASRP (Advanced Scientific Research Projects), we were inspired by the idea that art is not only a cultural artifact but a neurocognitive event — a process unfolding in the brain, body, and field of perception.
The project evolved from our previous research on neurointerfaces, biometric sensors, and cognitive analytics, where we learned to translate subtle physiological signals into measurable patterns.
This inspired the vision of a system where art becomes an experiment, and the viewer becomes both the subject and co-creator.


What We Learned

We discovered that every aesthetic experience leaves a measurable trace — in heart rate, EEG patterns, skin conductance, and micro-dynamics of the eyes.
These signals form a multidimensional space of perception, represented mathematically as:

$$ \mathbf{P}(t) = [E(t), \; \Phi(t), \; G(t), \; D(t)] $$

Where:

  • ( E(t) ): emotional arousal
  • ( \Phi(t) ): EEG phase coherence
  • ( G(t) ): skin conductance
  • ( D(t) ): pupil dilation dynamics

Machine learning models can correlate these parameters with the emotional impact of artworks, enabling a new type of calibration and classification of artistic experiences.
We learned that subjectivity itself can become data — without losing its human depth.


How We Built It

We combined multiple technological layers:

  1. Neurointerface Modules – EEG headsets and biometric sensors capture real-time reactions.
  2. Data Pipeline – real-time synchronization and cleaning of multimodal physiological data.
  3. Cognitive Analytics Engine – deep learning models map emotional and cognitive states.
  4. NFT Meta-Layer – each interaction can be embedded into NFT metadata, adding uniqueness.
  5. Visualization Dashboard – shows the evolving “emotional field” of an artwork.

Example of a simplified signal normalization algorithm:

import numpy as np

def normalize_signal(signal):
    return (signal - np.mean(signal)) / np.std(signal)

Built With

Share this project:

Updates