User:Francois/Solar Genesis II
Solar Genesis II is a piece that I will be developing during the Music 220C class. This piece follows my compositions for the Music 220A class, Heliocentric Harmony, and for the Music 220B class, Solar Genesis I.
Project history and inspiration
Heliocentric harmony
This first part of this project, leading to the production of Heliocentric Harmony was the sonification of some concepts of the Harmony of the Spheres discussed in the texts by Pythagoras and Kepler. The system consisted in a solar system where each planet was playing a particular note when an eclipse was happening. The system was spatialized with Doppler effect so that the public would locate the planets around him. This spatialization was made by stereo panning on pairs of loudspeakers.
Solar Genesis I
Solar Genesis I was the first attempt to extend Heliocentric Harmony into a full piece, based on a fictional storyline of the life of the solar system. The piece consists in three main parts picturing the birth, life and death of the sun. The main component is an improvised piano piece on a Disklavier. The MIDI messages were used to control the progression of a computer-generated accompaniement and a visual part. The three component are used to create and reinforce the affects related to each part of the piece. The spatialization existing in Heliocentric harmony was converted to Third-Order Ambisonics to improve the spatial sound impression.
Project objectives
Solar Genesis II is meant to develop the ideas expressed in Solar Genesis I, and especially its affect.
Instrumental Piece
The instrumental piece is meant to feature a duet between the piano (Disklavier) and another instrument played or simulated. The piece will be written with the assistance of Prof. Aquilanti.
Computer Music Accompaniement
The computer music program is meant to play sound sequences clarifying and reinforcing the emotions conveyed by the instrumental piece. The triggering process implemented in Solar Genesis I will be complexified. An alternative triggering event will be investigated for the solar system since the present one has been too difficult for the public to understand.
Visualization
The visualization already developed for Heliocentric Harmony and Solar Genesis I is meant to evolve into a 3D visualization. Challenges in this process are to develop a new point of view from the 3D perspective since the video won't anymore show the whole system so we would like to avoid empty screens.
Spatialization
The computer-generated sound will be generated by Third-Order Ambisonics (TOA) similarly to what was made in Solar Genesis I, to provide a full 2D sound field. The new Wave Field Synthesis (WFS) system will be used to play with the location of the instrumentists. The exact form of this has not been finalized but two main ideas are on the table:
- Acoustic images of the two performers,
- Virtual second performer interacting with the pianist.
The difficulty in the second option would be to develop a complex but robust synchronization between the performer and the virtual instrument while keeping the spirit of the instrumental piece.
Final piece
Performance
The piece was performed on Wednesday, May 31 in the CCRMA stage for the CCRMA Spring Concert. The performance was recorded thanks to David Kerr and is available on Youtube.
Program notes
Solar genesis II by François Germain, for Disklavier, Cello, and Computer, Sarah Smith (cello), Eric Wu (piano)
This piece is the third of a cycle of pieces started in the previous Music 220A and 220B CCRMA classes.
Immerge yourself along the path of the planets and the stars in this music tale told by the piano and the cello. From chaos and dissonnances emerges the concert of the revolving planets be- fore they disappear, with a universe going back to noisy empti- ness. A big thank you to Fernando Lopez-Lezcano for his invalu- able help and support in this project.
System architecture
The final piece architecture is showed in the picture. We see that the system is composed of 8 main components:
- QSampler is the virtual "third performer". It receives MIDI messages from Chuck and play back the corresponding piano notes. In general, it echoes or mirrors (with respect to a given pitch) the playing of the pianist on the Disklavier. The sounds are send back to Chuck.
- The Disklavier sends to Chuck MIDI messages corresponding to the piano playing.
- A C++ software implements the physical model for the planets and the movements of the listener. OSC messages sent from Chuck controls the start and stop of the system, as well as the distance of the listener from the sun. The software sends OSC messages to Chuck (planet positions relative to the listener for Ambisonics panning) and processing (planet and listener positions for the display).
- A Processing script generates the video performance. It receives information through OSC from the C++ software (planet and listener positions) and Chuck (sun size, noise intensity and "pitch", planet "performance")
- A Chuck script, core piece of the system, controls the succession of the MIDI events and advances in the computer "score" while the cues arrive from the Disklavier. It starts and stops the planet part of the piece, sends the MIDI messages to the sampler in response to the Disklavier input or the messages corresponding to its "solo" pa
Blog
April 10
- Demonstration of the WFS system in the Listening room and the Fantasia video in class.
April 12
- First discussion about the piece with Prof. Aquilanti. The other instrument will probably be a cello.
April 16-17
- Meeting and discussion with Jens Ahrens at the Linux Audio Conference
April 19
- For next class:
- Check Risset's pieces,
- Create a test for the WFS in the listening room.
- Idea: conversion of the trajectories in the solar system to Bezier curves for a smoother contour.
April 23
- Tested the MIDI samples salamander (with Qsampler) for the virtual instrument with Nando.
April 25
- Implemented a simple plane wave WFS (16 channels) in ChucK.
- Note: ChucK can't handle 32 channels
April 29
- Started 3D implementation in Processing
April 30
- Started implementation of the WFS in Faust (based on the code of J.O. Smith) to circumveine the limitation of ChucK. Compilation rather as a Jack plugin since a UGen could be limited on a similar way as the tested code last week.
May 1
- Started porting solar system code to C++. It should be more efficient than ChucK, the information would be sent to the other part of the piece via OSC.
May 3
- Discussed with Nando to get better MIDI samples for the computer-generated piano
May 4
- Discussed with Carr to know the status of the Disklavier in the classroom. I'll be checking the system next week to (hopefully) get it to work.
May 5
- Porting of the solar system code in C++ completed.
May 9
- First prototype for 3D vizualization
May 15
- Figured out how to enable OSC support on Faust standalone jack plugins
May 16
- Planar wave WFS jack plugin tested in the Listening Room
- New Chuck beta version fixes the running problem for large number of channels
May 18
- Implementation of observer movement in the system
May 20
- Addition of star background in processing to improve the spatial impression.
May 21
- Test of the point source WFS Faust plugin in the Listening Room was unsuccessful. The spatial impression was very disappointing. Reasons for this phenomenon unknown so far.
References
Spatialization
Ahrens, Jens. Analytic Methods of Sound Field Synthesis. Berlin: Springer, 2012.
Ahrens, Jens, Matthias Geier and Sasha Spors. The SoundScape Renderer: A Unified Spatial Audio Reproduction Framework for Arbitrary Rendering Methods. Audio Engineering Society Convention 124, 2008.
Music
Stravinsky, I., W. Disney et al. "The Rite of Spring." In Fantasia, 1940.
Risset, J.-C. "Huit esquisses en duo pour un pianiste," In Electronic Music III. Acton, MA: Neuma, 1994.