From d227473647b740ea31761220e9677ae86f11383b Mon Sep 17 00:00:00 2001
From: Keyvan Kambakhsh { width=250px }
Since \(t\) is a real number, there are infinite possible values for it (Even in a limited range like \([0,1]\)). We can't apply infinite different voltages to our magnetic plate in a finite time. A solution is to increase \(t\) with an fixed number, and take a sample out of the function. How fast we take samples from our function determines our sampling rate. A sampling rate of 100 means that we are taking 100 samples per second. In order to reach sampling rate of 100, we have to increase \(t\) by 0.001 everytime we take a new sample. The sampling rate should be high enough so that we are able to generate a wide range of frequencies, otherwise it'll become useless. A sampling-rate of around ~40000 is enough to be able to generate sounds that are hearable by a human.
A very standard sampling-rate for sounds is 44100. pacat
uses it by default too. The next step is to substitute the \(t\) variable with \(\frac{n}{44100}\) where \(n\) is the sample number: \(sin(2\pi f\frac{n}{44100})\), then we should just create a loop in which the value of \(n\) by 1 (Effectively causing the value of \(t\) increases by \(\frac{1}{44100}\))
import sys
@@ -257,34 +257,34 @@ pacat <(python3 music.py)
-[POINTER]
-Now let's combine two frequencies and hear how it sounds!
+Remember that each arbitrary signal can be assumed as nothing but composition of sine waves? A fascinating fact is, our ears are actually able to recognize the existence of two different frequencies in a single signal, and we can actually experiment that! Instead of defining our f(t)
function as a single sine, we can embed two sine components in a single signal by adding them together:
def f(t):
- a = math.sin(t * 2 * math.pi * 440)
- b = math.sin(t * 2 * math.pi * 660)
- return (a + b) / 2
+ a = math.sin(t * 2 * math.pi * 440) * 0.5
+ b = math.sin(t * 2 * math.pi * 660) * 0.5
+ return a + b
-We are taking an average from a
and b
so that the output value remains between -1 and 1.
If you hear this function, you will actually notice that it consists of two sounds. Your brain can successfully decomposite the output wave into two sounds, and this is amazing! The reason that you can recognize the 440Hz and 660Hz sound in the output of this script is the same reason you can hear your friend in a loud room full of noise, your brain is able to decouple sounds with different frequencies.
+We are multiplying a
and b
by 0.5
so that the output value remains between -1 and 1, otherwise the value of a + b
may go below -1 or above 1, which doesn't make sense to our audio device. When you apply a coefficient to a signal, the sound will remain the same, only the energy/intensity of it (Its volume), will decrease/increase! Here we are halving the volume of our original sine function so that some space remains for the other sine component.
If you hear this function, you will actually notice that it consists of two sounds. Your brain can successfully decompose the output wave into two sounds, and this is amazing! The reason that you can recognize the 440Hz and 660Hz sound in the output of this script is the same reason you can hear your friend in a loud room full of noise, your brain is able to decouple sounds with different frequencies.
+Now that we are able to generate sounds of different frequencies, I want you to do an experiment. Try generating frequencies that are of the form \(2^nf\). E.g. try hearing these frequencies: \(440, 880, 1760, 3520, \dots\)
def f(t):
- sec = t * sample_rate
- if sec < 1:
+ if t < 1:
return math.sin(t * 2 * math.pi * 440)
- elif sec < 2:
+ elif t < 2:
return math.sin(t * 2 * math.pi * 440 * 2) # 880Hz
- elif sec < 3:
+ elif t < 3:
return math.sin(t * 2 * math.pi * 440 * 2 * 2) # 1760Hz
- elif sec < 4:
+ elif t < 4:
return math.sin(t * 2 * math.pi * 440 * 2 * 2 * 2) # 3520Hz
In the code above, we are generating different frequencies through time. We start with 440Hz, and we double the frequency every 1 second.
Hear them carefully, and then compare how they sound when their frequency is doubled. Try a different coefficient. Generate sounds that are of the form: \(1.5^nf\): \(440, 660, 990, 1485, \dots\)
We can discover something very strange and important here. Sounds that are generated when the frequency is doubled each time, are very similar to each other (At least, to our brain). While in the second experiment, sounds seem to be different with each other. If the sounds that are generated in the first experiment are similar, then what makes them different?
-Let's try another experiment (This time without coding!). Play one of your favorite musics and try to sing on it. Try to sing on it with lower and higher pitches. Even though you have changed your voice, your singing still "fits" the song. By singing on a song with higher pitch, you won't shift your frequency by some number, but you will actually multiplying it by a power of two. A man and woman with totally different frequency ranges can both sing on the same song, but both of the singings will "fit" on the song, as long as the frequencies are multiplies of powers of 2. I think it's now safe two say, frequencies that are twiced every time, have same feelings.
+Let's try another experiment (This time without coding!). Play one of your favorite musics and try to sing on it. Try to sing on it with lower and higher pitches. Even though you have changed your voice, your singing still "fits" the song. By singing on a song with higher pitch, you are not actually shifting your frequency by some number, but you will actually multiplying it by a power of two. A man and woman with totally different frequency ranges can both sing on the same song, but both of the singings will "fit" on the song, as long as the frequencies are multiplies of powers of 2. I think it's now safe two say, frequencies that are doubled (Or halved) every time, have same feelings.
Let's start with 300Hz. We calculate powers of two multiplied by the base frequency. Here is what we get:
..., 37.5Hz, 75Hz, 150Hz, 300Hz, 600Hz, 1200Hz, 2400Hz, ...
Let's agree that they are all basically the same "sound", and let's put a name on them. Let's call them S1.
+Although there areLet's agree that they are all basically the same "sound", and let's put a name on them. Let's call them sound number 1 or S1.
Whatever frequency we take from the range 300Hz-600Hz, there will also exist the corresponding "same-feeling" sound in ranges 75-150, 150-300, 600-1200, 1200-2400 and etc.
Conversely, we can also conclude that any random frequncy have an corresponding "same-feeling" frequency in 300Hz-600Hz range. In order to find its same-feeling frequency, we just need to halve/double it, until it gets between 300Hz-600Hz. (E.g. let's start with 1500Hz, we halve it 2 times and we get 375Hz which exists in the range, so 375Hz is the equivalent same-feeling sound of 1500Hz). We know there are infinite number of frequencies between 300Hz-600Hz. A single S1 is not enough for creating beautiful pieces of music. We could only build Morse codes out of the single sounds! So let's discover and define other sounds in the same range.
Imagine we define S2 as a sound that is in the middle of two S1s. Given that the self-feeling sounds are repeated in a loop, here is what we should expect:
@@ -345,8 +345,11 @@[POINTER]
Now that we have our pallete of sounds, we may start creating art! A simple melody consists of musical notes that come, stay for some time and then fade away. They won't last forever, and there will be times when no musical not is being played, silence itself is an ingredient of music.
Before generating the music itself, let's define the list of constants the will represent the frequencies of different musical notes:
A = 440 # La
diff --git a/docs/assets/pallete.png b/docs/assets/pallete.png
new file mode 100644
index 0000000000000000000000000000000000000000..3df674d029956d48ca686127cd0a27b9915e6bb7
GIT binary patch
literal 68907
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