Top Banner
Polyphonic Music Transcription on FPGA Shuyi Chen Lizi George Kelly Ran
15

Polyphonic Music Transcription on FPGA

Nov 03, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Polyphonic Music Transcription on FPGA

Polyphonic Music Transcription on FPGA

Shuyi Chen

Lizi George

Kelly Ran

Page 2: Polyphonic Music Transcription on FPGA

Outline

• Motivation

• System

• Architecture

• Evaluation

• Exploration

Page 3: Polyphonic Music Transcription on FPGA

Motivation

• Speed

• Polyphonic detection methods are still being investigated

– Using techniques from growing field of speech recognition

• Real-time transcription

Page 4: Polyphonic Music Transcription on FPGA

Background

• Research is currently ongoing into best algorithm for polyphonic pitch detection with timbre rejection

• A paper in Spring 2012 describes Klapuri algorithm and several others

– We chose to implement Klapuri because it had the lowest error rate of 6 algorithms discussed for 1-4 pitches per time-slice

Page 5: Polyphonic Music Transcription on FPGA

System Block Diagram

Page 6: Polyphonic Music Transcription on FPGA

Input and Hanning Windows

• Negate impact of sharp edges in time slices

Page 7: Polyphonic Music Transcription on FPGA

FFT and Absolute Value

• 4096-pt Streaming FFT

– Minimal area requirements

– ML605 Virtex-6 FPGA needed

Page 8: Polyphonic Music Transcription on FPGA

Spectral Whitening

• Smooth out spectrum of computed sub-bands without boosting noise

– Uses inverse filtering to flatten spectrum energy distribution to mitigate timbre effects

Page 9: Polyphonic Music Transcription on FPGA

Spectral Whitening

Page 10: Polyphonic Music Transcription on FPGA

Salience

• Uses variation of binary search to find pitches present during time-slice

– Includes harmonic contributions

Page 11: Polyphonic Music Transcription on FPGA

Test Bench

• MATLAB implementation of Klapuri algorithm

– Compare to this result for algorithm checking

• Lilypond engraving software output compared to known

– Shell scripts written to take output file and generate lilypond code and refresh pdf in realtime

Page 12: Polyphonic Music Transcription on FPGA

Evaluation

• FFT output is in bit-reversed order

– Implemented a sorter

• Cube root implementation in binary

– More efficient

• SquareRoot and StreamFFT were reused IP blocks

• Realtime?

Page 13: Polyphonic Music Transcription on FPGA

Future Work

• Increase FFT resolution in response to smaller differences between pitches as lower frequencies

• Decreasing window size

• Adding beat detection

• Attempt to improve algorithm for 4-part piano harmonies

• User-friendly real-time transcription system (front-end GUI, user input)

Page 14: Polyphonic Music Transcription on FPGA

Synthesis Report

• 4096-pt FFT has difficulties synthesizing on FPGA

– Using Virtex-6 ML605

• We plan to complete synthesis and run on FPGA in the next few days

Page 15: Polyphonic Music Transcription on FPGA

Questions?