# CS 6810/7810: Wavelets and Wavelet Algorithms Assignment 8 Harmonic Recovery and Audio Analysis

Learning Objectives

1. Harmonic Recovery

2. Discrete Fourier Transform

3. Audio File Analysis

Introduction

In this assignment, you will recover harmonics from data and apply DFT to audio les. This is the last assignment for

this semester. I initially thought of splitting it into two weekly assignments but then decided against it and combined

them into one assignment due in two weeks. I hope this works out better for all of us.

Figure 1: Sample coecient vs. frequency plots; sine coecients vs. frequecy (left); cosine coecients vs. frequency

(right)

Problem 1

The zip archive for this assignment contains data.txt with 6,284 real numbers generate by some function unknown to

you. Apply the harmonic recovery analysis to it to recover the harmonics in the frequency range from 0 to 150 and plot

1

their coecients. The plots in Figure 1 show two sample plots. Note that the plots are not the plots for this problem.

They are just examples. Your plots will have a similar appearance but dierent values. For example, suppose that you

have recovered the values of a0, a10, b10, a40, and b40, i.e., the 0-th, 10-th, and 40-th harmonics are present. Here is a

sample output that your code may produce.

a0 = 1.784

a10 = 0.56996

b10 = 1.898

a40 = 29.18

b40 = 7.9209

To do harmonic recovery, you will need a threshold to determine if the sine or cosine coecient of a harmonic is

present. I implemented my solution in Octave and used a threshold of 0.03.

Problem 2

In this problem, you will perform the DFT analysis of musical audio les. The zip archive contains three audio les:

ODE_TO_JOY_RIGHT_HAND.wav, ODE_TO_JOY_BOTH_HANDS.wav, and ODE_TO_JOY_ORCHESTRA.wav. All three les record

the famous segment from Beethoven's Ode to Joy. The le ODE_TO_JOY_RIGHT_HAND.wav records me playing the notes

on my piano with my right hand. The le ODE_TO_JOY_BOTH_HANDS.wav records me playing the same segment with both

hands. Finally, the le ODE_TO_JOY_ORCHESTRA.wav is a recording of the segment by an Austrian choir and orchestra. I

recorded these wav les with a ve-dollar microphone so there is some background noise in all three recordings. But it

is manageable. So, do the DFT analysis of the three les the way we did in Lecture 12. Specically,

1. Plot the spectrum analysis of each audio le;

2. Identify the top ve frequencies in each audio le;

3. Use https://en.wikipedia.org/wiki/Piano_key_frequencies to identify the corresponding musical notes.

1. Harmonic Recovery

2. Discrete Fourier Transform

3. Audio File Analysis

Introduction

In this assignment, you will recover harmonics from data and apply DFT to audio les. This is the last assignment for

this semester. I initially thought of splitting it into two weekly assignments but then decided against it and combined

them into one assignment due in two weeks. I hope this works out better for all of us.

Figure 1: Sample coecient vs. frequency plots; sine coecients vs. frequecy (left); cosine coecients vs. frequency

(right)

Problem 1

The zip archive for this assignment contains data.txt with 6,284 real numbers generate by some function unknown to

you. Apply the harmonic recovery analysis to it to recover the harmonics in the frequency range from 0 to 150 and plot

1

their coecients. The plots in Figure 1 show two sample plots. Note that the plots are not the plots for this problem.

They are just examples. Your plots will have a similar appearance but dierent values. For example, suppose that you

have recovered the values of a0, a10, b10, a40, and b40, i.e., the 0-th, 10-th, and 40-th harmonics are present. Here is a

sample output that your code may produce.

a0 = 1.784

a10 = 0.56996

b10 = 1.898

a40 = 29.18

b40 = 7.9209

To do harmonic recovery, you will need a threshold to determine if the sine or cosine coecient of a harmonic is

present. I implemented my solution in Octave and used a threshold of 0.03.

Problem 2

In this problem, you will perform the DFT analysis of musical audio les. The zip archive contains three audio les:

ODE_TO_JOY_RIGHT_HAND.wav, ODE_TO_JOY_BOTH_HANDS.wav, and ODE_TO_JOY_ORCHESTRA.wav. All three les record

the famous segment from Beethoven's Ode to Joy. The le ODE_TO_JOY_RIGHT_HAND.wav records me playing the notes

on my piano with my right hand. The le ODE_TO_JOY_BOTH_HANDS.wav records me playing the same segment with both

hands. Finally, the le ODE_TO_JOY_ORCHESTRA.wav is a recording of the segment by an Austrian choir and orchestra. I

recorded these wav les with a ve-dollar microphone so there is some background noise in all three recordings. But it

is manageable. So, do the DFT analysis of the three les the way we did in Lecture 12. Specically,

1. Plot the spectrum analysis of each audio le;

2. Identify the top ve frequencies in each audio le;

3. Use https://en.wikipedia.org/wiki/Piano_key_frequencies to identify the corresponding musical notes.

You'll get 1 file (9.9MB)