{
    "archive_path": "archive/1791972334.988826",
    "base_url": "ciechanow.ski/sound",
    "basename": "",
    "bookmarked_date": "2026-10-14 10:05",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/ciechanow.ski/sound",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=ciechanow.ski",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": "ciechanow.ski/sound/index.html"
    },
    "domain": "ciechanow.ski",
    "extension": "",
    "hash": "1186QEM7VH4MC06476YP",
    "history": {
        "archive_org": [],
        "dom": [],
        "favicon": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=ciechanow.ski"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-14T10:07:08.437383+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1791972334.988826",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-14T10:07:07.851608+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://ciechanow.ski/sound/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-14T10:07:08.892264+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1791972334.988826",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-14T10:07:08.446447+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [],
        "media": [],
        "mercury": [
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://ciechanow.ski/sound/"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-10-14T10:07:15.971159+00:00",
                "index_texts": null,
                "output": "mercury",
                "pwd": "/data/archive/1791972334.988826",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-14T10:07:12.250410+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmpkqx_172m",
                    "https://ciechanow.ski/sound/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-10-14T10:07:12.240832+00:00",
                "index_texts": [
                    "Invisible and relentless, sound is seemingly just there, traveling through our surroundings to carry beautiful music or annoying noises. In this article I\u2019ll explain what sound is, how it\u2019s created and propagated.\nThroughout this presentation you will be hearing different sounds, which you will often play yourself on little keyboards like the one below. You can either click its keys with your mouse or use WER keys on your computer keyboard, but before you do so make sure your system volume is at a reasonable level:You can press its keys with your fingers, but before you do so make sure your system volume is at a reasonable level. You may also need to unmute your device:\n\n\nWe\u2019ll eventually understand how these sounds are created and how they get to your ears, but we have to start by talking about the medium that is most commonly associated with sound \u2013 air.\nAir \nYou\u2019re probably aware that at microscopic level air consists of individual, tiny particles. Let\u2019s look at the behavior of those molecules up close. In the demonstration below, I parceled out a tiny cube of air \u2013 notice how the molecules freely enter and leave this space. You can drag the cube around to change the viewing angle and you can also control the speed of the flow of time with the slider:\n\n\nI need to note that this visualization simplifies things a little. The air consists primarily of nitrogen and oxygen \u2013 their particles contain two atoms bound together, but for simplicity I\u2019m drawing all molecules as simple spheres.\nEach particle of air travels through space with some velocity in a more or less random direction. While some molecules are faster, and some are slower, at room temperature the average velocity of a particle is a staggering 1510 ft/s460 m/s so to make the particles visible I\u2019m showing their motion significantly slowed down. As a side note, I\u2019m using imperialmetric units here, but you can switch to the metricthe imperial system if you prefer.\nWith all the commotion in the previous simulation it may have been hard to see that the air particles collide with each other. In the demonstration below, I\u2019m flashing the particles red and making them a little bigger right after they collide. To make these events easier to see you can control the speed of time with the slider:\n\n\nNaturally, those particles can also collide with other things in the environment. In\u00a0the simulation below I put up walls around that parcel of air. While at this scale we could also see the individual atoms constituting the walls of the box, I\u2019m not showing them here to make things clearer. The particles of air are bouncing off these sides and every time that happens I\u2019m drawing a little blue glow on the wall:\n\n\nWhen an air particle bounces off, it imparts a small force on the wall. Although a single collision doesn\u2019t do that much, with enough particles present the walls experience a constant barrage of collisions which exert expanding pressure on the container. The magnitude of that pressure is the sum of all these forces of impacts divided by the area of the box. Intuitively, for a box of a fixed size, the more particles there are, the heavier they are, and the faster they move, the higher the pressure.\nLet\u2019s see what happens if we resize this box a little while keeping the number of particles constant. In the demonstration below, you can drag the slider to change the length of the box, the plot in the bottom tracks the number of collisions per area of the box in a unit of time:\n\n\nThe number of collisions per area, and thus the pressure, increases as we squeeze particles closer together, and it decreases as we let them loose. Remember that we\u2019re observing a significantly slowed down simulation. Because of the speeds involved here, I\u2019m only letting you resize the box at a limited pace. That limitation prevents the walls from moving at enormous speeds, which would create some truly extreme pressure conditions.\nIt may not be immediately clear, but the experience of pressure is not limited to the walls of the box we built. Molecules in any open region of gas also experience compressing forces exerted by collisions with molecules from the neighboring regions. Those collisions aren\u2019t as neatly aligned in space, but in aggregate it makes no difference if particles are bouncing off a wall or off particles from the neighboring area \u2013 the pressure is still there.\nAll the collisions between particles also have other consequences, but to look at them I need to adjust the scale at which we\u2019ll be looking at \u2013 you can do this with a slider below:\n\n\nThe small cube of air from the previous demonstration is now just part of a larger volume. While this large cube is 20 times larger in each dimension, its sides measure only 1 micrometer \u2013 a few times smaller than a width of spider silk. Unfortunately, it would be both chaotic to display and taxing to correctly simulate the over 26 million air particles that one could find in this area. Instead, I\u2019ll just visualize the motion of a single molecule as it travels through this space. In the demonstration below, I enlarged that particle to make it visible, you can also control the flow of time with the slider:\n\n\nDue to collisions with other molecules, it may take a while for this particle to travel a significant distance and get out of this larger volume. You probably experienced this yourself \u2013 when someone sprays perfume in a distant part of a room the scent doesn\u2019t instantly get to you. It\u2019s only after some lucky aromatic particles manage to bounce into the vicinity of your nose that you get to experience the smell. If it wasn\u2019t for the collisions with other molecules, those fragrant particles could travel the distance to your nose in a fraction of a second.\nThe important point is that, while the air particles move very fast, the collisions with other particles keep them mostly contained inside their local area. Over a longer period of time they will eventually all mix up, but at the short timeframes we\u2019ll be interested in here, each reasonably sized parcel of air contains mostly the same particles.\nAll the microscopic behavior of individual particles we\u2019ve observed ends up contributing to properties of air at larger scales. From this point on, we\u2019ll move past looking at individual molecules and instead we\u2019ll focus on regions of air that more closely match the sizes we\u2019re used to. Those particles are still there, and they\u2019re what actually end up distributing changes in gases, but we need to aggregate a huge collection of the molecules to end up with more discernible motions.\nLet\u2019s witness some of this large scale behavior when a section of air in a tube gets pushed on by a moving plate. In the demonstration below, I divided the air next to that circular plate into individual slices, which I\u2019m drawing with thin lines. Although these boundaries are imaginary, they let us see what happens to different sections of air as you move the plate around with the slider:\n\n\nNotice that the individual parcels of air move only a little from their initial position, but the disturbance caused by the motion of the plate seems to propagate through them with some speed. Moreover, that disturbance moves away from the plate regardless of the direction of the plate\u2019s motion.\nIf you recall our experiment with a resized cube of air having more or less available space, you\u2019ll notice that a very similar situation happens here inside each slice \u2013 this tells us that we\u2019re witnessing some changes in pressure.\nLet\u2019s look at this situation from the side, which will make it easier to see how these pressure changes propagate. In the following demonstration I\u2019m coloring each slice of air red when it\u2019s compressed and the pressure increases, and I\u2019m coloring it blue when it\u2019s expanded and the pressure decreases:\n\n\nWhen the plate moves to the right, it compresses the air particles in its vicinity, which increases the pressure in this region. Those particles then push and expand into particles in the neighboring slice of air, which then push onto the next slice and so on. All of this results in an area of higher pressure propagating away from the plate.\nOn the flip side, when the plate moves to the left, it creates an area of depletion, or rarefaction, which the neighboring slice of air rushes to fill in. This then reduces the pressure in the vicinity of the next slice and so on. While the slices move towards the receding plate, the pressure disturbance still moves away from the plate.\nWhat we\u2019ve just seen more clearly were pressure waves propagating through the air. When those pressure waves reach our ears we perceive them as sound. By moving the plate we\u2019ve effectively created a very crude speaker that emits sounds as its moving element changes position.\nWhile this simple demonstration helps to build an intuitive understanding of the propagation of pressure waves, the relation between the vibration of the object and the pressure disturbances it generates is much more complicated. We\u2019ll soon explore some of those details, but for now we\u2019ll focus on the relation between the movement of that vibrating element and the sound it produces.\nMaking Sounds \nLet\u2019s begin by introducing a simple musical instrument. By pressing a key down, you can request the plate to rapidly change its position. When you let that key go, the plate will move back by the same amount. Notice that each of the three keys moves the plate by a different amount, with red marker showing the total offset:\n\n\nDespite its simplicity, this device lets us observe a few things. Firstly, a sudden jump of a plate creates a popping sound. It also doesn\u2019t matter if the object has jumped forwards or backwards \u2013 the effect sounds the same.\nSecondly, the loudness of that pop depends on the magnitude of the jump \u2013 the larger the jump the louder the pop.\nFinally, this plate can jump forwards or backwards from any position \u2013\u00a0you can verify this by holding one of the keys and then pressing some other key. That pop sounds exactly the same as the sound created by a standalone key press.\nThree pops of different loudness is not much to create music with as this only lets us play some simple beats. You may have tried pressing the buttons as fast as possible to create more upbeat tunes, but there are limits to how fast human fingers can press buttons.\nThankfully, we can ask the device you\u2019re using to repeat the pops at a certain rate. In the demonstration below, you can drag the first slider to change how many times per second the plate should jump forwards and backwards. You can also control how far the plate moves with each jump using the second slider:\n\n\n\nTo describe the frequency of vibration, I\u2019m using the unit of hertz, often abbreviated as Hz \u2013 it describes how many full cycles of motion happen within a single second. For example, a frequency of 2 Hz means that two full cycles happened in a second which means that the plate moved back and forth and back and forth again.\nWhile at lower frequencies these patterns sound like a rapid series of pops, at higher frequencies these sounds blend together into a discernible note. The most important observation we can make here is that the higher the frequency with which the plate vibrates, the higher the perceived pitch of the resulting sound is.\nYou\u2019ve probably observed that at lower rates you could follow the motion of the vibrating plate, but as the frequency increases, it becomes impossible to reliably track its movement. Unfortunately, we\u2019re hitting the limits of frequencies we can easily display on a screen and perceive with our eyes, so from this point on I\u2019ll significantly slow down the motion of the plate. The patterns of motion will still be correct, they\u2019ll just happen at a much slower pace so that we can actually see what\u2019s going on.\nWith that in mind, let\u2019s make our music synthesizer create those very frequent jumps of the plate. We\u2019ll assign a different frequency to each key \u2013 you can see them displayed above the keys. I\u2019m also drawing three plots corresponding to each key, and an additional plot showing the cumulative effect of the individual motions.\nThese plots, or waveforms, represent the motion of the plate as requested by the keys. As the plots pass through the center line they reflect the current position of the plate, but remember that the motions we see here are a few hundred times slower than the actual ones:\n\n\nNotice that when you press two keys at the same time you can still hear both sounds playing through \u2013 we\u2019ve already seen that the final plate movement is just the sum of individual motions that each key requests.\nYou may also have realized that I\u2019ve shifted the center line of the plate. What we consider a base position of that object is ultimately arbitrary. The keys simply request the plate to move forward or backward and they don\u2019t care from where it\u2019s starting, but having the object oscillate around a well defined origin will be more convenient.\nIf you look closely at the plots when two keys are pressed, you may have also noticed that there are some areas where one of the keys wants the plate to move forward, while the other wants it to move back. As a result, the plate stays at the same position.\nWhat may be a little surprising is that there is nothing magical about the sound emitted by the plate when two keys are pressed \u2013 the emitted sound depends purely on the final movement of the plate. In the demonstration below, I made the third key emit the same pattern of motion as the combination of the first two:\n\n\nThe sound emitted when the third key is pressed is exactly the same as the sound emitted when the first two keys are pressed together. This is a very important observation, as it lets us explore some other patterns of motion that the keys could induce.\nWe\u2019ll expand on this idea by changing the way in which the plate vibrates. Instead of having it rapidly jump back and forth, we can request the plate to move with constant velocity, following a triangular pattern. Let\u2019s look at that pattern up close. Like other periodic shapes, a triangular waveform can be characterized by its amplitude, frequency, and phase:\n\n\n\n\nIn these visual examples the amplitude controls the height of the waveform. The frequency controls the width of the repeating pattern, which affects how many repetitions of the up-and-down triangles can fit inside a single second. The phase just shifts the shape around to change what we consider the beginning of that pattern.\nWe\u2019ve already seen how the amplitude of the plate\u2019s motion affects the perceived loudness, and this triangular motion is no different. In the demonstration below, all three keys move the plate in the same pattern, only their amplitude is different:\n\n\nSimilarly to the original rectangular pattern, we perceive different frequencies of this triangular motion as different pitches. In the following demonstration, each key has a different frequency as marked by the display in the upper part of the keyboard. The higher the frequency the higher the perceived pitch:\n\n\nWith these more complicated triangular shapes in place it may be a bit harder to understand how all these waveforms add up to form the final plot. Let\u2019s visualize this process step-by-step using a few examples that you can select in the demonstration below. The slider tracks the process of the addition of four different triangular shapes of different amplitude:\n\n\n\nNotice that each waveform expresses some shift from the current position. This offset can be positive or negative \u2013 I\u2019m visualizing it using small arrows. To add the waveforms we just need to apply these arrows to the existing shape, which we can do by placing the arrows on that shape and then deforming the shape as the arrows demand.\nThe yellow bars in the bottom part symbolize the amplitude of the specific triangular waveforms at different frequencies. Notice that it\u2019s completely fine for an amplitude to be zero \u2013 that element just won\u2019t participate in the creation of the final cumulative waveform.\nThe last parameter of any periodic function is phase. On its own, phase doesn\u2019t do much for sound, but it may give us some trouble when a phase-shifted shape is combined with another shape of the same frequency. In the demonstration below, all three keys of our synthesizer vibrate at the same frequency and amplitude, but each one is shifted in phase by a quarter of a cycle:\n\n\nIndividually, each of the three keys sounds exactly the same, but once we combine the keys the trouble begins. When the middle key is combined with the left or the right key, the resulting sound is slightly louder. However, when the first and last keys combine, their waveforms perfectly cancel each other out causing no plate movement \u2013 no sound gets emitted! We\u2019re experiencing a destructive interference where the peaks of one waveform end up getting cancelled out by the valleys of the other waveform.\nTriangular functions were a little more intricate than simple jumps, but nothing prevents us from using completely arbitrary motions. In the top part of the demonstration below, you can draw your own shape of the waveform that defines the vibration of the plate. I then repeat this pattern at frequency prescribed by each keyboard key, letting you hear the result through your speakers:\n\n\nAfter playing with different shapes you may have noticed that while they have a different character, they all share a very similar pitch. Different shapes end up creating different timbre which is a property of sound that lets us distinguish different instruments playing the same note.\nSo far we\u2019ve been building waveforms of increasing complexity, but it\u2019s time we reversed this direction by discussing sinusoidal waves, which form the most fundamental periodic functions.\nPure Tones \nLet\u2019s try to create a sine wave from scratch. In the demonstration below, you can witness a rotating circle with a small red point marked on it. If we track the vertical position of that point over time we\u2019ll draw a perfect sine wave. While we can assign amplitude, frequency, and phase to any other periodic function, those properties beautifully correspond to radius, speed, and initial angle of the rotating circle that generates this wave:\n\n\n\n\nLet\u2019s see how a sinusoidal vibration of a plate sounds. In the demonstration below, you can experience the whole range of sine waves with different frequencies and amplitudes playing through your speakers. Some of the tones are expected to be imperceptible, so do not adjust your sound volume until you reach the middle frequencies:\n\n\n\nYou\u2019ve probably noticed that low frequencies start inaudible, and they increase in loudness as the frequency increases. However, as the frequencies go toward the higher end the sound fades away into silence. Although your speaker and audio settings may to some extent contribute to this effect, it\u2019s otherwise perfectly natural \u2013 humans can hear in a limited range of frequencies and the perceived loudness changes with frequency.\nIn the physical world, these pure sine tones are easily generated by striking different tuning forks, but on this website we have to resolve to making our synthesizer play some of these notes at different frequencies:\n\n\nOnce again, as each key requests the plate to vibrate in a certain way, its final motion is the sum of those individual requests. That addition can sometimes create unexpected effects when the frequencies of played sounds are close to each other, which you can experience in the demonstration below. Notice the frequencies of sounds as shown above the keyboard keys:\n\n\nWhen you press two keys at the same time you\u2019ll hear the volume of sound increasing and decreasing in a phenomena known as beats. It\u2019s not your ears misleading you \u2013 it\u2019s a real effect caused by the two original frequencies interfering with each other, which you can observe on the plots. This effect can happen with all periodic signals and you can sometimes hear it when sitting in an airplane \u2013 the rotation speeds of two engines may not be perfectly synchronized and you can hear the variation in slowly changing volume of the resulting sound.\nSimilarly to triangular waves, we can fairly easily visualize how the addition of multiple sine waves with different amplitudes, frequencies, and phases creates more complex shapes. In the demonstration below, I\u2019m adding a bunch of these sine waves. You can use the control below to choose the shape we\u2019re creating:\n\n\n\nObserve that I\u2019m also using a \u201cspecial\u201d sine wave with frequency of 0 Hz \u2013 it reflects a constant value that is useful to represent waveforms that are, on average, not centered around the baseline. Looking at the construction of these waveforms, we can easily reason that the final shape is actually created by 6 different sine waves with varied amplitude, frequency, and phase.\nInstead of adding these sinusoidal basic blocks to create a complicated function, we can, perhaps surprisingly, invert this process and decompose any repeating waveform into its constituent sine waves. Let\u2019s see this in action. In the demonstration below, you can draw the desired shape in the top part and I\u2019ll do my best to express it using the sum of 64 sine waves with increasing frequencies. For clarity, I\u2019ll skip the animations of green and red arrows being added:\n\n\nIn the bottom part I\u2019m once again showing the amplitudes of individual sine waves creating the final shape, but since we have so many of them I just pack their amplitude bars next to each other to create a cumulative plot of amplitudes.\nDepending on how the original signal is expressed, this method of decomposing periodic functions into sines is known as Fourier series or Fourier transform. It lets us deconstruct a waveform expressed as a function of time into a waveform expressed as a collection of individual frequencies that are contained in that waveform.\nWe can look at any repeating pattern either as a collection of individual values over time or as a collection of distinct sine waves that add up to the same pattern. Both views represent the same shape, they just present it in a different way.\nIn general, Fourier transform provides us with both amplitude and phase of each contributing sine wave. As we\u2019ve seen, however, human hearing is almost completely agnostic to phase shifts so amplitudes typically provide enough information to express the original shape.\nLet me bring in the little waveform decomposer once more, this time I\u2019ll fill it with a square function corresponding to the simple back-and-forth jumps that our plate did initially:\n\n\nAs you drag the slider to the end you\u2019ll notice that the decomposition of a waveform that rapidly changes values ends up creating ripples in the recreated function in an effect known as Gibbs phenomenon. Notice, however, that as we add more sines of high frequency the width of that ripply region decreases.\nMore importantly, this square pattern that repeats once per second contains in it many sine waves of much higher frequencies. This explains why we were able to hear a plate jumping back and forth once per second \u2013 while we can\u2019t hear many of those lower frequencies, we can hear the higher pure tones. A sine wave at 1Hz frequency contains only a 1Hz signal that we can\u2019t hear.\nLet\u2019s look at the frequency spectrum of the things in your environment. In the demonstration below, you can press the button to start using your microphone. I\u2019ll then draw a plot of different frequencies and their amplitudes as heard by the device:\n\nI recommend whistling, or singing \u201caaaaaa\u201d using lower and higher voice to see different frequencies appear. If you have any musical instruments handy or applications that can recreate their sounds, the resulting diagrams will in many cases also show interesting distributions. More complicated sounds like speech or music will rapidly change their shapes, which reflects their dynamic nature.\nWhen singing or playing your simple notes into the microphone you may have noticed repeating patterns of frequencies \u2013 a certain base frequency gets a strong sibling at double, triple, and higher multiples of that initial frequency. These repeating patterns can happen for different reasons, and in the next section I\u2019ll explain how they\u2019re created by some of the simplest vibrating objects.\nMasses and Springs \nTo explore these vibrations, we\u2019ll start by building a simple system consisting of a small mass attached to two springs. In the demonstration you can move that mass up and down with the slider:\n\n\nAt the small amplitudes of motion we\u2019re considering here, the system oscillates sinusoidally with a certain natural frequency that depends on the mass of the object and the stiffness of the springs. The friction between moving parts and the air resistance causes the oscillations to die out after a while.\nYou may have realized that in this simulation the mass moves only up and down, but in principle it could also move left and right. However, these horizontal motions won\u2019t be of much use to us, so we\u2019ll focus purely on the vertical movements.\nLet\u2019s add another mass and spring to this system:\n\n\n\nEven with this simple setup the behavior of this system can get fairly complicated, including some unusual patterns of motion, but all of these scenarios can actually be decomposed into the sum of two much simpler motions.\nIn the first motion the masses move together in the same direction, and in the other motion the masses move in the opposite directions. In the demonstration below, you no longer control the position of the masses, but instead the amplitudes of those two separate modes:\n\n\n\nWith careful arrangements, you can recreate the interesting motion patterns that this system can create. Notice that the second mode oscillates faster than the first mode. This should make intuitive sense since the central spring is getting stretched, which adds an additional pulling force to the system.\nAny pattern of vertical motion of those two identical masses and three springs can be decomposed into the two normal modes that we\u2019ve just looked at. That idea extends to even more complicated systems. In the demonstration below, you can see the five normal modes of a system consisting of five masses and six springs:\n\n\nAs we increase the number of masses and springs to the extreme, each segment starts to resemble a tiny section of a string that has some mass and elasticity. Conceptually, a simple string can be thought of as a system of a huge amount of very small spring-and-mass segments \u2013 you can see one in the following demonstration. Let\u2019s look at the first few normal modes of this system:\n\n\nSince the endpoints of the string can\u2019t move, only certain wave patterns are allowed \u2013 no wave shapes that would cause the ends to wiggle up and down can be expressed with this setup. The frequency of the first mode is known as the fundamental frequency. Each higher mode has a frequency that is an integer multiple of that base frequency \u2013 for instance the third mode has three times as high frequency as the fundamental mode. These modes of vibration are known as harmonics.\nSimilarly to the more primitive systems, any motion of a string tied to two ends can be decomposed into the sum of these individual motions, each with a different amplitude. These concepts are very similar to the Fourier transform operations we did for the waveform shapes, but this time they\u2019re applied to the shape of a string.\nWhat this all ultimately means is that the motion of a vibrating string is the sum of the individual harmonic modes, each with an arbitrary amplitude, and a prescribed frequency that is a multiple of the fundamental frequency. Let\u2019s see and hear how this manifests in practice. In the demonstration below, you can pluck the string by clicking and dragging over with your mousewith your finger:\n\nYou may have noticed that the place at which you pluck the string changes the sound it produces \u2013 it\u2019s just a result of different ratios of harmonics created by the shape of the plucked string right before it\u2019s released. The extent to which this string can be pulled is quite exaggerated here making it look a little unrealistic, but a slow-motion capture of a guitar string reveals a very similar behavior.\nThe fundamental frequency of vibration of a taut string depends on its length, weight, and tension. The shorter the length, the higher the frequency \u2013\u00a0this is the main reason why a violin has a much higher pitch than a double bass.\nMore importantly, by placing a finger on a string and thus changing its effective length the performer can play different notes using a limited set of strings. In the demonstration below, you can hear the variation in pitch as you drag the slider to change the location of the finger holding down the string:\n\n\nThe thicker the string the more inertia it has and the more difficult it is to move it around, so the frequency of the sound decreases as string gets heavier, or, more specifically, as its linear density increases. By using strings of different thickness or material, musical instruments can achieve different pitches on strings of roughly the same length \u2013 you can play with that parameter in the demonstration below:\n\n\nFinally, the more taut the string is, the faster it snaps back, so a higher tension increases the frequency \u2013 by turning the tuning pegs of a string instrument one can tweak the fundamental frequency of each string.\nOn its own, a vibrating string doesn\u2019t move much air and it\u2019s not very loud. To make the sound more pronounced, the motion of the string is transferred to a larger surface to increase the vibrating area and the volume of emitted sound. The\u00a0shape and materials used in the construction of the body of an instrument strongly contribute to different sound frequencies getting amplified or absorbed.\nOur models of springs and masses also extends to other vibrating elements. Membranes of drums form a two dimensional grid of vibrating elements. Tightly packed particles of solids form a three dimensional lattice \u2013 its elements also elastically interact with each other, which at larger scales causes cymbals, gongs, and bells to vibrate with various natural frequencies that depend on the shape and construction of these instruments.\nSome other instruments like flutes or organs rely on a column of air rapidly traveling back and forth through their pipe-like bodies, forming yet another way to make the surrounding air vibrate at certain rates. When we sing, the vocal cords rhythmically open and close creating puffs of air \u2013 those also induce pressure disturbances that then travel around.\nIn the final part of this article we\u2019ll explore how pressure waves get emitted from vibrating objects and how they end up spreading through the air and interacting with the environment.\nPressure Waves \nLet me bring back the vibrating plate inside a tube that we could control directly with a slider:\n\n\nWhile easy to understand, the contained nature of this model makes it a little simplified as it doesn\u2019t match the behavior of typical instruments or speakers. To explore more realistic scenarios of sound propagation, we\u2019ll firstly use a simple sphere that can inflate and deflate to quickly change its radius \u2013 you can think of it as some sort of water-filled balloon that we can rapidly add or remove liquid from. In the demonstration below, you can see an example of that simple pulsing sphere with the slider controlling the frequency of its vibration:\n\n\nLet\u2019s look at the pressure near the surface of this sphere up close using our method of slicing the air, this time into thin shells surrounding this sphere. At high frequencies of vibration the behavior of the air surrounding the sphere resembles that of the simple plate in a tube, which you can experience in the following demonstration. The slider controls the speed of the animation, which lets you see the details, but the sphere vibrates with the same frequency at all times:\n\n\nAs this sphere finishes expanding, it creates an area of higher pressure near its vicinity. However, at lower frequencies of vibration the situation is a bit different \u2013 you can see this in the simulation below. Notice that when the sphere finishes expanding, the pressure decreases. I\u2019m exaggerating the size changes of the sphere to make it more visible:\n\n\nWhat we\u2019re witnessing here is the air\u2019s inertia. The initial expansion of the sphere accelerates the neighboring air. When the sphere stops growing, that air still has some velocity so it moves away from the sphere, creating the local rarefaction. Similarly, as the sphere shrinks, the surrounding air starts getting pulled towards it, and it continues to bunch up even after the sphere reaches its smallest size.\nThe analytical derivation of this behavior is quite complicated, but ultimately the range of frequencies at which these different behaviors occur depends on the size and shape of the vibrating object.\nA sphere forms only a simple model of a speaker \u2013 a more realistic example would be a vibrating circular plate surrounded by a very large wall:\n\n\nSimilarly to a sphere, the relation between the position of this plate and the resulting pressure also depends on frequency of the sound. However, the sphere was perfectly symmetrical, which made the intensity of the created pressure waves independent of direction. For a vibrating plate some of those symmetries are lost and the intensity of the pressure disturbances also depends on the direction relative to the source:\n\n\nAs you increase the frequency of the sound, the pressure waves focus in the frontal direction. Most commonly, lower frequencies emitted by speakers are much more widespread than higher frequencies. Notice that I also stopped drawing the thin lines separating individual sections of air \u2013 we\u2019ll now more realistically assume that the pressure changes without any discrete steps.\nAs we\u2019ve seen, the distribution of pressure that a vibrating object creates can get a little complicated, but, thankfully, at a reasonable distance, a steady sinusoidal oscillation of the source creates a steady sinusoidal variation in pressure that travels through the air. You can see the \u201cside\u201d view of that pressure variation on the dotted line in the bottom part of the following simulation:\n\n\nThis means that everything related to sinusoidal vibrations of plates like the amplitude, frequency, and phase of their motion also applies to the pressure waves themselves.\nWhile these colorful diagrams made it easier to see how pressure changes propagate through air, they\u2019re unfortunately a little deceptive. Firstly, I\u2019m slowing things down significantly to make the propagation of waves visible, otherwise they\u2019d just zip across your screen in a fraction of a second. At room temperatures the speed of sound in air is around 1125 ft/s or 767 mph343 m/s or 1,235 km/h.\nMoreover, the actual pressure variation in sound waves is very small. When a person speaks at a normal volume the pressure increases and decreases by around 0.02 pascals or around 0.00002% of the atmospheric pressure. The red and blue colors make it look like pressure is changing a lot, but in practice these variations are minuscule \u2013 it\u2019s quite astonishing that our ears pick up differences that small.\nI also need to note that the pressure simulations we\u2019ve just seen were fairly simplified. The behavior of a typical speaker is more complicated and the way it impacts the surrounding air depends on the speaker\u2019s size, shape, and overall construction.  All of these intricate behaviors may obscure some other phenomena that we\u2019ll discuss, so for the following examples I\u2019ll simplify things a little by using a basic, omnidirectional source of sound, similar to the expanding sphere we\u2019ve used.\nIn the demonstration below, the blue speaker icon symbolizes that source and the yellow ear icon shows the location at which you can hear things \u2013\u00a0you can drag the latter around to change where you are:\n\n\nYou may have noticed a few interesting phenomena. Firstly, as you move away from the source it may take some time for the sound to get to you. This effect is just a consequence of the finite speed of sound. While at small distances we don\u2019t notice that delay, it\u2019s easily observed when a lightning bolt strikes and the sound gets to us with a perceptible lag. In this demonstration the distances are also quite large which you can see on the scale in the bottom left corner.\nSecondly, the loudness of the sound we hear depends on the distance from the source. With a simple source like this the pressure waves travel away radially. While the waves look like circles in this two dimensional demonstration, in the physical world they form expanding spheres. The amplitude of pressure p of these waves is inversely proportional to the distance r from the source:\n\np ~ \n    1\n    /\n    r \n\n\nThis effectively means that when we double the distance from the source the amplitude of the sound pressure wave gets halved. As we\u2019ve seen a few times with vibrating plates, a change in amplitude of their motion, and thus the change of amplitude of the generated pressure waves, affects how loud a sound sounds.\nThe difference in magnitude of those pressure variations between loud and quiet sounds can get very large \u2013 the amplitude of sound pressure waves from a roaring jet engine is around 10000 times larger than that of a faint whisper. Comparing values using numbers that large would be inconvenient and vague terms like \u201cfaint whisper\u201d aren\u2019t particularly well-defined.\nTo solve these problems the concept of sound pressure level or SPL gets introduced:\nSPL = 20\u00d7log10\n    p\n    /\n    p0\n\u00a0\u00a0dB\n\nLet\u2019s unpack this equation. For reference pressure p0 the commonly used value is 20 \u00b5Pa, or 20 micropascals, since it is considered to be the threshold of human hearing, while p is the average measured pressure for which we\u2019re calculating the SPL.\nThe logarithm compacts large numbers into much more manageable values. Speaking very roughly, this logarithm is related to the number of digits in the decimal representation of a number \u2013 making a number 10 times as large, or, equivalently, adding one more 0 digit to it, increases the value of a base-10 logarithm by 1.\nWhat we\u2019re calculating here is the logarithm of the ratio of the measured pressure p to the reference pressure p0. All of that is scaled by number 20, which gives us the result in units of decibels, often abbreviated as dB.\nLet\u2019s see how this equation can be used in practice. In the demonstration below, you can change the value of pressure and see how it affects the computed value of sound pressure level:\nSPL = 20\u00d7log10\n    2000\u2009\u00b5Pa\n    /\n    20\u2009\u00b5Pa\n = 40\u00a0dB\n\n\nRecall that doubling distance halves the pressure, which effectively means that every doubling of distances reduces sound pressure level by 6 decibels. On the flip side, using two speakers instead of one also increases the SPL by just 6 decibels. Note that these equations can also be used to compare the SPL of any two sources \u2013 for example, if two sounds differ by 20 dB then the amplitude of one is 10 times larger than that of the other.\nThe perceived loudness of sound very strongly depends on the sound pressure level, however, that loudness also depends on the frequency of the sound \u2013 you\u2019ve experienced this when tinkering with the plate moving in a sinusoidal motion. To account for this, the value of pressure amplitude at different frequencies is often weighted so that the decibel values match human perception more closely.\nIt\u2019s also worth mentioning another quantity related to the \u201camount\u201d of sound \u2013 the sound intensity I which measures the power of the sound per area. The power of any wave depends on the square of its amplitude, so for simple spherical waves the sound intensity is proportional to the inverse square of the distance in, already mentioned on this blog, inverse square law:\n\nI ~ \n    1\n    /\n    r2 \n\n\nSimilarly to pressure, one can also define a sound intensity level, which expresses the ratio of intensity to a reference intensity.\nAnother aspect affecting the propagation of sound is acoustic attenuation caused by e.g. viscosity of air and thermal conduction between its molecules. These interactions cause additional decrease in amplitude of the pressure waves as they move away from the source. Attenuation depends on temperature and humidity of air and it also varies with the frequency of the sound. These effects are fairly complicated so I won\u2019t account for them here.\nThe last demonstration had one final hidden feature that you may have experienced when simultaneously pressing the keyboard keys and changing your hearing position relative to the speaker. This effect is more commonly experienced when it\u2019s the source of the sound that\u2019s moving relative to the receiver, like in the demonstration below, where you can control the velocity of the speaker using the slider:\n\n\n\nNotice that when the speaker moves toward the receiver the pitch increases, and when it moves away from the receiver the pitch decreases in the phenomenon known as Doppler effect \u2013 you\u2019ve probably experienced this in real life when an emergency vehicle with blazing sirens or a motorcycle with a loud engine was passing by.\nThis effect is easiest to understand by looking at the individual peaks of the sound waves. In the demonstration below, you can control both the flow of time and the velocity of the speaker. The plot at the bottom tracks when the peaks of the sound wave are emitted, and when they\u2019re heard at the center of their respective icons:\n\n\n\nThe speaker emits the peaks at a certain fixed cadence, which depends on the sound frequency. When a first peak is emitted, it will take some time for it to get to the receiver. However, as the speaker moves towards the listener, the next peak will be emitted from a closer distance than the previous one, and it will take it less time to get to the receiver \u2013 the receiver will witness the peaks coming in at faster rate, or higher frequency, which we perceive as higher pitch.\nWhen the speaker moves away from the receiver, the situation is reversed \u2013 each new peak has to travel a bit longer distance to get to the listener, making the peaks more spread out for the receiver causing the frequency and the pitch to drop.\nYou can see both of those effects in the plot in the bottom part of the demonstration \u2013 the yellow bars get bunched up or loosened up relative to the blue bars, which implies increased or decreased frequency of received sound.\nThe speaker is completely unaware of what\u2019s going on \u2013 it just keeps emitting the sounds at the same frequency. However, as the speed of the sound emitter increases, the circles corresponding to the peaks of the waves get bunched up more and more creating more extreme pressure conditions. When the sound-emitting object surpasses the speed of sound it will create a sonic boom.\nAlthough relative motion created interesting effects, even static conditions may end up forming unexpected phenomena. In the demonstration below, the pure notes played on the keyboard are emitted by two speakers at the same time. You can drag your position around to see how the interaction of pressure waves affects what you hear:\n\n\nDepending on the location of the receiver the sound level increases and decreases, which we can also see in the diminished intensity of the pressure variations in those areas. This effect is caused by destructive interference of pressure waves from the two speakers \u2013 peaks from one speaker cancel out valleys from the other. As long as you have access to a two speaker system you can actually try to replicate that experiment.\nFortunately, different frequencies played by different keys end up having dead spots in different places, too. Since the vast majority of the typical sounds we hear consists of a multitude of different frequencies that constantly change, we don\u2019t experience this loudness variation in more practical scenarios.\nIt\u2019s important to note that the interference doesn\u2019t permanently destroy the waves as the disturbances merely pass through each other. This should make intuitive sense \u2013 when a few people are simultaneously speaking in the same room their speech doesn\u2019t become garbled or faded and we can still understand what they say.\nQuite conveniently, all of our experiments so far happened in a vast open space unencumbered by any obstacles. Let\u2019s see what happens if we put a wall in our testing environment:\n\n\nWhen you emit a short pulse of sound while standing far enough from the wall, you\u2019ll hear the originally emitted sound with some delay in a familiar effect known as echo. Notice the distances involved here as shown by the scale in the bottom left corner. When standing close to the wall, the delay between the original and reflected sound gets very short \u2013 when it\u2019s smaller than around 50 ms, our auditory system doesn\u2019t discern these two separate sounds.\nYou may have noticed that the reflected wave is quieter. While the increased travel distance accounts for some of that reduction, it\u2019s also the wall itself that partially absorbs the energy of the pressure disturbances.\nFor the last demonstration in this article we\u2019ll move to a completely enclosed space allowing the sound waves to bounce back and forth from the walls. You can change the size of this room using the slider and witness the reflection of sound off the walls:\n\n\n\nEven after you stop pressing the keys it may take a while for the sound to die out, because the waves keep reflecting off the walls, losing only some portion of their energy with each bounce. You may have heard this effect known as reverb in an empty room devoid of any furniture, drapes, or clothes that absorb the pressure waves and heavily attenuate the reflection of sound.\nFurther Reading \nThe Science of Sound is an entry level, yet very thorough book dedicated to many topics related to sound. The three authors use a minimal amount of math and focus more on higher level descriptions of different phenomena, including perception of sound, musical scales, and audio hardware. The only drawback is the price, but thankfully one can easily find cheaper used copies online.\nFor further exploration of Fourier Transform and signal processing I highly recommend The Scientist and Engineer\u2019s Guide to Digital Signal Processing by Steven W. Smith. I personally really like the author\u2019s style of patiently explaining things step by step with multiple examples. On top of that, the entire book is available online for free on the author\u2019s website.\nFinal Words \nSound waves aren\u2019t limited to gases \u2013 they spread through liquids and solids too. However, in daily life almost everything we hear are just minuscule pressure variations of air, which ultimately are just changes in the number and intensity of collisions of individual air particles.\nI find it fascinating that the most irritating noises and the most inspiring music are driven by the same phenomena \u2013 it\u2019s only the underlying shapes and magnitudes of their pressure waves that make them sound so distinctively different."
                ],
                "output": "readability",
                "pwd": "/data/archive/1791972334.988826",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-14T10:07:10.655571+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://ciechanow.ski/sound/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-10-14T10:07:10.647405+00:00",
                "index_texts": null,
                "output": "Sound \u2013 Bartosz Ciechanowski",
                "pwd": "/data/archive/1791972334.988826",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-14T10:07:10.597559+00:00",
                "status": "succeeded"
            }
        ],
        "wget": [
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--reject=js,mjs,woff,woff2,ttf,otf,eot,mp4,m4v,mov,webm,ogv,mkv,avi,flv",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "--timestamping",
                    "https://ciechanow.ski/sound/"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-10-14T10:07:10.586514+00:00",
                "index_texts": null,
                "output": "ciechanow.ski/sound/index.html",
                "pwd": "/data/archive/1791972334.988826",
                "schema": "ArchiveResult",
                "start_ts": "2026-10-14T10:07:08.901824+00:00",
                "status": "succeeded"
            }
        ]
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": null,
        "dom": null,
        "favicon": "favicon.ico",
        "git": null,
        "media": null,
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "Sound \u2013 Bartosz Ciechanowski",
        "warc": null,
        "wget": "ciechanow.ski/sound/index.html"
    },
    "link_dir": "/data/archive/1791972334.988826",
    "newest_archive_date": "2026-10-14T10:07:12.250410+00:00",
    "num_failures": 0,
    "num_outputs": 6,
    "oldest_archive_date": "2026-10-14T10:07:07.851608+00:00",
    "path": "/sound/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_id": "53482318-37ee-4fe0-a79b-be3947d7943d",
    "sources": [
        "/data/sources/1791972334-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1791972334.988826",
    "title": "Sound \u2013 Bartosz Ciechanowski",
    "updated": "2026-10-14T10:07:07.851031+00:00",
    "updated_date": "2026-10-14 10:07",
    "url": "https://ciechanow.ski/sound/"
}