IFT6080 Homework 1 Overview - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

IFT6080 Homework 1 Overview

Description:

Implementation of DFT: Do summation as a multiplication ... Truth (bpm) 292.8. 291.6. 292.0. 292. 6. 51.5. 49.8. 48.4. 48. 5. 141.2. 142.0. 142.0. 142. 4. 88.1 ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 26
Provided by: rebeccaf7
Category:

less

Transcript and Presenter's Notes

Title: IFT6080 Homework 1 Overview


1
IFT6080 Homework 1 Overview
  • Rebecca Fiebrink
  • 20 February 2006

2
Part 1 DFT/IDFT
  • Implementation of DFT Do summation as a
    multiplication of an NxN matrix with an Nx1
    vector

3
Part 1 DFT/IDFT
4
Part 2 Period
  • Period
  • Filter signal into six bands 50-301Hz,
    301-1000Hz, 1000-2500Hz, 2500-8000Hz,
    8000-15000Hz, 15000-22050Hz for 44.1kHz SR
  • Adjust all but 50Hz limits for other sample rates
  • Store each passband output to a file
  • Do beat-finding algorithm for all passbands, and
    use a self-assigned score for how well detection
    performed
  • Pick the beat with the highest score

5
Part 2 Period
  • Detecting the beat in a passband, p
  • Perform auto-correlation
  • Throw away the first half of the signal
  • Low-pass filter the signal

6
Part 2 Period
  • Autocorrelation processed for peak detection

7
Part 2 Period
  • Detecting the beat in a passband, p
  • Perform auto-correlation
  • Throw away the first half of the signal
  • Low-pass filter the signal
  • Assume peak n is higher than peak n1
  • Find peaks 1 through 7, and record distance
    between subsequent peaks

8
Part 2 Period
9
Part 2 Period
10
Part 2 Period
11
Part 2 Period
12
Part 2 Period
13
Part 2 Period
14
Part 2 Period
15
Part 2 Period
  • Detecting the beat in a passband, p
  • Perform auto-correlation
  • Throw away the first half of the signal
  • Low-pass filter the signal
  • Assume peak n is higher than peak n1
  • Find peaks 1 through 7, and record distance
    between subsequent peaks
  • Throw out high and low distance values, keep the
    middle three values beatsp b1p, b2p, b3p

16
Part 2 Period
  • Detecting the beat in a passband, p
  • Perform auto-correlation
  • Throw away the first half of the signal
  • Low-pass filter the signal
  • Assume peak n is higher than peak n1
  • Find peaks 1 through 7, and record distance
    between subsequent peaks
  • Throw out high and low distance values, keep the
    middle three values beatsp b1p, b2p, b3p
  • Rank beat detection for each passband
  • Scorep (standard deviation (beatsp)) /
    mean(beatsp))
  • The passband with the lowest score wins

17
Part 2 Period
  • Period Results

Within 5 17 of 18 Within 10 18 of 18
18
Part 2 Period
  • Comments
  • Low-pass filtering is inefficient
  • Scheirers method (convolve with half-Hann
    window) is much better
  • Peak-detection is easily broken
  • Very sensitive to all beats having same strength
  • Requires several (5) beats to be present
  • Use of score for beat detection goodness really
    improves robustness
  • Works very well for these examples

19
Part 2 Pitch
  • Pitch
  • Goal Find fundamental frequency, the lowest of
    the harmonically related partials present
  • Assumes no missing fundamental Wont
    correspond to perception in this case
  • Uses same passbands as period finding
  • Collects spectral peaks from all passbands, then
    tries to infer which is the fundamental based on
    peak strengths and harmonic relationships

20
Part 2 Pitch
  • Pitch finding procedure
  • Collect top five spectral peaks from each
    passband
  • Pick three potential harmonics (highest peaks).
    For each
  • Look for subharmonics of this harmonic, of at
    least 40 magnitude of the largest peak
  • If found, iteratively look for subharmonics of
    this subharmonic
  • This results in three potential fundamentals. For
    each, collect support for the proposition that
    this is the true fundamental
  • Increase support according to magnitude of
    fundamental
  • Increase support according to presence and
    magnitudes of upper harmonics, weighted linearly
    by frequency (because the noise is pink)
  • The fundamental with the most support wins.

21
Part 2 Pitch
  • Pitch Results

Within 5 Within 5 D/H Within 10 Within
10 D/H
22
Part 2 Pitch
  • Comments
  • Seemed to work quite well
  • Looking down for subharmonics and looking up for
    harmonic support increase robustness
  • Sensitive to several assumptions
  • The fundamental is present
  • The magnitude of the fundamental is at least X
    of the biggest peak
  • The harmonics are tuned within Y of their
    expected values
  • These values were set for good performance on
    this data (overtrained)
  • Would be hurt by
  • Broadband or high-frequency noise
  • Missing or weaker fundamental
  • (More) mistuned harmonics

23
Part 3 Synthesis
  • Didnt focus much on this part, kept it simple
  • Allowed mis-tuned harmonics in the target
    samples, but enforced perfect tuning in the
    synthesized output
  • Added very simple ADSR envelope to all
    instruments
  • Played around with matrix manipulations of music
    (e.g., rounds)

24
Part 3 Synthesis
  • My ADSR envelope

D 25ms
A 50ms
S len - 100ms
R 25ms
25
Part 3 Synthesis
  • Example Code flute, fs wavread(flute-G4.wav
    )m rowrowrows makesong(m, flute, 395,
    fs)
  • Result
  • Comments
  • Its very simple
  • It doesnt sound horrible
Write a Comment
User Comments (0)
About PowerShow.com