vibratoscope

Automated vibrato analysis tool for singing voice

https://github.com/tiagolbc/vibratoscope

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Automated vibrato analysis tool for singing voice

Basic Info
  • Host: GitHub
  • Owner: tiagolbc
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 6.17 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 1
Created 11 months ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

🎵 VibratoScope

VibratoScope is a Python toolkit for high-resolution analysis of vibrato in the singing voice.

It extracts vibrato rate, extent (in cents), jitter, shimmer, sample entropy, and other regularity metrics from sustained vowels or melodic phrases. A user-friendly GUI is included for region selection and visual feedback, and batch processing is supported for multiple recordings.

VibratoScope GUI


🧠 Features

  • GUI for region selection and interactive spectrogram navigation.
  • Batch processing of .wav files with automatic export of results.
  • Multiple pitch extraction methods:
    • YIN (librosa.pyin)
    • Praat autocorrelation
    • Harmonic Product Spectrum (HPS)
    • REAPER (Robust Epoch and Pitch Estimator)
    • SFEEDS (Spectral F0 Estimation using Energy Distribution Smoothing) – adapted from the original Praat implementation
  • Bandpass filtering (default 3–9 Hz) for vibrato isolation
  • Extraction of:
    • Vibrato rate (Hz)
    • Vibrato extent (cents)
    • Jitter (cycle-to-cycle frequency variability)
    • Shimmer (amplitude variability)
    • Sample Entropy
    • Coefficient of Variation
  • Automatic visualization:
    • Pitch traces
    • Vibrato cycles
    • Entropy and extent barplots
  • CSV export for region-based and full-file summaries
  • Cross-platform (Windows, macOS, Linux)

🛠️ Installation

Requires Python 3.9+

bash git clone https://github.com/tiagolbc/vibratoscope.git cd vibratoscope pip install -r requirements.txt


🚀 Running VibratoScope

To launch the GUI:

bash python run.py

All functional modules are located under the src/ directory.


📂 Example Dataset

The examples/ folder includes synthetic vowel samples with known vibrato parameters (e.g., 6.0 Hz rate, 0.5 semitone extent).

Each test case includes:

  • .wav file
  • .csv results
  • Pitch and vibrato analysis figures

These examples are used in validation and reproducibility. See docs/paper.md for citation.


📖 Citation

If you use this toolkit in research, please cite:

Cruz, T. L. B. (2025). VibratoScope: A Python Toolkit for High-Resolution Vibrato Analysis in Singing Voice.
Zenodo. https://doi.org/10.5281/zenodo.15519845

Or use the “Cite this repository” button on GitHub for BibTeX.


📃 License

MIT License — see LICENSE for terms.

Owner

  • Login: tiagolbc
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "VibratoScope: An Open-Source Python Toolkit for Vibrato Analysis in Singing Voice"
version: "v1.0.0"
date-released: 2025-04-22
authors:
  - family-names: Cruz
    given-names: Tiago Lima Bicalho
    orcid: https://orcid.org/0000-0002-8355-5436
repository-code: https://github.com/tiagolbc/vibratoscope
license: MIT
preferred-citation:
  type: software
  authors:
    - family-names: Cruz
      given-names: Tiago Lima Bicalho
      orcid: https://orcid.org/0000-0002-8355-5436
  title: "VibratoScope: An Open-Source Python Toolkit for Vibrato Analysis in Singing Voice"
  version: "v1.0.0"
  year: 2025
  url: https://github.com/tiagolbc/vibratoscope

GitHub Events

Total
  • Create event: 4
  • Issues event: 1
  • Release event: 6
  • Watch event: 1
  • Issue comment event: 2
  • Push event: 44
Last Year
  • Create event: 4
  • Issues event: 1
  • Release event: 6
  • Watch event: 1
  • Issue comment event: 2
  • Push event: 44