vibratoscope
Automated vibrato analysis tool for singing voice
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
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
Metadata Files
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.

🧠 Features
- GUI for region selection and interactive spectrogram navigation.
- Batch processing of
.wavfiles 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
- YIN (
- 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:
.wavfile.csvresults- 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
- Repositories: 1
- Profile: https://github.com/tiagolbc
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