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.
A browser extension is a software module for customizing a web browser. Browsers typically allow users to install a variety of extensions, including user interface modifications, cookie management, ad blocking, and the custom scripting and styling of web pages. Browser plug-ins are a different type of module and no longer supported by the major browsers. One difference is that extensions are distributed as source code, while plug-ins are executables (i.e. object code). The most popular browser, Google Chrome, has over 100,000 extensions available but stopped supporting plug-ins in 2020. Internet Explorer was the first major browser to support extensions, with the release of version 4 in 1999. Firefox has supported extensions since its launch in 2004. Opera and Chrome began supporting extensions in 2009, and Safari did so the following year. Microsoft Edge added extension support in 2016. In 2015, a community working group formed under the W3C to create a single standard application programming interface (API) for browser extensions. While that goal is unlikely to be achieved, the majority of browsers already use the same or very similar APIs due to the popularity of Google Chrome. Chrome was the first browser with an extension API based solely on HTML, CSS, and JavaScript. Beta testing for this capability began in 2009, and the following year Google opened the Chrome Web Store. As of June 2012, there were 750 million total installations of extensions and other content hosted on the store. In the same year, Chrome overtook Internet Explorer as the world's most popular browser, and its market share continued to grow, reaching 60% in 2018. Because of Chrome's success, Microsoft created a very similar extension API for its Edge browser, with the goal of making it easy for Chrome extension developers to port their work to Edge. But after three years Edge still had a disappointingly small market share, so Microsoft rebuilt it as a Chromium-based browser. (Chromium is Google's open-source project that serves as the functional core of Chrome and many other browsers.
[2]Paolo Prandoni, [3]LCAV, EPFL
This notebook shows a simple way to process audio files (in WAV format)
in a block-by-block fashion; this is useful in two cases
1. when you want to process a data stream in real time but you can
accept a small processing delay; in this case a buffered approach
can yield computational gains
2. when you need to process a large file that does not fit entirely
into [2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will design and use filters to extract specific
audio frequencies from a music file.
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import IPython
import scipy.signal as sp
from scipy.io import wavfile
infringment...)
In [2]:
IPython.display.Audio(s, rate=SF)
Out[2]:
Your browser does not support the audio element.
[2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will use the adaptive LMS filter to estimate the
impulse response of a reverberating room.
A typical use case is handsfree telephony: since the received signal,
amplified and played by the speaker, is picked up by the microphone, we
need to eliminate it from the signal that is transmitted back in order
to avoid a feedback loop. The signal picked up by the microph [2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will investigate the effect of phase on the
perceptual quality of a sound. It is often said that the human ear is
commercial-grade audio equipment takes place in the magnitude domain
only.
In [1]:
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import IPython
from scipy.io import wavfile
In [2]:
plt.rcParams["figure.fig [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"]