{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "\n", "Following Section 8.2.3 of [Müller, FMP, Springer 2015], we discuss in this notebook various variants for tracking the fundamental frequency.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Frequency Trajectory\n", "\n", "In general terms, a [**melody**](../C8/C8S2_MelodyExtractSep.html) may be defined as a linear succession of musical tones that form a coherent entity and express a particular musical idea. As with many other concepts in music processing, the notion of melody remains rather vague (see the [FMP notebook on melody extraction and separation](../C8/C8S2_MelodyExtractSep.html) for a more detailed discussion). In this notebook, we consider the scenario where the music is given in the form of an audio recording (and not as a symbolic music representation). Furthermore, rather than estimating a sequence of notes, our objective is to determine a sequence of frequency values that correspond to the notes' pitches. Such a frequency path over time, which may also capture continuous frequency glides and modulations, is referred to as a **frequency trajectory**. In particular, we are interested in the [**fundamental frequency values**](../C1/C1S3_Timbre.html) (also called **F0-values**) of the melody's notes. The resulting trajectory is also called an **F0-trajectory**. Mathematically, we model an F0-trajectory to be a function\n", "\n", "\\begin{equation}\n", " \\eta:\\mathbb{R}\\to\\mathbb{R}\\cup\\{\\ast\\},\n", "\\end{equation}\n", "\n", "which assigns to each time point $t\\in\\mathbb{R}$ (given in seconds) either a frequency value $\\eta(t)\\in\\mathbb{R}$ (given in Hertz) or the symbol $\\eta(n)=\\ast$. The interpretation of $\\eta(t)=\\ast$ is that there is no F0-value corresponding to the melodic component at this time instance.\n", "\n", "As an example, we consider a short excerpt of an aria from the opera \"Der Freischütz\" by Carl Maria von Weber, which we already used in the [FMP notebook on salience representations](../C8/C8S2_SalienceRepresentation.html). In the score representation, the main melody is notated in a separate staff line underlaid with lyrics. In a performance by a soprano singer, the melody corresponds to a trajectory of F0-values. As opposed to the notated symbolic representation, some of the notes are smoothly connected. Furthermore, one can observe rather pronounced frequency modulations due to vibrato. \n", "\n", "\n", "\n", "\n", "\n", " | start_time | \n", "end_time | \n", "MIDI_pitch | \n", "
---|---|---|---|
0 | \n", "0.0 | \n", "0.9 | \n", "76 | \n", "
1 | \n", "0.9 | \n", "1.6 | \n", "68 | \n", "
2 | \n", "1.6 | \n", "1.9 | \n", "68 | \n", "
3 | \n", "1.9 | \n", "2.6 | \n", "69 | \n", "
4 | \n", "2.6 | \n", "3.1 | \n", "71 | \n", "
5 | \n", "3.1 | \n", "3.4 | \n", "73 | \n", "
6 | \n", "3.4 | \n", "4.2 | \n", "71 | \n", "
7 | \n", "4.2 | \n", "4.8 | \n", "71 | \n", "
\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |