|
220A Final Project Starry Sky |
|
The Music Starry
Sky Starry Sky is based on “ChucK”, which is originated
byGe Wang and Perry Cook. “Chuck” home page: http://chuck.stanford.edu The idea of “Starry Sky” comes from the beautiful
night view of CCRMA and Fountain at Bellagio. While Digital music is a part
of the nature, it is supposed to reflect the beauty of nature while
generating sound effects that is not very often to seen in the normal world.
At the fountain in Bellagio in Vegas, this combination was perfect expressed
by crystal water fall and touching music piece. The inspiration of “Starry
Sky” comes right from this point. Except several drum beats, all sound in Starry
Sky was generated using ChucK code: The Code is sampled in Audacity to get raw sound
source below: Raw1, Raw2, Raw3, Raw4, Raw5, Raw6, Raw7, Raw8, Raw9, Raw10 Then, using Cubase SX3 as mixing platform, raw
samples are mixed into final piece. Within ChucK code: In Background group, Original sound is generated by SinOsc object. The
original signal is passed to Pan2 object and divided into two channel, which
are left and right of dac. Before dac, signal of left channel passes JCRev
reverb unit and right channel passes NRev reverb unit, of which the mix rate
differs. A ray of numbers consist to an note vector which
is: [ 0, 5, 10, 7, 13, 19 ]. Using midi to frequency function, these numbers
are modulated and selected within range of 4 oct. Meanwhile, a low frequency
sinusoid control signal is modulating the overall panning of left and right
channel. Also after sounding for a certain length, the volume of SinOsc is
suddenly turned down to general clip sound, which is reverberating within
left and right channel. In HighSound group: Rhodey generates original signal which is passed
into two separated left and right channel. Left channel passes JCRev and Echo
object, while right channel passes two Echo objects. Feedback is given by
putting a Gain object between Rhodey and Pan2, and returning the feedback to
itself. Within main function, three numbers are used to
record and decide the parameter of increasing mix of effect units based on
previous status. Random number is used to decide the original state of
beginning of the loop. But the random number is also selected by if function
to choose different directory of the parameter. The frequency function uses
the same idea, only the original state is given by a vector of numbers.
Therefore, the result of the function is not repetitive ,and could self-generate
new notes and frequency from the original state. With different effect mixing
rate, the effect units modulates the signal by different portion which gives
sound with fascinating tone. In Sweep Group: White noise is filtered by a BiQuad filter with
parameter of: 0.97 => biq.prad;.05 => biq.gain;1 => biq.eqzs. In
while loop, the frequency point is changed by low frequency sinusoid sweep. At the end of mixing, I recorded some of my own
sound into “adc”, and pass it through NRev and JCRev using: adc => Gain g
=> Pan2 pan, and then pan.left => NRev and pan.right=> JCRev to get
different reverb effect from different reverb units. During this process, the
mix level is very high. Then the sampled sound is mixed with the other parts.
Pitch shifting is processed within Audacity. |