Professional Documents
Culture Documents
Exploring Musical Textures by Computational Creativity and Visual Art Interactivity
Exploring Musical Textures by Computational Creativity and Visual Art Interactivity
1 Introduction
We explore the connections between novel music creation strategies and a visual
pendulum mediated by creative coding. Our study features the use of pendulum
music visual renderings, coded within the P5.js framework. Section 2 delineates
the related works. In Section 3 we outline the process of building the protoype.
The following Section 4 documents its deployment on a web browser. Section 5
delves into a discussion of its creative potential leading to the conclusion, which
draws together the threads of the discussion and proposes future developments.
2 F. Author et al.
2 Related Works
Pendulum Music The impact of rhythm and imagery of oscillatory motion was
investigated in various studies, such as [10]. Pendulum-movement simulations
have been applied in the analysis and realization of works such such as Schubert’s
Piano Sonatas [6], poeme symphonique (1962) for one hundred metronomes by
Ligeti [3][4] and Steve Reich’s Pendulum Music [11]. ‘Pendulum Music’ features
swinging microphones that generate weakly phased feedback pulses [12]. The
pendulum metaphor has been used by several artists and researchers within the
context of creative programming [7][1]. Coco recreated Reich’s experiment using
the visual language Pure Data [2]. Østergaard developed the artistic project
Pendulum Dialogues [9].
3 Methods
Computer Environment Architecture. ‘Orbital Overlaps’ makes use of the
p5.js JavaScript library. P5.js puts an emphasis on accessibility and diversity
and may be used from within a browser, eliminating the requirement for instal-
lation4 . P5.js promotes interactive and immersive experiences by emphasizing
open-source principles and increased sketching skills, giving artists greater ver-
satility in computer-generated art. The browser is employed as a canvas, giving
programmers and artists a wide range of options for computer-generated mate-
rials.
– position: The end point of the arm or where the bob is located.
– length: The length of the pendulum arm.
– angle: The angle of the pendulum arm with respect to the vertical.
– aVelocity: Angular velocity of the pendulum arm.
– aAcceleration: Angular acceleration of the pendulum arm.
– mass: Mass of the bob at the end of the pendulum arm.
– gravity: Gravitational force.
Given some cornerstone elements for different motion results, our simulation
considers the angle and arm length as the variables, determining motion using
angular velocity and acceleration. The force exerted by the pendulum Fp is
perpendicular to its arm, with gravity Fg acting downwards. By constructing a
right triangle, we deduce that:
F p = F g × sin(θ) (1)
A central concern is deriving the angular acceleration of the pendulum. Ac-
cording to Newton’s laws and trigonometry, the angular acceleration is:
−1 × G × sin(angle)
aAcceleration = (3)
l
For enhanced realism, damping is introduced, decreasing the angular velocity
by 1% each cycle, represented by:
Subsequently, the initial position, length, and orientation of the arm were
configured. These parameters are then updated with each successive frame re-
fresh, culminating in the simulation of pendulum movement. The following script
depicts the structure of the arm motion:
this.position.set(
this.origin.x + this.length * sin(this.angle),
this.origin.y + this.length * cos(this.angle)
);
4 F. Author et al.
In the current model, each arm is delineated as a line emanating from its
origin to its specified position. Simultaneously, the bob, characterized by its
inherent mass which correlates with the dimensions of the ellipse, width and
height, is illustrated as an ellipse positioned at the terminal end of the arm as
depicted in the following:
To facilitate the nesting required for the double pendulum, a class titled ‘Pen-
dulum’ was developed. The initial position of ‘arm2’ is conjoined to the terminal
position of ‘arm1’, visually superimposing the bob. In the current model, the
bob’s ‘mass’ attribute does not influence motion, but is exclusively utilized for
sound processing, as delineated in Section 3. The very first ‘arm1’ is initially
positioned at the center of the screen, e.g., width/2 and height/2. Subsequently,
we present the parameters incorporated in the pendulum constructor, where col1
and col2 indexes are related to the color definition for each bob:
{
this.arm1 = new Arm(x, y, length1, mass1, angle1, col1, gravity);
this.arm2 = new Arm(
this.arm1.position.x,
this.arm1.position.y,
length2,
mass2,
angle2,
col2,
gravity);
}
The following Figure 1 depicts the double pendulum at rest on the center
of the screen. In this first model, the background color is arbitrarily fixed to a
grayscale index of 92 where 0 is full black and 255 is full white. Arm colors were
also set initially to black.
Lastly, we created a function named addPendulum(), in which we can de-
fine the number of double pendulum instances at the same time on the screen.
For computational efficiency, the quantity of overlapping pendulums is capped
at five. From our empirical trials and computer resources it is enough to grant
enough results. Based on our preliminary empirical assessments and the con-
straints of available computational resources, this limitation suffices to yield
satisfactory outcomes.
pendulums[];
function addPendulum() {
if(pendulums.length >= maxPendulums) {
pendulums.shift();
}
}
Musical Textures, Creativity, and Visual Art: The Pendulum’s Sway 5
Fig. 2. Two double-pendulum settings. On the left, all dynamic controls for pendulum
features are visible. Conversely, on the right, once the ’Show/Hide Controls’ is acti-
vated, GUI sliders are concealed, and pendulum attributes are randomly assigned.
audio architecture was integrated into the ‘Pendulum’ class, encompassing arms
and bobs for the nested pendulums. Here is a list of audio features.
Within the Tone.js library, there exists a built-in FM synthesis function de-
noted as ‘Tone.FMSynth’. This was incorporated for each bob within the double
pendulum instances, and in the extant model iteration, it adheres to the subse-
quent structure:
// for bob #2
this.synth2 = new Tone.FMSynth({
modulationIndex: 12,
harmonicity: 1,
modulation: { type: ’sine’ },
modulationEnvelope: {
attack: 0.25,
decay: 0.2,
sustain: 0.25,
release: 0.3},
envelope: {
attack: 0.25,
decay: 0.2,
sustain: 0.25,
release: 0.3}
}).toDestination());
The Frequency Modulation and the Modulation Index were based on the bob
colors. Red was employed for the frequency modulation and blue was used for the
modulation index. Frequency Modulation range is set between 1Hz − 1000Hz
and the Modulation Index is 1 − 10:
Feedback Delay was the primary audio processing mechanism employed. Its
integration served not only to introduce a subtle depth but also to mitigate
abrupt sound transitions in synchrony.
4 Prototype Description
modulation index. The GUI controllers provide a handle to the pendulum’s prop-
erties Section 3.
Two interface layouts were implemented: one with a visible dynamic control
panel and another without controllers. Figure 3 depicts an example of the dou-
ble pendulum interface. There is also the option of visual pendulum elements
without sonic output.
Fig. 3. A single frame from the double pendulum enactment in random mode.
A Tone.Panner function was used to map the stereo auditory location of the
soutrce to the bob spatial position. Tone.FMSynth provided support for flexible
audio results. The decision to use the bob’s size as the determining factor for the
carrier frequency produced a spectrum spread between 60Hz and 2000Hz. The
Feedback Delay added nuances to the sounds, and helped to smooth abrupt audio
transitions. The ‘Orbital Overlaps‘ prototype can be accessed in the following
link: https://rb.gy/i8e89.
4.1 Study
A pilot study involving sound creation and interaction with the ‘Orbital Over-
laps’ prototype was conducted. To gather volunteers’ assessments, we used the
CSI-NAP Performance Questionnaire v. 0.8, complemented by the ISE-NAP v.
1.0, which focuses on the Identification and Socio-Economic Profile of the re-
spondents 6 .
NAP’s Creative Support Index, a.k.a. CSI-NAP, is a tool designed to gather
objective information through subjective queries on the participants’ perfor-
mance during creative activities [8]. This instrument comprises various facets
of individual experiences and material resources [5]. The data is used for the
evaluation of the impact of the resources and the activity [5, pp. 10].
6
The discrete categories are derived from the following items: ‘the activity location’,
‘the amount of sound materials’, ’ease to select sounds’, ‘ease to modify the sounds’,
‘ease to mix’, ‘fun to select sounds’, ‘fun to modify sounds´, ‘ease to collaborate´,
‘quality of sonic result´, ‘originality of sonic result’, ‘quality of experience’, ‘original-
ity of experience’. Participants answer the instrument’s questions through a 5-points
Likert scale between -2 and 2. Each level features the following terms: ‘I fully dis-
agree’; ‘I partially disagree’; ‘I don’t know’; ‘I partially agree’ and; ‘I fully agree’.
10 F. Author et al.
Descriptives
Descriptives
N Mean SD Minimum Maximum
Session Location Participants engaged with the prototype within their re-
spective domestic environments. Of the participants, one utilized a tablet for
interaction (20%), two opted for notebooks (40%), while the remaining two em-
ployed mobile devices for the study (40%).
Session Results The participants engaged with the model for 24.4 minutes
(SD = ± 9.32 minutes). Figure 5 presents the median values of all variables,
along with their respective minimum and maximum ratings. Notably, there were
no missing values in the study.
In the Following Figure 6, all the median categories are stacked in a single
barplot.
5 Discussion
Descriptives
Descriptives
N Median Minimum Maximum
References
1. Bisig, D., Bogner, F.: Pendulum – exploiting simple physics for gen-
erative art. In: 20th Generative Art Conference GA2017 (2017),
https://www.generativeart.com/GA2017/DanielBisig full paper.pdf
2. Coco, R.: Minimalism and process music: a pure data realization of ”pendulum mu-
sic”. In: Proceedings of Sound and Music Computing 0́6. Marseille, France (2006),
http://smc.afim-asso.org/smc06/papers/24-Coco-pendulum.pdf
3. Cone, E.T.: One hundred metronomes. Australian Journal of Music Education (26),
19–24 (1980), https://search.informit.org/doi/10.3316/informit.227677257417966
4. Drott, E.: Ligeti in fluxus. Journal of Musicology 21(2), 201–240 (2004).
https://doi.org/10.1525/jm.2004.21.2.201
5. Freitas, B., Bessa, W., Costa, D., Nazaré, P., Keller, D.: A ecologia soundsphere
desde um viés culinário: Atividades criativas em um restaurante universitário. In:
Anais do VII Simpósio Internacional de Música na Amazônia (2019)
6. Guez, J.: Process and Pendulum in Schubert’s Expanded Type 1 Sonatas. Music
Analysis 40(2), 147–177 (2021). https://doi.org/10.1111/musa.12172
7. Hansen, A.M.S., Overholt, D., Burleson, W., Jensen, C.N.: Pendaphonics: A
tangible pendulum-based sonic interaction experience. In: Proceedings of the
3rd International Conference on Tangible and Embedded Interaction. pp. 153–
160. Association for Computing Machinery, New York, NY, USA (2009).
https://doi.org/10.1145/1517664.1517701
8. Keller, D., Capasso, A., Tinajero, M.P.: Knowledge transfer in ecologically
grounded approaches to ubimus: Inmesh 1.0. Journal of New Music Research 48(4),
397–411 (2019). https://doi.org/10.1080/09298215.2019.1642361
Musical Textures, Creativity, and Visual Art: The Pendulum’s Sway 13
9. Østergaard, E.: Pendulum dialogues and the re-enchantment of the world. In: Pio,
F., Varkøy, Ø. (eds.) Philosophy of Music Education Challenged: Heideggerian
Inspirations: Music, Education And Personal Development, pp. 185–198. Springer
Netherlands, Dordrecht (2015). https://doi.org/10.1007/978-94-017-9319-3 11
10. Peckel, M., Pozzo, T., Bigand, E.: The impact of the perception of rhythmic
music on self-paced oscillatory movements. Frontiers in Psychology 5 (2014).
https://doi.org/10.3389/fpsyg.2014.01037
11. Reich, S.: Writings about music. In: Lexikon Schriften über Musik: Band 2:
Musikästhetik in Europa und Nordamerika, pp. 684–689. Bärenreiter-Verlag, Kas-
sel, Germany (2022). https://doi.org/10.1007/978-3-7618-7287-1 33
12. Schwarz, K.R.: Steve Reich: Music as a gradual process part II. Perspectives of
New Music 20(1/2), 225 (1981). https://doi.org/10.2307/942414
13. Shiffman, D.: The Nature of Code (2012), https://natureofcode.com/