The Solar Oracle Walkman: Difference between revisions

From SGMK-SSAM-WIKI
Jump to navigation Jump to search
 
(36 intermediate revisions by the same user not shown)
Line 5: Line 5:
</gallery>
</gallery>


[[太陽能神喻隨身聽]]
[[太陽能神喻隨身聽]](chinese version)


= Abstract =
=Abstract=
The Solar Oracle Walkman is an exploration of energy trading and sound sculpture. Its exterior references the retro Sony WM-F107, while the device measures the I–V curve of a 6 × 6 cm handmade, artistically patterned DSSC whose TiO₂ porous layer is produced by cyanotype or screen printing. Each “solar mini-disc” yields a unique I–V voiceprint that is sent—via an oracle, a mechanism for securely bridging off-chain data to the blockchain—to a smart contract for verification. Conceptually, the Walkman operates like a cold wallet: each DSSC is a physical token, and the built-in I–V tester is its reader. Upon verification, the Walkman plays generative, semantically constrained music; the on-chain verdict gates playback.
This experiment was realized as a working prototype during the SGMAK Hacker-in-Residency Programme. The Solar Oracle Walkman is an exploration of energy trading and sound sculpture, adapted from an I–V tester to transform handmade DSSCs (“solar mini discs”) into sound. Each solar mini disc’s TiO₂ layer is patterned by cyanotype or screen printing to deliberately introduce defects, generating a unique I–V voiceprint V. This voiceprint is submitted via an oracle, a mechanism that securely bridges off-chain data to the blockchain, to a smart contract for verification. Once verified on-chain, V is rendered on the Walkman as reproducible generative music.
In the current Max/MSP prototype, the measured I–V curve is decomposed into seven dimensionless features [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*], optionally reduced with PCA, then manually mapped to the latent inlets of an nn~ RAVE decoder, achieving reproducible sonic identity without an explicit semantic structure. Next, we will record continuous I–V data under varied illumination and train a RAVE encoder to learn compact, robust latent embeddings of each cell; these embeddings will feed a fuzzy-extractor pipeline (quantization → error correction with helper data → hash) to derive a stable key. On-chain we anchor only a commitment to that key, preserving privacy while enabling verification. With appropriate vector-space preservation, distances in latent space will reflect differences in photovoltaic behavior, allowing the device to act as a “divinatory machine” that links matter, perception, and imagination.
The device functions like a cold wallet: each DSSC corresponds to a verifiable on-chain identity (panel_id) and its commitment value. The panel_id can serve as an anchor for future tokenization. In the completed v1 prototype, the measured I–V curve is decomposed into seven dimensionless features [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*], reduced with PCA, then manually mapped to the latent inlets of an independently trained nn~ RAVE decoder, producing reproducible sonic identity without explicit semantic structure.
In the planned v2 experiment, continuous I–V data under varied illumination will be recorded, and an I–V encoder will be trained to learn compact, illumination-robust latent embeddings for each cell. These embeddings will pass through an off-chain fuzzy extractor pipeline (quantization → error correction with helper data (ECC) hashing) to derive a stable key K. On-chain, only the commitment and panel_id derived from K are anchored, preserving privacy while enabling verification. If vector-space preservation (VSP) can be maintained, distances in the latent space will reflect differences in photovoltaic behavior, establishing a richer semantic space.
From artistic and philosophical perspectives, this “divinatory machine” links the physical and informational worlds, exploring the distillation and realization of “truth” through the lenses of philosophy of perception and blockchain. Currently the sound in this prototyping is not a mere reproduction: theoretical frameworks are integrated into composition as guides and reflective tools, linking technical processes (measurement, feature extraction, on-chain verification) with philosophical frameworks (perception, reality, hallucination).


= Generative systems for composition =
=Experiments=
Perception and AI can both be read as generative mechanisms: they do not merely receive signals but actively predict and correct them. In the Walkman, the on-chain voiceprint acts as an anchor—constraining generation with empirical traces—while the decoder’s expressivity acts as an invocation, sustaining imagination within verifiable bounds. Following Stinson’s generic-mechanism view and Feigl’s correspondence model, we design explicit bridges from measurement (I–V traces) to latent variables (audio embeddings). This keeps the artwork legible as an experiment: every sonic decision can be traced back to a measurable transformation on the energy curve.
 
<gallery widths=400 heights=300>
File:Stinson's generic mechanism.png|Diagram of Stinson's generic mechanism.
File:A logical empiricist picture of a scientific theory. Reproduced from Herbert Feigl 1970.png|A logical empiricist picture of a scientific theory. Reproduced from Herbert Feigl 1970.
File:diagram of solar oracle walkman.png|Diagram of Stinson and Feigl's model applied to the current project structure.
</gallery>
 
= Experiments =
The solar oracle walkman is mainly made of 3 components: a I-V curve tester, a patterned solar mini disc and a smart contract. The I-V curve of each solar mini disc is measured and uploaded to a smart contract deployed on Sepolia Testnet to be verified, once its I-V data passes the verification, the corresponding music will be generated and allowed to play from the walkman accordingly. The sound of each "solar mini disc" are expected to be reproducible, generative and semantic, like a period of generative music with clear mechanism rather than completely randomness. To make each solar mini disc a generative device, I firstly assume I need to design a hash operation to gain a “ voiceprint (V)” for each solar glass; A hash operation is the process of feeding input data such as numbers, text, files, or a set of I-V curve parameters—into a mathematical function or algorithm to produce a hash value. Hash algorithms can take input of any length but always generate a fixed-length output. They are designed to be fast to compute, yield the same output for the same input, and produce drastically different outputs when the input changes even slightly.  
The solar oracle walkman is mainly made of 3 components: a I-V curve tester, a patterned solar mini disc and a smart contract. The I-V curve of each solar mini disc is measured and uploaded to a smart contract deployed on Sepolia Testnet to be verified, once its I-V data passes the verification, the corresponding music will be generated and allowed to play from the walkman accordingly. The sound of each "solar mini disc" are expected to be reproducible, generative and semantic, like a period of generative music with clear mechanism rather than completely randomness. To make each solar mini disc a generative device, I firstly assume I need to design a hash operation to gain a “ voiceprint (V)” for each solar glass; A hash operation is the process of feeding input data such as numbers, text, files, or a set of I-V curve parameters—into a mathematical function or algorithm to produce a hash value. Hash algorithms can take input of any length but always generate a fixed-length output. They are designed to be fast to compute, yield the same output for the same input, and produce drastically different outputs when the input changes even slightly.  


┌───────────────────────────────────────┐
==The first prototype v1==
│  '''Solar Oracle Walkman v1 — Overview'''  │
A DIY I-V curve tester is connected to computer and the 16 points of I-V curve measurements are sent to the Max/MSP via serial communications. I-V curve is often used to analysis the characteristics of a solar cell, therefore it is ideally the "voiceprint" of the panel, especially the DSSC with cyanotyped and screen printded TiO2 layer. In this research, the shape of I-V curve is deconstructed in:to seven features that are often used to measure different characteristics of the panel, and then apply machine learning to each feature so the shape can be learned by the computer. This method is expected to ensures the irradiance invariance, so the reproducibility of the audio output of the solar mini disc will be resilient even it's put under different light exposure. The voiceprint V consists seven features of the I-V curve: V = [FF (Fill Factor), Vmpp/Voc, Impp/Isc, Rs (series resistance), Rsh (shunting resistance), sum of curvature, total area of the I-V curve]. Noticing the calculation made here are dimensionless. A dimensionless feature vector is a set of numerical descriptors that have been normalized so they no longer carry physical units such as volts, amperes, or ohms. By converting raw measurements into dimensionless quantities—for example, by taking ratios like Vmpp/Voc or Impp/Isc, the features capture only the relative shape or behavior of the data, independent of its absolute scale. This process is crucial when comparing or classifying I-V curves under varying light intensities, as it ensures that differences in the vector reflect intrinsic device characteristics rather than changes in measurement conditions.
└───────────────────────────────────────┘
[Light] ──▶ [Patterned DSSC “Mini-Disc”]
              │
              ▼
        [I-V Scanning / Sampling]
        ESP32-S3 I-V Tester
        (4-wire measurement, step load)
              │  generates I-V curve
              ▼
        [Feature Extraction, 7D]
        F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
              │
              ├───────────────────────────────┬───────────────────────────────────────────┐
              │                              │                                          │
              ▼                              ▼                                          ▼
  【Sound Path (real-time)】          【Oracle / On-chain Path】                  【Model Training (offline)】
  ml.scale normalization            Pack {pubkey, cell_id, F}                  Dataset: many DSSCs I-V → 7D
        │                                      │                                          │
  ml.principle (PCA)                POST /api/iv to Oracle API (local/cloud)    Train RAVE (or lightweight alt.)
        │                                      │                                          │
  Map to RAVE nn~ decoder latent    Smart contract verifies & records          Export model (onnx/ckpt/nn~)
        │                                      │                                          │
  ▶ Real-time sound output           Return tx_hash / OK|FAIL                    Deploy into Max/MSP (nn~)
        │                                      │                                         
        └───────────────┬──────────────────────┘
                        │ (status feedback)
                        ▼
                [Playback Authorization / Semantic Gate]
            OK → enter “semantic stability” playback section
          FAIL → prompt re-measure / re-register / denoise
┌──────────────────────────────────────────────────────────────────────────────────────────┐
│                            Interfaces / Protocols / Key Nodes                          │
├──────────────────────────────────────────────────────────────────────────────────────────┤
│ Hardware: DSSC → ESP32-S3 I-V measurement (HTTP / Serial for Max data stream)           │
│ Features: 7D fingerprint (FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*)                    │
│ Sound: ml.scale → ml.principle (PCA) → nn~ (RAVE decoder inlets) → Audio out            │
│ Oracle: Max/ESP32 → REST POST {pubkey, cell_id, F} → contract verification → tx receipt  │
│ Gate: only when verification = OK, system enters “semantic stability” playback scenario  │
└──────────────────────────────────────────────────────────────────────────────────────────┘
(Notes)
Σκ = curvature sum; A* = effective dyed area (or equivalent feature).
Parameters marked * are dimensionless / normalized.
Oracle stage may use a “fuzzy extractor” (e.g. RAVE latent embedding + stable binarization) 
to increase robustness and reproducibility. 
For development: use local Flask test server (127.0.0.1) with Max/MSP; 
for production: switch to testnet / mainnet.
 
┌──────────────────────────────────────────────────────┐
│  '''Solar Oracle Walkman v2 (RAVE latent z) — Overview'''  │
└──────────────────────────────────────────────────────┘
[Light] ──▶ [Patterned DSSC “Mini-Disc”]
              │
              ▼
        [Continuous I–V Scanning]
        ESP32-S3 I-V Tester
        (4-wire measurement, step load)
              │  generates sequential I–V curve
              ▼
        [RAVE Encoder]
        trained on sequential I–V data
              │
              ▼
        [Latent Embedding z = (z1, z2, …, zn)]
              │
              ▼
        [Fuzzy Extractor (per dimension)]
          For each zi:
              ml.scale (normalize)
              ml.principle (PCA)
          Result: stabilized z′ = (z′1, z′2, …, z′n)
              │
              ├───────────────────────────────┬───────────────────────────────────────────┐
              │                              │                                          │
              ▼                              ▼                                          ▼
  【Sound Path (real-time)】          【Oracle / On-chain Path】                  【Model Training (offline)】
  Stabilized z′ → RAVE nn~          Pack {pubkey, cell_id, z′}                  Dataset: many sequential I–V curves
  decoder latent inlets                      │                                          │
        │                            POST /api/z′ to Oracle API (local/cloud)    Train RAVE (encoder–decoder) on DSSC data
  ▶ Real-time sound output                    │                                          │
        │                            Smart contract verifies & records          Export encoder to Max/MSP (nn~)
        └───────────────┬──────────────────────┘                                          │
                        │ (status feedback)                                      Deploy encoder in Max/MSP
                        ▼
                [Playback Authorization / Semantic Gate]
            OK → enter “semantic stability” playback section
          FAIL → prompt re-measure / re-register / denoise
┌──────────────────────────────────────────────────────────────────────────────────────────┐
│                          Interfaces / Protocols / Key Nodes                            │
├──────────────────────────────────────────────────────────────────────────────────────────┤
│ Hardware: DSSC → ESP32-S3 I-V measurement (HTTP / Serial for Max data stream)            │
│ Latent: RAVE encoder trained directly on sequential I–V curves → z                      │
│ Fuzzy Extractor: each latent dimension zi → stabilized via ml.scale + PCA → z′          │
│ Sound: stabilized z′ → RAVE nn~ decoder inlets → audio out                              │
│ Oracle: Max/ESP32 → REST POST {pubkey, cell_id, z′} → contract verification → tx receipt │
│ Gate: only when verification = OK, system enters “semantic stability” playback scenario  │
└──────────────────────────────────────────────────────────────────────────────────────────┘
(Notes)
Difference from v1: input is full I–V curve sequence, not just 7D features. 
RAVE encoder learns illumination-robust latent z; PCA stabilizes z into z′ (fuzzy extractor role). 
Oracle anchors only a commitment (hash of z′ or derived key). 
Sound engine and oracle share the same stabilized z′ → consistent identity + generative mapping.  


== Smart Contract Implementation ==
'''Solar Oracle Walkman v1 — Overview'''
The Solar Oracle Walkman project includes a blockchain-based smart contract that validates and permanently stores IV voiceprint data from handmade DSSCs on the Ethereum network. Deployed on Sepolia testnet at address 0xeF19a90e5786dd0e89264F38f52CF81102db938e, the contract functions as a decentralized digital notary that verifies the authenticity of IV characteristic measurements through advanced security validation rules, EIP-712 signatures, and comprehensive data integrity checks. This immutable system ensures that each DSSC's unique electrical fingerprint can be cryptographically verified and stored permanently, creating a tamper-proof record of the device's performance characteristics.
<pre>
[Light]
  ▼
[Patterned DSSC “Mini-Disc”]
  ▼
[I–V Scanning / ESP32-S3 Tester]
  ▼
[Feature Extraction, 7D]
F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
  ▼
ml.scale normalization
  ▼
ml.principle (PCA)
  ▼
input RAVE nn~ decoder
  ▼
Real-time audio output
Cross-modal mapping: I–V latent → audio latent
(mapping chosen by artistic / compositional context)
</pre>


<gallery widths="700px" heights="400px">
File:solar oracle walkman smart contract.png|
</gallery>
== Using ml.scale and ml.principle as preprocessing pipeline for fuzzy extraction of I–V curve features ==
A DIY I-V curve tester is connected to computer and the 16 points of I-V curve measurements are sent to the Max/MSP via serial communications. I-V curve is often used to analysis the characteristics of a solar cell, therefore it is ideally the "voiceprint" of the panel, especially the DSSC with cyanotyped and screen printded TiO2 layer. In this research, the shape of I-V curve is deconstructed into seven features that are often used to measure different characteristics of the panel, and then apply machine learning to each feature so the shape can be learned by the computer. This method is expected to ensures the irradiance invariance, so the reproducibility of the audio output of the solar mini disc will be resilient even it's put under different light exposure. The voiceprint V consists seven features of the I-V curve: V = [FF (Fill Factor), Vmpp/Voc, Impp/Isc, Rs (series resistance), Rsh (shunting resistance), sum of curvature, total area of the I-V curve]. Noticing the calculation made here are dimensionless. A dimensionless feature vector is a set of numerical descriptors that have been normalized so they no longer carry physical units such as volts, amperes, or ohms. By converting raw measurements into dimensionless quantities—for example, by taking ratios like Vmpp/Voc or Impp/Isc, the features capture only the relative shape or behavior of the data, independent of its absolute scale. This process is crucial when comparing or classifying I-V curves under varying light intensities, as it ensures that differences in the vector reflect intrinsic device characteristics rather than changes in measurement conditions. The feature definitions (scale-free) are listed below:
<gallery widths="220px" heights="400px">
<gallery widths="220px" heights="400px">
File:DIY DSSC with screen printed pattern.jpg|DIY DSSC with screen printed pattern and hollyhock dye made by Shih Wei Chieh.
File:DIY DSSC with screen printed pattern.jpg|DIY DSSC with screen printed pattern and hollyhock dye made by Shih Wei Chieh.
Line 141: Line 46:
File:I-V tester made by Marc Dusseiller_2.jpg|The measurement of the I-V curve tester is uploaded to Thingspeak and a local server, and can be fetched in Max/MSP.
File:I-V tester made by Marc Dusseiller_2.jpg|The measurement of the I-V curve tester is uploaded to Thingspeak and a local server, and can be fetched in Max/MSP.
</gallery>
</gallery>
The 7-D voiceprint is defined as:
===The 7-D voiceprint===
<code>V = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]</code>
<code>V = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]</code>
All features are computed on a 64-point resampled I–V trace and normalized by <code>Voc</code> and <code>Isc</code> to be invariant to irradiance and device size.
All features are computed on a 64-point resampled I–V trace and normalized by <code>Voc</code> and <code>Isc</code> to be invariant to irradiance and device size.
Line 169: Line 74:
: <code>A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)</code>
: <code>A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)</code>


'''Using ml.scale and ml.principle as preprocessing pipeline for fuzzy extraction of I–V curve features'''
===The preprocessing of fuzzy extraction with ml.scale and ml.principle===
To make the sound of every solar mini disc reproducible and solid for smart contract verification, ml.* library in Max/MSP is a solution. Ml.* is a toolbox of machine learning algorithms implemented in Max to enable real-time interactive music and video with unsupervised machine learning, aimed at computer musicians and artists. The raw seven features are first sent to ml.scale object for the normalization in range from 0 to 1. The values are then passed to ml.principle, which performs Principal Component Analysis (PCA). This converts the seven values into a new 7-dimensional PCA space which is a mathematical method that rotates and compresses data into fewer dimensions while preserving as much variance as possible. ml.principle is the Max/MSP object that implements PCA: it learns the principal axes from training data, and then projects new data into that reduced space. I am not familiar with how fundamentally the mathematics works, however, I got an okay explanation from GPT below in the photo gallery.
To make the sound of every solar mini disc reproducible and solid for smart contract verification, ml.* library in Max/MSP is a solution. Ml.* is a toolbox of machine learning algorithms implemented in Max to enable real-time interactive music and video with unsupervised machine learning, aimed at computer musicians and artists. The raw seven features are first sent to ml.scale object for the normalization in range from 0 to 1. The values are then passed to ml.principle, which performs Principal Component Analysis (PCA). This converts the seven values into a new 7-dimensional PCA space which is a mathematical method that rotates and compresses data into fewer dimensions while preserving as much variance as possible. ml.principle is the Max/MSP object that implements PCA: it learns the principal axes from training data, and then projects new data into that reduced space. I am not familiar with how fundamentally the mathematics works, however, I got an okay explanation from GPT below in the photo gallery.


Line 176: Line 81:
</gallery>
</gallery>


== From sound reproducibility to semantical composition ==
== Second Prototype v2: RAVE as Intermediate Layer and Fuzzy Extractor ==
According to Jha et al. (2025), semantic stability is maintained through three key constraints: '''reconstruction''' (the translated representation can be mapped back to the source), '''cycle-consistency''' (round-trips preserve meaning), and '''vector space preservation (VSP)''', which ensures that pairwise distances among embeddings remain intact across the mapping. The 7-D voiceprint remains primarily a registry of unique identities, sufficient for reproducibility but unable to guarantee meaningful relational structure among different cells. This means that the smart contract verification built on the current pipeline can reliably answer whether a signal is genuine or not, but cannot provide further semantic interpretation of how one energy curve relates to another, which limit the design capacity of the generative music, and the difficulty to make the artwork to be align with the philosophy theories proposed in the project.
In the v1 version, using ml.scale and ml.principle for PCA provided only linear dimensionality reduction; it could not guarantee “reproducibility under varying illumination” or “error correction for a binary key.” Therefore, I propose v2, which adopts a fuzzy extractor: it converts the continuous latent vector <code>z</code> into an error-correctable, verifiable bitstring and outputs a stable key <code>K</code>, simultaneously meeting the requirements of identity reproducibility and on-chain verification.
'''Solar Oracle Walkman v2 — Overview'''
<pre>
[Light]
  ▼
[Patterned DSSC “Mini-Disc”]
  ▼
[Continuous I–V Scanning / ESP32-S3 Tester]
  ▼
[I–V Encoder (Conv1D trained in Colab) — off-chain]
Input: 7-D sequence [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area]
Output: latent vector z = (z1, z2, …, zn)
Training: triplet loss + prior matching
Augmentation: gain scaling / noise / temporal jitter
  ▼
[Fuzzy Extractor — off-chain]
z → normalization / quantization
  → ECC + helper data → stable key K
  → commit = keccak256(K || salt)
Enrollment: panel_id = keccak256("panel-id" || K)
Verification: new K′ → keccak256(K′ || salt) → compare with stored commitment
  │
  ├───────────────► [Oracle / On-chain Path]
  │                  Package {pubkey, panel_id, commitment, timestamp, nonce, signature}
  │                  Smart contract: verify EIP-712 signature, timestamp, nonce
  │                  Smart contract: check keccak256(K′ || salt) == commitment (on verify calls)
  │                  Smart contract: store panel_id, commitment, metadata; emit events
  │                  Feedback: OK / FAIL
  │
  ▼
[input RAVE nn~ decoder]
  ▼
Real-time audio output
Cross-modal mapping: I–V latent → audio latent
(mapping chosen by artistic / compositional context)
</pre>
=== I–V Encoder Training (Off-chain) ===
# Platform: Google Colab 
# Architecture: Conv1D (since the RAVE encoder cannot directly process curve data) 
# Input: continuous 7-dimensional “voiceprint” <code>[FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area]</code> 
# Output: latent vector <code>z = (z1, z2, …, zn)</code> (dimensionality aligned with downstream audio decoder) 
# Training objective: triplet loss (pull samples of the same cell closer, push different cells apart) + prior matching (make z follow the decoder’s Gaussian prior) 
# Data augmentation: gain scaling / small noise / temporal jitter 
 
=== Fuzzy Extraction (Off-chain) ===
# <code>z</code> → normalization, quantization 
# Pass through ECC (error-correcting code) → derive stable key <code>K</code> 
# Compute commitment: <code>commit = keccak256(K || salt)</code> 
 
=== Panel ID and Enrollment ===
# Initial enrollment: <code>panel_id = keccak256("panel-id" || K)</code> 
# Subsequent verification: reconstruct <code>K′</code> → compute <code>keccak256(K′ || salt)</code> → compare with on-chain commitment 
# Feature: the contract automatically associates the record with <code>panel_id</code>, without uploading any human identity information 


== RAVE as fuzzy extractor for trustable oracle space and generative music engine ==
=== Audio Decoder (Off-chain) ===
I use a trained RAVE encoder to produce compact, illumination-robust latent embeddings z from sequential I–V measurements (optionally guided by the 7-D voiceprint). These embeddings by themselves are not a fuzzy extractor; they become inputs to a fuzzy-extraction pipeline—quantization → error-correcting code with helper data → hash—yielding a stable key K from noisy readings. On-chain, only a commitment is anchored: commit = keccak256(K || salt). Subsequent measurements reconstruct K′ and submit commit′ = keccak256(K′ || salt) for verification.
# Training: independently on musical data, or reusing an existing RAVE decoder 
With this design, the oracle serves as a grounded interface: it accepts only evidence reconcilable with the physical DSSC device, while leaving semantic construction to the off-chain generative sound engine. Sequential I–V data collected under varied illumination conditions train the encoder with contrastive or triplet objectives, ensuring that repeated measurements of the same cell map close together in latent space, while different cells map farther apart (vector-space preservation). This provides both reproducible identity and a relational geometry among cells—supporting semantic stability and generative musical composition. keccak256(K || salt) means concatenating the stable key K (derived from DSSC voiceprints via a fuzzy extractor) with a public random string salt (|| denotes concatenation), and then applying the Keccak-256 hash algorithm, which is the core hashing function used in Ethereum. The resulting 256-bit hash is irreversible and serves as a commitment on-chain. During verification, a regenerated key K′ is concatenated with the same salt and hashed again; if the result matches the stored commitment, the DSSC identity is verified without ever exposing the original key.
# Function: sonify <code>z</code> 
# Stability: because the encoder enforces geometric stability in z, repeated measurements of the same cell yield reproducible timbre and dynamics 
# Cross-modal mapping: <code>I–V → audio latent</code>: semantic order is preserved only on the encoder side, while the decoder-side mapping is determined by artistic/compositional context 
 
=== Verifiable Semantic Space (VSP) ===
According to Jha et al. (2025), semantic stability relies on three core constraints: 
# Reconstruction: the transformed representation can be mapped back to the source 
# Cycle-consistency: round-trip transforms preserve meaning 
# Vector space preservation (VSP): pairwise distances among embeddings remain preserved after mapping 


<gallery widths=500px heights=250px>
<gallery widths=500px heights=250px>
Line 187: Line 152:
</gallery>
</gallery>


== The sonification of hallucinations, an interesting strategy to implement theory in current prototype ==
== Smart Contract Verification System ==
Base on the brain prediction theory in the generative system. An interesting and simple strategy for composing is to foreground hallucination as a sonic principle after the system is built as suggested: I isolate what the model fails to explain. After training a RAVE with DSSC I–V sequences, each new measurement produces a latent embedding z1. Passing this through the encoder–decoder loop yields a reconstructed embedding z2. The residual vector r = z1 – z2 is then extracted: this residual represents precisely the component that lies outside the model’s learned prediction. While z1 captures the reproducible voiceprint of the cell, r embodies the “hallucination”—the deviation, noise, or anomaly that the model cannot assimilate. By routing only this residual into a separate RAVE decoder, the auditory output becomes a direct rendering of prediction mismatch. In this way, the system does not merely sonify energy curves, but also transforms epistemic failure into sound: hallucination is heard not as error, but as a generative surplus that destabilizes the boundary between perception and imagination.
The smart contract of the Solar Oracle Walkman is deployed on Ethereum [https://sepolia.etherscan.io/address/0xeF19a90e5786dd0e89264F38f52CF81102db938e Sepolia Testnet] (contract address: <code>0xeF19a90e5786dd0e89264F38f52CF81102db938e</code>). The contract functions as a decentralized digital notary, responsible for: verifying signatures and data integrity (EIP-712), managing submissions keyed by <code>panel_id</code>, storing and publishing commitments and metadata associated with I–V voiceprints. Note: Fuzzy extraction and derivation of the key K are all performed off-chain; the contract does not execute FE. Download the related code on [https://github.com/shihweichieh2023/solar-oracle-walkman GitHub] here.
 
=== Verification Flow (On-chain) ===
Inputs (submitted from off-chain):
# <code>panel_id</code>: generated off-chain as <code>panel_id = keccak256("panel-id" || K)</code>
# <code>commitment</code>: computed off-chain as <code>commitment = keccak256(K || salt)</code>
# Signature: signed according to [[EIP-712]] standard
# <code>timestamp</code>, <code>nonce</code>
# (Optional) 7-dimensional voiceprint <code>[FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area]</code>, for visualization or research
 
Contract responsibilities:
# Verify EIP-712 signature, <code>timestamp</code>, and <code>nonce</code>
# Manage submissions indexed by <code>panel_id</code>; check <code>commitment</code> consistency with existing records (or update by business rules)
# Store <code>panel_id</code>, <code>commitment</code>, timestamp, and (optional) 7-D voiceprint; emit events for subscription
 
=== Panel ID and Identity Management (On-chain Perspective) ===
# Origin (off-chain): <code>panel_id = keccak256("panel-id" || K)</code>
# On-chain archiving: measurements are indexed and queried by <code>panel_id</code>
# Identity verification: off-chain reconstruction of <code>K'</code>, compute <code>keccak256(K' || salt)</code> and compare with on-chain <code>commitment</code>; contract only accepts the minimal required submission for proof and notarization
 
=== Security Mechanisms ===
 
==== EIP-712 Structured Signatures ====
The contract implements [[EIP-712]] standard, providing verifiable structured signatures for measurement submissions:
 
<syntaxhighlight lang="solidity">
struct IVMeasurement {
    uint256 timestamp;
    bytes32 panelId;
    bytes32 commitment;
    uint256[7] voiceprint;
    bytes32 nonce;
}
</syntaxhighlight>
 
==== Data Integrity Checks ====
# Timestamp verification: prevent replay attacks
# Nonce mechanism: ensure uniqueness of each transaction
# Voiceprint range check: if 7-D voiceprint is provided, validate feature ranges
# Commitment consistency: check consistency of <code>commitment</code> for the same <code>panel_id</code>
 
=== Storage Structure ===
 
==== Measurement Records ====
Each verified measurement record includes:
# Panel ID: anonymized identifier of the DSSC (derived off-chain)
# Commitment: Keccak-256 commitment hash (computed off-chain)
# Timestamp: measurement time
# Voiceprint (optional): 7-D I–V voiceprint features
# Verification Status: verification result
 
=== Oracle Mechanism (On-chain Role) ===
The contract acts as one end of a [[Blockchain Oracle]], verifying and notarizing signed data submitted from off-chain:
# Data verification: signature, timestamp, nonce, and data integrity
# Identity confirmation: compare <code>commitment</code> by <code>panel_id</code>
# State update: update on-chain data structures
# Event emission: emit events upon successful verification
 
 
<gallery widths="700px" heights="400px">
File:solar oracle walkman smart contract.png|
</gallery>
 
=Truth-sonified Sculpture: on the similarity between perception and computation as generative Systems=
Driven by the motivation of energy traceability, this experiment attempts to materialize “the real” and argues that it carries a dual sense: on the one hand, the truth/veracity of blockchain transactions—verifiable and tamper-proof; on the other hand, the reality/the real of perceptual philosophy—how we generate and experience reality itself. To support this view, we must discuss how conceptual models and analogical mechanisms are formed. Following Stinson (2020) on the notion of a generic mechanism, the comparability between computational models and human cognition does not lie in the similarity of their representations, but in whether both can be regarded as instances of an abstract category of mechanism. This provides a legitimate basis for designs that aim to map generative art and cognitive systems onto one another. Many studies already treat AI perception and human perception as two sides of the same process, redeveloping perceptual philosophy through the structure of generative models. For instance, Buckner (2023) proposes that human imagination and memory are closely related to the variational autoencoder (VAE). Andy Clark’s (2023) predictive brain theory further suggests that both perception and artificial intelligence can be understood as generative mechanisms: they do not merely receive signals passively, but actively predict and correct them. In this framing, “reality” is not an objective given but a prediction generated by the brain—a controllable illusion. These theories provide a structural bridge for debates in philosophy of mind and philosophy of perception. However, the “reality” of perceptual philosophy and the truthfulness of measurable energy trajectories do not belong to the same ontological category, and thus cannot be straightforwardly juxtaposed within a single framework. Yet the operative mechanism of the artwork creates an initial common ground: the Solar Oracle Walkman can likewise be seen as a perceptual system. Through the oracle mechanism, it extracts “the real” from two worlds—intracranial/on-chain and extracranial/off-chain—while within its algorithms, prediction and error become tools for locating truth. “This sound originates from this solar cell, here and now, under these conditions.” Ultimately, the Solar Oracle Walkman evolves from an exercise in sonifying a traceable energy system into a generative musical sculpture grounded in the sonification of the real and the semantic alignment and translation work between two different systems. Conservatively, the project should still be regarded as an operational sketch of cognitive science, rather than a testable theory of consciousness; it remains at a considered distance from formal consciousness science and the philosophy of mind.


  [IV curve]
<gallery widths=400 heights=300>
        │
File:Stinson's generic mechanism.png|This diagram illustrates Stinson’s (2020) notion of a generic mechanism: the comparability between different systems (e.g., computational models and human cognition) does not lie in the similarity of their representations, but in whether they can both be regarded as instances of an abstract category of mechanism. This perspective provides a legitimate basis for mapping generative art and cognitive systems onto one another.
        ▼
File:hallucinations RAVE.png|A compositional strategy: train RAVE on DSSC I–V sequences, so that each new measurement produces a latent embedding z1. Pass z1 through the encoder–decoder loop to obtain a reconstructed embedding z2. Compute the residual vector r = z1 z2. This residual r precisely represents the part that the model cannot explain. While z1 captures the reproducible voiceprint of the DSSC, r can be interpreted as a “hallucination”: the deviation, noise, or anomaly that the model cannot assimilate. Feeding r into another RAVE decoder allows the hallucination to be sonified.
  Encoder → z1
</gallery>
        │
        ▼
  Decoder → z2
        │
        ▼
  Residual r = z1 - z2
        │
        ▼
  Decoder2 → Sound of Hallucination


= Discussion =
=Discussion=
# '''Where things are now''' The oracle walkman works as a simple art sculpture that sonifies DSSC I–V curves in real time. The 7-feature voiceprint is stable across illumination changes after normalization. The mapping is deliberately minimal, which makes evaluation of reproducibility straightforward. A controlled pipeline from sensing to sound is established in Max/MSP. Perception and AI are treated as two sides of the same generative mechanism. The working definition of hallucination is generation that drifts beyond admissible evidence and priors. Brains predict and correct; hallucination is an extreme case of prediction mismatch. The oracle provides external anchors to keep generation within verifiable bounds while leaving room for creative variance.
# '''Where things are now''' At its present stage, the Solar Oracle Walkman functions as an artistic device that fuses energy measurement with sound generation. The I–V curve of a patterned DSSC is mapped into a latent sonic state, while a fuzzy extractor produces a verifiable key for on-chain registration. In this way, sound becomes not only an aesthetic event but also a traceable energy label. The work emphasizes the dual nature of generation and verification: sound retains creative drift, while the oracle serves as an external anchor, ensuring that each sonic decision remains traceable to a concrete energy trajectory.
# '''What the theory is doing now''' Stinson’s generic-mechanism view motivates treating DSSC–RAVE and human perception as different instantiations of a common generative architecture. Feigl’s correspondence model motivates explicit bridges from observation to latent variables, so every design step is tied back to measurable traces. These theoretical lenses are not goals in themselves. They function as design guidelines for dataset building, priors for mapping, and evaluation metrics for drift and variance. Current limitations highlight the absence of vector space preservation (VSP). Without VSP, the latent space serves as a stable registry of identities but cannot guarantee relational meaning across cells. Thus, the oracle functions mainly as a gatekeeper that validates authenticity but offers little semantic interpretation. With VSP, however, the oracle could evolve into a “true oracle machine”: not only verifying truth but also revealing how different energy curves relate, translating physical differences into interpretable structures of another domain.
# '''What the theory is doing now''' Stinson’s (2020) notion of the generic mechanism provides a framework for analogy: both the DSSC–oracle–sound pipeline and human perception can be regarded as instances of generative systems. Andy Clark’s theory of the predictive brain further frames sound here not as mere reproduction but as a controllable illusion generated through prediction and error correction. These theoretical perspectives are not final claims but rather design heuristics and reflective tools, helping us connect technical processes (measurement, feature extraction, on-chain proof) with philosophical frameworks (perception, reality, hallucination).
# '''Next steps''' Build a small but clean training set of DSSC voiceprints with controlled illumination and temperature, then test monotonicity and local smoothness priors. Prototype vec2vec-style constraints: simple cycle checks and distance preservation on a held-out set; log when sonic neighborhoods fail to match energy-curve neighborhoods. Investigate lightweight inference targets and compression for future mobile use. Explore whether traceable energy records can be registered as verifiable hashes derived from sonic voiceprint, then evaluate failure modes and anti-counterfeiting limits. In this context, “oracle” refers not only to the blockchain bridge for off-chain data, but also resonates with its ancient meaning—an oracular revelation. When DSSC voiceprints serve only for verification, the oracle acts as a gatekeeper; but once endowed with semantic structure, capable of revealing relations among energy curves and translating them into sound space, it transcends verification and functions as a “machine of divination,” converting physical traces into messages from another world.
# '''Next steps''' The next challenges concern the expansion of data and semantic structure: Build a controlled dataset of DSSC voiceprints under varying light and temperature to test reproducibility. Explore how proximity in sonic latent space can correspond to proximity in energy curves. Assess the failure modes and anti-counterfeiting limits of the fuzzy extractor, registering voiceprint hashes as energy certificates. Deepen the dual meaning of the oracle: as long as it functions only as a verification gatekeeper, it merely authenticates; but once it begins to reveal structural relations between energy curves and translate them into sound, it takes on the ancient role of the oracle—transforming physical signs into messages from another world.


=References=
=References=
Line 213: Line 233:
#Stinson, Catherine. 2020. “From Implausible Artificial Neurons to Idealized Cognitive Models: Rebooting Philosophy of Artificial Intelligence.” Philosophy of Science 87 (4): 590–611. https://doi.org/10.1086/709730.
#Stinson, Catherine. 2020. “From Implausible Artificial Neurons to Idealized Cognitive Models: Rebooting Philosophy of Artificial Intelligence.” Philosophy of Science 87 (4): 590–611. https://doi.org/10.1086/709730.
#Jha, Rishi, Collin Zhang, Vitaly Shmatikov, and John X. Morris. 2025. “Harnessing the Universal Geometry of Embeddings.” arXiv:2505.12540. Preprint, arXiv, June 25. https://doi.org/10.48550/arXiv.2505.12540.
#Jha, Rishi, Collin Zhang, Vitaly Shmatikov, and John X. Morris. 2025. “Harnessing the Universal Geometry of Embeddings.” arXiv:2505.12540. Preprint, arXiv, June 25. https://doi.org/10.48550/arXiv.2505.12540.
#https://www.hackteria.org/wiki/A_RAVE_and_starvation_synth_based_generative_sonic_device_powered_by_dye_sensitized_solar_cell
#Schmudde, David. 2024. Between Chaos and Order. https://doi.org/10.34626/2024_XCOAX_019.
#https://github.com/shihweichieh2023/IVcurve_tester
#“What Is Complexism? Generative Art and the Cultures of Science and the Humanities | Semantic Scholar.” n.d. Accessed September 5, 2025. https://www.semanticscholar.org/paper/What-is-Complexism-Generative-Art-and-the-Cultures-Galanter/90da494215c460a8f8b7e518b75795f2177d269d.
#https://github.com/rjha18/vec2vec
#“Blockchain Radio Access Network (B-RAN): Towards Decentralized Secure Radio Access Paradigm | IEEE Journals & Magazine | IEEE Xplore.” n.d. Accessed October 7, 2025. https://ieeexplore.ieee.org/abstract/document/8598796.
#https://github.com/shihweichieh2023/solar-oracle-walkman
#Galanter, Philip. n.d. What Is Complexism? Generative Art and the Cultures of Science and the Humanities.

Latest revision as of 05:57, 17 October 2025

太陽能神喻隨身聽(chinese version)

Abstract

This experiment was realized as a working prototype during the SGMAK Hacker-in-Residency Programme. The Solar Oracle Walkman is an exploration of energy trading and sound sculpture, adapted from an I–V tester to transform handmade DSSCs (“solar mini discs”) into sound. Each solar mini disc’s TiO₂ layer is patterned by cyanotype or screen printing to deliberately introduce defects, generating a unique I–V voiceprint V. This voiceprint is submitted via an oracle, a mechanism that securely bridges off-chain data to the blockchain, to a smart contract for verification. Once verified on-chain, V is rendered on the Walkman as reproducible generative music. The device functions like a cold wallet: each DSSC corresponds to a verifiable on-chain identity (panel_id) and its commitment value. The panel_id can serve as an anchor for future tokenization. In the completed v1 prototype, the measured I–V curve is decomposed into seven dimensionless features [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*], reduced with PCA, then manually mapped to the latent inlets of an independently trained nn~ RAVE decoder, producing reproducible sonic identity without explicit semantic structure. In the planned v2 experiment, continuous I–V data under varied illumination will be recorded, and an I–V encoder will be trained to learn compact, illumination-robust latent embeddings for each cell. These embeddings will pass through an off-chain fuzzy extractor pipeline (quantization → error correction with helper data (ECC) → hashing) to derive a stable key K. On-chain, only the commitment and panel_id derived from K are anchored, preserving privacy while enabling verification. If vector-space preservation (VSP) can be maintained, distances in the latent space will reflect differences in photovoltaic behavior, establishing a richer semantic space. From artistic and philosophical perspectives, this “divinatory machine” links the physical and informational worlds, exploring the distillation and realization of “truth” through the lenses of philosophy of perception and blockchain. Currently the sound in this prototyping is not a mere reproduction: theoretical frameworks are integrated into composition as guides and reflective tools, linking technical processes (measurement, feature extraction, on-chain verification) with philosophical frameworks (perception, reality, hallucination).

Experiments

The solar oracle walkman is mainly made of 3 components: a I-V curve tester, a patterned solar mini disc and a smart contract. The I-V curve of each solar mini disc is measured and uploaded to a smart contract deployed on Sepolia Testnet to be verified, once its I-V data passes the verification, the corresponding music will be generated and allowed to play from the walkman accordingly. The sound of each "solar mini disc" are expected to be reproducible, generative and semantic, like a period of generative music with clear mechanism rather than completely randomness. To make each solar mini disc a generative device, I firstly assume I need to design a hash operation to gain a “ voiceprint (V)” for each solar glass; A hash operation is the process of feeding input data such as numbers, text, files, or a set of I-V curve parameters—into a mathematical function or algorithm to produce a hash value. Hash algorithms can take input of any length but always generate a fixed-length output. They are designed to be fast to compute, yield the same output for the same input, and produce drastically different outputs when the input changes even slightly.

The first prototype v1

A DIY I-V curve tester is connected to computer and the 16 points of I-V curve measurements are sent to the Max/MSP via serial communications. I-V curve is often used to analysis the characteristics of a solar cell, therefore it is ideally the "voiceprint" of the panel, especially the DSSC with cyanotyped and screen printded TiO2 layer. In this research, the shape of I-V curve is deconstructed in:to seven features that are often used to measure different characteristics of the panel, and then apply machine learning to each feature so the shape can be learned by the computer. This method is expected to ensures the irradiance invariance, so the reproducibility of the audio output of the solar mini disc will be resilient even it's put under different light exposure. The voiceprint V consists seven features of the I-V curve: V = [FF (Fill Factor), Vmpp/Voc, Impp/Isc, Rs (series resistance), Rsh (shunting resistance), sum of curvature, total area of the I-V curve]. Noticing the calculation made here are dimensionless. A dimensionless feature vector is a set of numerical descriptors that have been normalized so they no longer carry physical units such as volts, amperes, or ohms. By converting raw measurements into dimensionless quantities—for example, by taking ratios like Vmpp/Voc or Impp/Isc, the features capture only the relative shape or behavior of the data, independent of its absolute scale. This process is crucial when comparing or classifying I-V curves under varying light intensities, as it ensures that differences in the vector reflect intrinsic device characteristics rather than changes in measurement conditions.

Solar Oracle Walkman v1 — Overview

[Light]
   ▼
[Patterned DSSC “Mini-Disc”]
   ▼
[I–V Scanning / ESP32-S3 Tester]
   ▼
[Feature Extraction, 7D]
F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
   ▼
ml.scale normalization
   ▼
ml.principle (PCA)
   ▼
input RAVE nn~ decoder
   ▼
Real-time audio output
Cross-modal mapping: I–V latent → audio latent
(mapping chosen by artistic / compositional context)

The 7-D voiceprint

V = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*] All features are computed on a 64-point resampled I–V trace and normalized by Voc and Isc to be invariant to irradiance and device size.

FF (fill factor)
FF = (Vmpp * Impp) / (Voc * Isc)
Vmpp/Voc and Impp/Isc
Scale-free ratios capturing the operating point at maximum power.
Rs* and Rsh* (dimensionless ohmic estimates)
First estimate the local slopes on the resampled curve:
Rs ≈ -ΔV/ΔI (evaluated near I ≈ Isc)
Rsh ≈ -ΔV/ΔI (evaluated near V ≈ Voc)
Then report dimensionless forms:
Rs* = Rs * (Isc / Voc)
Rsh* = Rsh * (Isc / Voc)
Σκ (curvature_sum)
Sum of absolute turning angles along the 64-point polyline of the I–V trace: for each consecutive pair of segments s_i = (ΔV_i, ΔI_i), accumulate
|angle(s_i, s_{i+1})|, and report Σκ = Σ |angle(s_i, s_{i+1})|.
(Intuition: larger Σκ indicates a more “bent” I–V shape.)
A* (normalized area under the I–V curve)
Definition: area from V=0 to V=Voc divided by (Isc * Voc).
Discrete approximation on the resampled trace:
A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)

The preprocessing of fuzzy extraction with ml.scale and ml.principle

To make the sound of every solar mini disc reproducible and solid for smart contract verification, ml.* library in Max/MSP is a solution. Ml.* is a toolbox of machine learning algorithms implemented in Max to enable real-time interactive music and video with unsupervised machine learning, aimed at computer musicians and artists. The raw seven features are first sent to ml.scale object for the normalization in range from 0 to 1. The values are then passed to ml.principle, which performs Principal Component Analysis (PCA). This converts the seven values into a new 7-dimensional PCA space which is a mathematical method that rotates and compresses data into fewer dimensions while preserving as much variance as possible. ml.principle is the Max/MSP object that implements PCA: it learns the principal axes from training data, and then projects new data into that reduced space. I am not familiar with how fundamentally the mathematics works, however, I got an okay explanation from GPT below in the photo gallery.

Second Prototype v2: RAVE as Intermediate Layer and Fuzzy Extractor

In the v1 version, using ml.scale and ml.principle for PCA provided only linear dimensionality reduction; it could not guarantee “reproducibility under varying illumination” or “error correction for a binary key.” Therefore, I propose v2, which adopts a fuzzy extractor: it converts the continuous latent vector z into an error-correctable, verifiable bitstring and outputs a stable key K, simultaneously meeting the requirements of identity reproducibility and on-chain verification. Solar Oracle Walkman v2 — Overview

[Light]
   ▼
[Patterned DSSC “Mini-Disc”]
   ▼
[Continuous I–V Scanning / ESP32-S3 Tester]
   ▼
[I–V Encoder (Conv1D trained in Colab) — off-chain]
Input: 7-D sequence [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area]
Output: latent vector z = (z1, z2, …, zn)
Training: triplet loss + prior matching
Augmentation: gain scaling / noise / temporal jitter
   ▼
[Fuzzy Extractor — off-chain]
z → normalization / quantization
  → ECC + helper data → stable key K
  → commit = keccak256(K || salt)
Enrollment: panel_id = keccak256("panel-id" || K)
Verification: new K′ → keccak256(K′ || salt) → compare with stored commitment
   │
   ├───────────────► [Oracle / On-chain Path]
   │                   Package {pubkey, panel_id, commitment, timestamp, nonce, signature}
   │                   Smart contract: verify EIP-712 signature, timestamp, nonce
   │                   Smart contract: check keccak256(K′ || salt) == commitment (on verify calls)
   │                   Smart contract: store panel_id, commitment, metadata; emit events
   │                   Feedback: OK / FAIL
   │
   ▼
[input RAVE nn~ decoder]
   ▼
Real-time audio output
Cross-modal mapping: I–V latent → audio latent
(mapping chosen by artistic / compositional context)

I–V Encoder Training (Off-chain)

  1. Platform: Google Colab
  2. Architecture: Conv1D (since the RAVE encoder cannot directly process curve data)
  3. Input: continuous 7-dimensional “voiceprint” [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area]
  4. Output: latent vector z = (z1, z2, …, zn) (dimensionality aligned with downstream audio decoder)
  5. Training objective: triplet loss (pull samples of the same cell closer, push different cells apart) + prior matching (make z follow the decoder’s Gaussian prior)
  6. Data augmentation: gain scaling / small noise / temporal jitter

Fuzzy Extraction (Off-chain)

  1. z → normalization, quantization
  2. Pass through ECC (error-correcting code) → derive stable key K
  3. Compute commitment: commit = keccak256(K || salt)

Panel ID and Enrollment

  1. Initial enrollment: panel_id = keccak256("panel-id" || K)
  2. Subsequent verification: reconstruct K′ → compute keccak256(K′ || salt) → compare with on-chain commitment
  3. Feature: the contract automatically associates the record with panel_id, without uploading any human identity information

Audio Decoder (Off-chain)

  1. Training: independently on musical data, or reusing an existing RAVE decoder
  2. Function: sonify z
  3. Stability: because the encoder enforces geometric stability in z, repeated measurements of the same cell yield reproducible timbre and dynamics
  4. Cross-modal mapping: I–V → audio latent: semantic order is preserved only on the encoder side, while the decoder-side mapping is determined by artistic/compositional context

Verifiable Semantic Space (VSP)

According to Jha et al. (2025), semantic stability relies on three core constraints:

  1. Reconstruction: the transformed representation can be mapped back to the source
  2. Cycle-consistency: round-trip transforms preserve meaning
  3. Vector space preservation (VSP): pairwise distances among embeddings remain preserved after mapping

Smart Contract Verification System

The smart contract of the Solar Oracle Walkman is deployed on Ethereum Sepolia Testnet (contract address: 0xeF19a90e5786dd0e89264F38f52CF81102db938e). The contract functions as a decentralized digital notary, responsible for: verifying signatures and data integrity (EIP-712), managing submissions keyed by panel_id, storing and publishing commitments and metadata associated with I–V voiceprints. Note: Fuzzy extraction and derivation of the key K are all performed off-chain; the contract does not execute FE. Download the related code on GitHub here.

Verification Flow (On-chain)

Inputs (submitted from off-chain):

  1. panel_id: generated off-chain as panel_id = keccak256("panel-id" || K)
  2. commitment: computed off-chain as commitment = keccak256(K || salt)
  3. Signature: signed according to EIP-712 standard
  4. timestamp, nonce
  5. (Optional) 7-dimensional voiceprint [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area], for visualization or research

Contract responsibilities:

  1. Verify EIP-712 signature, timestamp, and nonce
  2. Manage submissions indexed by panel_id; check commitment consistency with existing records (or update by business rules)
  3. Store panel_id, commitment, timestamp, and (optional) 7-D voiceprint; emit events for subscription

Panel ID and Identity Management (On-chain Perspective)

  1. Origin (off-chain): panel_id = keccak256("panel-id" || K)
  2. On-chain archiving: measurements are indexed and queried by panel_id
  3. Identity verification: off-chain reconstruction of K', compute keccak256(K' || salt) and compare with on-chain commitment; contract only accepts the minimal required submission for proof and notarization

Security Mechanisms

EIP-712 Structured Signatures

The contract implements EIP-712 standard, providing verifiable structured signatures for measurement submissions:

struct IVMeasurement {
    uint256 timestamp;
    bytes32 panelId;
    bytes32 commitment;
    uint256[7] voiceprint;
    bytes32 nonce;
}

Data Integrity Checks

  1. Timestamp verification: prevent replay attacks
  2. Nonce mechanism: ensure uniqueness of each transaction
  3. Voiceprint range check: if 7-D voiceprint is provided, validate feature ranges
  4. Commitment consistency: check consistency of commitment for the same panel_id

Storage Structure

Measurement Records

Each verified measurement record includes:

  1. Panel ID: anonymized identifier of the DSSC (derived off-chain)
  2. Commitment: Keccak-256 commitment hash (computed off-chain)
  3. Timestamp: measurement time
  4. Voiceprint (optional): 7-D I–V voiceprint features
  5. Verification Status: verification result

Oracle Mechanism (On-chain Role)

The contract acts as one end of a Blockchain Oracle, verifying and notarizing signed data submitted from off-chain:

  1. Data verification: signature, timestamp, nonce, and data integrity
  2. Identity confirmation: compare commitment by panel_id
  3. State update: update on-chain data structures
  4. Event emission: emit events upon successful verification


Truth-sonified Sculpture: on the similarity between perception and computation as generative Systems

Driven by the motivation of energy traceability, this experiment attempts to materialize “the real” and argues that it carries a dual sense: on the one hand, the truth/veracity of blockchain transactions—verifiable and tamper-proof; on the other hand, the reality/the real of perceptual philosophy—how we generate and experience reality itself. To support this view, we must discuss how conceptual models and analogical mechanisms are formed. Following Stinson (2020) on the notion of a generic mechanism, the comparability between computational models and human cognition does not lie in the similarity of their representations, but in whether both can be regarded as instances of an abstract category of mechanism. This provides a legitimate basis for designs that aim to map generative art and cognitive systems onto one another. Many studies already treat AI perception and human perception as two sides of the same process, redeveloping perceptual philosophy through the structure of generative models. For instance, Buckner (2023) proposes that human imagination and memory are closely related to the variational autoencoder (VAE). Andy Clark’s (2023) predictive brain theory further suggests that both perception and artificial intelligence can be understood as generative mechanisms: they do not merely receive signals passively, but actively predict and correct them. In this framing, “reality” is not an objective given but a prediction generated by the brain—a controllable illusion. These theories provide a structural bridge for debates in philosophy of mind and philosophy of perception. However, the “reality” of perceptual philosophy and the truthfulness of measurable energy trajectories do not belong to the same ontological category, and thus cannot be straightforwardly juxtaposed within a single framework. Yet the operative mechanism of the artwork creates an initial common ground: the Solar Oracle Walkman can likewise be seen as a perceptual system. Through the oracle mechanism, it extracts “the real” from two worlds—intracranial/on-chain and extracranial/off-chain—while within its algorithms, prediction and error become tools for locating truth. “This sound originates from this solar cell, here and now, under these conditions.” Ultimately, the Solar Oracle Walkman evolves from an exercise in sonifying a traceable energy system into a generative musical sculpture grounded in the sonification of the real and the semantic alignment and translation work between two different systems. Conservatively, the project should still be regarded as an operational sketch of cognitive science, rather than a testable theory of consciousness; it remains at a considered distance from formal consciousness science and the philosophy of mind.

Discussion

  1. Where things are now At its present stage, the Solar Oracle Walkman functions as an artistic device that fuses energy measurement with sound generation. The I–V curve of a patterned DSSC is mapped into a latent sonic state, while a fuzzy extractor produces a verifiable key for on-chain registration. In this way, sound becomes not only an aesthetic event but also a traceable energy label. The work emphasizes the dual nature of generation and verification: sound retains creative drift, while the oracle serves as an external anchor, ensuring that each sonic decision remains traceable to a concrete energy trajectory.
  2. What the theory is doing now Stinson’s (2020) notion of the generic mechanism provides a framework for analogy: both the DSSC–oracle–sound pipeline and human perception can be regarded as instances of generative systems. Andy Clark’s theory of the predictive brain further frames sound here not as mere reproduction but as a controllable illusion generated through prediction and error correction. These theoretical perspectives are not final claims but rather design heuristics and reflective tools, helping us connect technical processes (measurement, feature extraction, on-chain proof) with philosophical frameworks (perception, reality, hallucination).
  3. Next steps The next challenges concern the expansion of data and semantic structure: Build a controlled dataset of DSSC voiceprints under varying light and temperature to test reproducibility. Explore how proximity in sonic latent space can correspond to proximity in energy curves. Assess the failure modes and anti-counterfeiting limits of the fuzzy extractor, registering voiceprint hashes as energy certificates. Deepen the dual meaning of the oracle: as long as it functions only as a verification gatekeeper, it merely authenticates; but once it begins to reveal structural relations between energy curves and translate them into sound, it takes on the ancient role of the oracle—transforming physical signs into messages from another world.

References

  1. Buckner, Cameron J. 2023. From Deep Learning to Rational Machines: What the History of Philosophy Can Teach Us about the Future of Artificial Intelligence. 1st ed. Oxford University PressNew York. https://doi.org/10.1093/oso/9780197653302.001.0001.
  2. Stinson, Catherine. 2020. “From Implausible Artificial Neurons to Idealized Cognitive Models: Rebooting Philosophy of Artificial Intelligence.” Philosophy of Science 87 (4): 590–611. https://doi.org/10.1086/709730.
  3. Jha, Rishi, Collin Zhang, Vitaly Shmatikov, and John X. Morris. 2025. “Harnessing the Universal Geometry of Embeddings.” arXiv:2505.12540. Preprint, arXiv, June 25. https://doi.org/10.48550/arXiv.2505.12540.
  4. Schmudde, David. 2024. Between Chaos and Order. https://doi.org/10.34626/2024_XCOAX_019.
  5. “What Is Complexism? Generative Art and the Cultures of Science and the Humanities | Semantic Scholar.” n.d. Accessed September 5, 2025. https://www.semanticscholar.org/paper/What-is-Complexism-Generative-Art-and-the-Cultures-Galanter/90da494215c460a8f8b7e518b75795f2177d269d.
  6. “Blockchain Radio Access Network (B-RAN): Towards Decentralized Secure Radio Access Paradigm | IEEE Journals & Magazine | IEEE Xplore.” n.d. Accessed October 7, 2025. https://ieeexplore.ieee.org/abstract/document/8598796.
  7. Galanter, Philip. n.d. What Is Complexism? Generative Art and the Cultures of Science and the Humanities.