The Solar Oracle Walkman: Difference between revisions

From SGMK-SSAM-WIKI
Jump to navigation Jump to search
 
(143 intermediate revisions by the same user not shown)
Line 1: Line 1:
<gallery widths="220px" heights="400px">
File:WikiGrenier - Lecteur Sony Mini Disc 03.jpg|Sony MD player Sony MZ-R55.
File:Sony WM-F107.jpeg|Sony WM-F107 exhibited in Solar Biennale 2025 in Lausanne.
File:I-V tester made by Marc Dusseiller.jpg|The DIY I-V tester made by Marc Dusseiller.
</gallery>


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


= Abstract =
=Abstract=
A “solar mini-disc walkman” is prototyped that turns a handmade dye-sensitized solar cell (DSSC) into music. A 7-dimensional I–V “fingerprint” of a solar cell plays a crucial role in this design; using the unique I–V curve of each handmade DSSC as a musical score so its photovoltaic character is translated to reproducible, generative sound. This sonic device is reinvented from a DIY I-V tester device and is self-powered: a 6×6 cm “solar mini disc” can be inserted and rendered to audio in real time. At present, the sound engine is implemented in Max/MSP with RAVE, where the I–V “fingerprint” is directly connected to the decoder’s latent inlets. This pragmatic choice exploits RAVE’s real-time, high-fidelity synthesis, but the mapping remains largely hand-crafted. Framing the process more generally, the sound mapping can be understood as cross-modal (photovoltaic → sound) and uses a generative decoder as its target space. This sonic device design project not only produces reproducible sonic identities for each handmade cell, but also gestures toward a broader research question: how cross-system “semantics” of energy and sound might be aligned in a universal latent space.
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=
      │  DSSC I–V Features │    (7D fingerprint)
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.
      │ [FF, Vmpp/Voc,     │
 
      │  Impp/Isc, Rs,     │
==The first prototype v1==
      │  Rsh, curvature,   │
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.
      │  area]             │
 
      └────────┬───────────┘
'''Solar Oracle Walkman v1 — Overview'''
              │
<pre>
             
[Light]
    ┌──────────────────────┐
 
    │  vec2vec-style      │
[Patterned DSSC “Mini-Disc”]
    │  Bridge Mapping    │
  ▼
    │  (priors: monotonic,
[I–V Scanning / ESP32-S3 Tester]
    │  smoothness, etc.)  │
  ▼
    └─────────┬────────────┘
[Feature Extraction, 7D]
              │
F = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]
             
  ▼
    ┌──────────────────────┐
ml.scale normalization
    │  RAVE Latent Space  │
 
    │ (semantic geometry,  │
ml.principle (PCA)
    │  VSP constraints)   │
  ▼
    └─────────┬────────────┘
input RAVE nn~ decoder
              │
 
             
Real-time audio output
    ┌──────────────────────┐
Cross-modal mapping: I–V latent → audio latent
    │  Sound Synthesis    │
(mapping chosen by artistic / compositional context)
    │ (real-time audio     │
</pre>
    │  decoder in nn~)   │
    └──────────────────────┘


<gallery widths="220px" heights="400px">
<gallery widths="220px" heights="400px">
File:I-V tester made by Marc Dusseiller.jpg|The DIY I-V tester made by Marc Dusseiller.
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: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.
File:DIY DSSC with cyanotype pattern.jpg|DIY DSSC with cyanotype pattern made by Shih Wei Chieh.
File:DIY DSSC with cyanotype pattern.jpg|DIY DSSC with cyanotype pattern made by Shih Wei Chieh.
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===
= The generative capacity and reproducibility of each solar disc =
<code>V = [FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, Σκ, A*]</code>
The audio output of each "solar disc" are expected to be reproducible, generative and variational, like a period of generative music with clear mechanism rather than completely randomness. To make each solar glass a generative device, I firstly assume I need to design a hash operation to gain a “finger print (F)” 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 finger prints raw features ==
As we know I-V curve is often used to analysis the characteristics of a solar cell, therefore it is ideally the finger print of the panel. In this research, the shape of I-V curve is deconstructed into to 7 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 disc will be resilient even it's put under different light exposure. The finger prints F consists 7 features of the I-V curve: F = [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, and a script of javascript is created by GPT to generate these 7 features in a Max patch:
 
The 7-D fingerprint is defined as:
<code>F = [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 75: Line 74:
: <code>A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)</code>
: <code>A* ≈ (Σ I[i] * ΔV[i]) / (Isc * Voc)</code>


==Ml.scale and ml.principle==
===The preprocessing of fuzzy extraction with ml.scale and ml.principle===
To achieve the goal to recognize the shape of each "solar mini disc", ml.* library in Max/MSP could be a possible 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 I-V curve tester is connected to computer and the 16 points of voltage and current measurements are sent to the computer via serial communications. The raw 7 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 7 values into a new 7-dimensional PCA space, though typically only the first two components (PC1 and PC2) carry most of the significant variance. In short, PCA 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.


<gallery widths=400px heights=300px>
<gallery widths=500px heights=500px>
File:iv_curve_machine_learning.png|An example Max patch of the machine learning process for the raw 7 features: [FF, Vmpp/Voc, Impp/Isc, Rs, Rsh, curvature_sum, area].
File:iv_curve_machine_learning.png|An example Max patch of the machine learning process for the raw seven features: [FF, Vmpp/Voc, Impp/Isc, Rs, Rsh, curvature_sum, area].
File:Principle component analysis math explained.png|The mathematical explanation for the principle component analysis (PCA) made by GPT.
</gallery>
</gallery>


==From sound reproducibility to semantic stability==
== Second Prototype v2: RAVE as Intermediate Layer and Fuzzy Extractor ==
At present, the sound engine is implemented in Max/MSP with RAVE, where a 7-dimensional I–V “fingerprint” is directly connected to the decoder’s latent inlets. This pragmatic choice exploits RAVE’s real-time, high-fidelity synthesis, but the mapping remains mainly hand-crafted.
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 


Framing the process more generally, the mapping can be understood as a vec2vec-style cross-modal alignment: a bridge function projects photovoltaic features into the latent space of a neural audio synthesizer. According to Jha et al. (2025), In the vec2vec framework, 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. While these methods were developed for aligning text embeddings, they provide a useful reference for future design: similar constraints could regulate how photovoltaic features enter the RAVE latent space, ensuring that sonic identities preserve the geometric relationships of their underlying energy curves.
=== 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> 


In that sense, the Solar Mini-Disc Walkman not only produces reproducible sonic identities for each handmade DSSC, but also gestures toward a broader research question: how cross-system “languages” of energy and sound might be aligned in a universal latent space. Although the current mapping is deliberately naive—simply wiring the seven raw DSSC features into the decoder inlets of RAVE—it already achieves strong reproducibility. Each solar cell yields a stable and unique sonic output whenever measured, which effectively functions as a sonic fingerprint. In this stage, semantic preservation and vector space alignment are not the focus; the priority is ensuring that the physical identity of each DSSC is consistently rendered as an audible identity.
=== 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 


=== Audio Decoder (Off-chain) ===
# Training: independently on musical data, or reusing an existing RAVE decoder 
# 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 


<gallery widths=400px heights=300px>
=== Verifiable Semantic Space (VSP) ===
File:RAVE solar timbre map.png|A simple sound map diagram of I-V data and RAVE latent space.
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>
File:latent VSP comparison.png|This figure contrasts the current pipeline with an idealized design that incorporates vector space preservation (VSP). On the left, reproducibility is achieved: each DSSC maps to a stable position in latent space, allowing identity verification but without meaningful relationships across cells. On the right, VSP ensures that pairwise distances in the latent space reflect differences in photovoltaic features, providing not only reproducibility but also relational meaning. In this view, the oracle evolves from a gatekeeper that validates authenticity into a “divinatory machine” that reveals how energy curves relate within a shared semantic structure.
</gallery>
</gallery>


== Smart Contract Verification System ==
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.
<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.
</gallery>


=Discussion=
# '''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 (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''' 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=
#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.
#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.
#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.