The Solar Oracle Walkman
-
Sony MD player Sony MZ-R55.
-
Sony WM-F107 exhibited in Solar Biennale 2025 in Lausanne.
-
The DIY I-V tester made by Marc Dusseiller.
太陽能神喻隨身聽(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)
-
DIY DSSC with screen printed pattern and hollyhock dye made by Shih Wei Chieh.
-
DIY DSSC with cyanotype pattern made by Shih Wei Chieh.
-
The measurement of the I-V curve tester is uploaded to Thingspeak and a local server, and can be fetched in Max/MSP.
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.
-
An example Max patch of the machine learning process for the raw seven features: [FF, Vmpp/Voc, Impp/Isc, Rs, Rsh, curvature_sum, area].
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)
- Platform: Google Colab
- Architecture: Conv1D (since the RAVE encoder cannot directly process curve data)
- Input: continuous 7-dimensional “voiceprint”
[FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area]
- Output: latent vector
z = (z1, z2, …, zn)
(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)
z
→ normalization, quantization- Pass through ECC (error-correcting code) → derive stable key
K
- Compute commitment:
commit = keccak256(K || salt)
Panel ID and Enrollment
- Initial enrollment:
panel_id = keccak256("panel-id" || K)
- Subsequent verification: reconstruct
K′
→ computekeccak256(K′ || salt)
→ compare with on-chain commitment - Feature: the contract automatically associates the record with
panel_id
, without uploading any human identity information
Audio Decoder (Off-chain)
- Training: independently on musical data, or reusing an existing RAVE decoder
- Function: sonify
z
- Stability: because the encoder enforces geometric stability in z, repeated measurements of the same cell yield reproducible timbre and dynamics
- 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:
- 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
-
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.
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):
panel_id
: generated off-chain aspanel_id = keccak256("panel-id" || K)
commitment
: computed off-chain ascommitment = keccak256(K || salt)
- Signature: signed according to EIP-712 standard
timestamp
,nonce
- (Optional) 7-dimensional voiceprint
[FF, Vmpp/Voc, Impp/Isc, Rs*, Rsh*, curvature_sum, area]
, for visualization or research
Contract responsibilities:
- Verify EIP-712 signature,
timestamp
, andnonce
- Manage submissions indexed by
panel_id
; checkcommitment
consistency with existing records (or update by business rules) - Store
panel_id
,commitment
, timestamp, and (optional) 7-D voiceprint; emit events for subscription
Panel ID and Identity Management (On-chain Perspective)
- Origin (off-chain):
panel_id = keccak256("panel-id" || K)
- On-chain archiving: measurements are indexed and queried by
panel_id
- Identity verification: off-chain reconstruction of
K'
, computekeccak256(K' || salt)
and compare with on-chaincommitment
; 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
- 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
commitment
for the samepanel_id
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
commitment
bypanel_id
- State update: update on-chain data structures
- 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.
-
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.
-
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.
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
- 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.
- Schmudde, David. 2024. Between Chaos and Order. https://doi.org/10.34626/2024_XCOAX_019.
- “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.