The Solar Oracle Walkman: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 13: | Line 13: | ||
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-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. | 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-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. | ||
=Ml.scale and ml.principle= | =Ml.scale and ml.principle= | ||
| Line 22: | Line 19: | ||
The raw 7 features are first sent to ml.scale for normalization. They 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. | The raw 7 features are first sent to ml.scale for normalization. They 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. | ||
In summery, this method should be able to make all panels be recognizable in the Max patch and be reproducible. | |||
In | =Sound mapping= | ||
In this research experience, RAVE (Real-Time Audio Variational Auto-Encoder) is used as the sound feature engine, with the seven features of the I-V curve are connected to the inlet of the nn~ decoder in the Max patch. There are two reasons for this approach: first, the lightweight computation of ml.* library and RAVE is optimal for real-time audio synthesis with high fidelity sound output. Second, RAVE provides the access to the latent space of the VAE (variational audio auto-encoder) frame, which provide us a great way to map physic features to sound with details. For example, FF to the brightness or harmony, Vmpp/Voc to pitch, Impp/Isc to granularity or intensity, series resistance to sharpness, shunt resistance to noise or breath... etc. The sound mapping between I-V curve data and latent space of RAVE is not only a practice of sound performance; by injecting DSSC physics, it is also a small practice of cross-modal embedding (different than multimodal learning): physical energy curves become sonic gestures and a form of semantic transfer. Cross-modal mapping requires less data, quick to learn, and flexible to create, but semantic alignment is fragile. Multimodal learning is costly and slow to iterate, but it provides a more consistent and generalizable "physics ↔ sound" semantic space. These two aren't about depth or height, but rather about trade-offs and goals. This experiment is well-suited to starting with cross-modality, collecting interactive data while performing, and then upgrading to multimodality in the next iteration. | |||
<gallery widths=400px heights=300px> | <gallery widths=400px heights=300px> | ||
File: | File:RAVE solar timbre map.png|A simple sound map diagram of I-V datas and RAVE latent space. | ||
</gallery> | </gallery> | ||
| Line 34: | Line 31: | ||
#https://www.hackster.io/news/a-starvation-synth-made-with-diy-solar-cells-46e79c82b005 | #https://www.hackster.io/news/a-starvation-synth-made-with-diy-solar-cells-46e79c82b005 | ||
#https://www.hackteria.org/wiki/A_RAVE_and_starvation_synth_based_generative_sonic_device_powered_by_dye_sensitized_solar_cell | #https://www.hackteria.org/wiki/A_RAVE_and_starvation_synth_based_generative_sonic_device_powered_by_dye_sensitized_solar_cell | ||
#https://github.com/shihweichieh2023/IVcurve_tester | |||
Revision as of 14:57, 16 August 2025
Abstract
During this 3 weeks micro residency, a rapid prototype of a “mini solar disc player” that converts a handmade DSSC into music has been developed and researched after the previous project to combine DSSC and starvation synth. A concept of "the finger print of the solar cell" is invented; by employing the unique I-V curves of different handmade and graphical solar glass as musical notation, the finger print allows the system to transform photovoltaic characteristics into reproducible and generative music. Electronically a I-V curve tester works as a self-powered mini disc Walkman, a 6x6 cm solar mini disc can be put in and export the relative audio results. This research can be seen as the artistic and sculptural development of a conceptual generative music album in physical form to encourage user to manufacture DIY DSSC with natural dye. It is a beginning of a fictional exploration or a minimum viable product (MVP) into whether photovoltaic energy could—or should—be traceable in the future.
-
The DIY I-V tester made by Marc Dusseiller.
-
The measurement of the I-V curve tester is uploaded to Thingspeak and a local server, and can be fetched in Max/MSP.
-
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 generative capacity and reproducibility of each solar disc
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.
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-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.
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. A script of javascript is made in Windsurf to make the mathematics to generate a raw 7 features to facilitate the I-V curve fingerprint (the first and the second outlet): 1. F_ohmic = [FF, Vmpp/Voc, Impp/Isc, Rs, Rsh, curvature_sum, area] 2. F_dimless = [FF, Vmpp/Voc, Impp/Isc, Rs_dimless, Rsh_dimless, curvature_sum, area] 3. basics = [Voc, Isc, Vmpp, Impp] 4. A 64-points resample of the 16 points with smoother curve. For the first outlet, Rs and Rsh are in real physical units (Ω), so the vector mixes unitless ratios with dimensional quantities. The second outlet makes everything dimensionless, so the feature vector is “scale-free” and can be compared across cells with different sizes, Voc, or illumination.
The raw 7 features are first sent to ml.scale for normalization. They 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.
In summery, this method should be able to make all panels be recognizable in the Max patch and be reproducible.
Sound mapping
In this research experience, RAVE (Real-Time Audio Variational Auto-Encoder) is used as the sound feature engine, with the seven features of the I-V curve are connected to the inlet of the nn~ decoder in the Max patch. There are two reasons for this approach: first, the lightweight computation of ml.* library and RAVE is optimal for real-time audio synthesis with high fidelity sound output. Second, RAVE provides the access to the latent space of the VAE (variational audio auto-encoder) frame, which provide us a great way to map physic features to sound with details. For example, FF to the brightness or harmony, Vmpp/Voc to pitch, Impp/Isc to granularity or intensity, series resistance to sharpness, shunt resistance to noise or breath... etc. The sound mapping between I-V curve data and latent space of RAVE is not only a practice of sound performance; by injecting DSSC physics, it is also a small practice of cross-modal embedding (different than multimodal learning): physical energy curves become sonic gestures and a form of semantic transfer. Cross-modal mapping requires less data, quick to learn, and flexible to create, but semantic alignment is fragile. Multimodal learning is costly and slow to iterate, but it provides a more consistent and generalizable "physics ↔ sound" semantic space. These two aren't about depth or height, but rather about trade-offs and goals. This experiment is well-suited to starting with cross-modality, collecting interactive data while performing, and then upgrading to multimodality in the next iteration.
-
A simple sound map diagram of I-V datas and RAVE latent space.