Skip to content

About

Interactive periodicity and pitch analysis tool using FFT, Autocorrelation, YIN, and bedcmm.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

Repository files navigation

Periodicity Analysis Lab

Usage

uv sync
streamlit run app.py

Dependencies

  • NumPy
  • librosa
  • Plotly
  • Streamlit
  • bedcmmPitch (separate license)
  • bedcmm (separate license)

Periodicity Lab

Compare periodicity analysis methods

  • bedcmm
  • Autocorrelation
  • FFT

Features

  • Data visualization
  • Frame-by-frame analysis

data load panel

pic_1

analysis setting

pic_2

Data form

pic_3

bedcmm score

pic_4

ac score

pic_5

fft

pic_6

Periodicity

pic_7

Pitch Detection Lab

Compare periodicity analysis methods for Pitch Detection:

  • FFT
  • Autocorrelation
  • YIN (CMNDF)
  • bedcmm

Features

  • Waveform visualization
  • Frame-by-frame analysis
  • Pitch track comparison

Main Interface

pic_1

Play and Control Panel

pic_2

Wave Form

pic_3

Periodicity Analysis

pic_4

Pitch Track Comparison

pic_5

Comparison of FFT spectrum, autocorrelation, YIN CMNDF, and bedcmm periodicity score for the selected analysis frame.

License

Periodicity Analysis Lab is released under the MIT License.

This project depends on the bedcmmPitch and bedcmm library, which is distributed under a separate proprietary/custom license.

Please refer to the bedcmmPitch repository for the terms and conditions of its use.

Pitch Tracking Lab

Pitch Tracking Lab is an interactive Streamlit application for visualizing and comparing pitch tracking algorithms.

The application allows you to compare:

  • bedcmm
  • bedcmm + Bayes Tracking
  • bedcmm + Viterbi Tracking
  • YIN
  • pYIN

Features

  • Upload audio files and analyze pitch trajectories.
  • Compare pitch estimates from multiple algorithms.
  • Visualize periodicity score maps as heatmaps.
  • Overlay tracking results on the score maps.
  • Inspect frame-by-frame periodicity functions.
  • Explore how different tracking methods select pitch candidates over time.

The goal of this project is not only to compare the final pitch estimates, but also to visualize why each algorithm chooses a particular pitch trajectory.

Example Views

  • Pitch Tracking Comparison pic_6
  • bedcmm Score Map pic_7
  • YIN Score Map pic_8
  • Current Frame Analysis pic_9

Related Algorithms

  • YIN
  • pYIN
  • Bayesian Tracking
  • Viterbi Tracking
  • bedcmm

Purpose

This project aims to provide an intuitive way to understand pitch tracking algorithms by visualizing their internal score functions and tracking behavior.

Reference

bedcmm: https://github.com/YASUHARA-Wataru/bedcmm

bedcmmPitch: https://github.com/YASUHARA-Wataru/bedcmmPitch

data source

"Data Source: Sunspot data from SILSO, Royal Observatory of Belgium, " "Brussels (licensed under CC BY 4.0)."

About

Interactive periodicity and pitch analysis tool using FFT, Autocorrelation, YIN, and bedcmm.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages