As always, show your work where applicable. Please include your answers for this section in ANDREWID-p5-answers.txt
.
What is the frequency range to which human ears are most sensitive?
Harmonic Series are the frequency components that are 1, 2, 3, 4, … times the fundamental frequency. Based on equal temperament where an octave is equally divided into 12 log-spaced semitones, (1) what are the pitches whose fundamentals approximate the harmonic series for A2? Show the first six of them (starting with A2) with necessary calculations. (2) Are the fundamentals of the pitch series exact harmonics?
We learned in the lecture on perception that human ears can discern a 5-cent pitch change. If the reference note is C4 (261.63Hz), and we raise the pitch by 5 cents, what is the fundamental frequency of the raised pitch?
Localization of sound: Amplitude panning uses just one cue for localization. In this question, let’s make a sound that gives better localization over headphones by delaying one of the channels by some amount of time. In the picture below, assume that B and C are the locations of the right and left ear respectively; the ear distance BC is 18 cm (0.18 m). The left channel is x[t]. What would the right channel be? Assume the amplitude is proportional to 1/d where d is the distance, and the speed of sound is 343 m/s. Write your answer in the form: V x[t-T] by calculating the values for V and T. Note that T is the amount that the sound x[t] is delayed, and V is the volume (amplitude).
In this question we are only concerned with sound intensity from speaker A. Intensity is power per unit of area, so relative intensity is the same as relative (ratio of) power. There are two loudspeakers located as such:
Why is constant power panning often better than linear panning?
Your friend is driving in circles around you. Explain why you would not hear a Doppler effect.
We considered convolution in the last project. What sound effects in the list below can not be performed using convolution? Or in other words, which of the following sound effects cannot be achieved by convoluting the original sound with some function like an impulse or a decaying exponential? Choose the right answers from below:
Which of the above effects use feedback (the output of the effect is used as a part of input)?
In MSW synthesis, tone production can be divided into two main parts: a non-linear excitation and a linear resonance. If we use MSW to synthesize a trumpet tone, the non-linear excitation would be caused by:
When using a waveguide model for a single-string instrument, what happens if no energy is absorbed by the bridge?
In this project, you will explore physical models and pattern generators. Your main composition task is to generate music using physical model functions built into Nyquist. One problem you will encounter immediately is that just as a violin does not play itself, physical models require careful control to create musical sounds. The warm-up exercises are designed to explore physical models and their control.
Using clarinet-freq
, create a sequence of clarinet tones separated by 1 s of silence as follows:
Put your code (for all of these tones and sequences) in ANDREWID-p6-warmup.sal
. Concatenate all the sounds with some silence separating them in ANDREWID-p6-warmup.wav
.
Use score-gen
with pattern generators to algorithmically compose a piece for physical models. You can use any of the physical models in Nyquist: clarinet
, sax
, flute
, bowed
, mandolin
, wg-uniform-bar
, wg-tuned-bar
, wg-glass-harm
, wg-tibetan-bowl
, modal-bar
, and sitar
. (Acknowledgment: these unit generators are ported from Synthesis Tool Kit by Perry Cook and Gary Scavone.)
Your piece should have multiple pattern generators, including nested pattern generators to get variation at more than one time scale. For example, if you have a cycle of pitches, you could add an offset to the cycle on each repetition so that you hear the melodic cycle transposed each period. Alternatively, you might generate small random pitch intervals at the small time scale and have the average pitch slowly drift up or down at a larger time scale. You can use make-window and make-repeat to further manipulate streams of data.
You should also have at least two “voices” as opposed to a single melodic line. As always consider panning, reverberation, other effects, and careful mixing to make your piece musical and interesting.
Duration should be at least 60 seconds. Hand in the following files:
ANDREWID-p6-comp.sal
- the code.
ANDREWID-p6-comp.wav
- the sound file.
ANDREWID-p6-comp.txt
- a short statement of your intention in the composition.
To get you started on some advanced pattern generation, here are some interesting examples to study:
make-copier(make-cycle({24 36 48 60}, for: 1), repeat: 7)
This example adds two streams. This is one way to get behavior at different time scales:
make-sum(long-term-pattern-generator,
short-term-pattern-generator)
This example makes a series starting at 5 and increasing by 2 each time. The make-line({5 2})
pattern returns 5, 2, 2, 2, ..., and make-accumulate
sums the series to get 5, 7, 9, 11, ...
make-accumulate(make-line({5 2}))
When all else fails and you really want a specific computation, you can use make-eval()
to invoke a function to compute a stream of numbers. In this example, a custom function, myfunc
, does some computation and returns a value to incorporate into a pattern stream. mypat
uses make-eval
to call myfunc
.
define myfunc()
return real-random()
set mypat = make-eval({myfunc})
Of course, myfunc()
could also access and modify data from another pattern. The simple way to do this is using a global variable since make-eval does not have any way to accept parameters and SAL cannot construct closures.
Answers for "1. Short Questions": ANDREWID-p6-answers.txt
Code for "2. Physical Models and Patterns, 1. Warm-Up Exercises": ANDREWID-p6-warmup.sal
NOTE: just put the code for 2.1.1-2.1.4 into one file.
Sounds for "2. Physical Models and Patterns, 1. Warm-Up Exercises": ANDREWID-p6-warmup.wav
NOTE: concatenate the sounds for 2.1.1-2.1.4 into one wave file (ideally with a little silence separating each part).
Code for "2. Physical Models and Patterns, 2. Composition": ANDREWID-p6-comp.sal
Final sound for "2. Physical Models and Patterns, 2. Composition": ANDREWID-p6-comp.wav
A short statement of your intention of the composition: ANDREWID-p6-comp.txt