Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
Traditionally in Western music, a musical tone is a steady periodic sound. A musical tone is characterized by its duration, pitch, intensity (or loudness), and timbre (or quality). The notes used in music can be more complex than musical tones, as they may include aperiodic aspects, such as attack transients, vibrato, and envelope modulation. A simple tone, or pure tone, has a sinusoidal waveform. A complex tone is a combination of two or more pure tones that have a periodic pattern of repetition, unless specified otherwise. The Fourier theorem states that any periodic waveform can be approximated as closely as desired as the sum of a series of sine waves with frequencies in a harmonic series and at specific phase relationships to each other. The common denominator frequency, which is also often the lowest of these frequencies is the fundamental frequency, and is also the inverse of the period of the waveform. The fundamental frequency determines the pitch of the tone, which is perceived by the human hearing. In music, notes are assigned to tones with different fundamental frequencies, in order to describe the pitch of played tones. Tones were recognised by Greek philosopher Aristoxenus (375–335 BCE), who called them "tensions".
[2]Paolo Prandoni, [3]LCAV, EPFL
The Karplus-Strong algorithm is a simple method to generate synthetic
sounds with arbitrary pitch. In this notebook we will explore a few
variations of the method to illustrate some basic notions of
discrete-time signal processing.
In [1]:
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import IPython
In [2]:
plt.rcParams["figure.figsize"]