This project provides a suite of Python tools and Jupyter notebooks designed for generating and analyzing audio signals to test and evaluate onset detection algorithms. It includes various signal synthesis modules, audio effects, feature extraction utilities, and example notebooks.
Signal Generation (synth.py)
- Basic waveforms:
sine_wave,square_wave,sawtooth_wave,triangle_wave,noise - Customizable ADSR envelopes:
adsr - Complex pre-defined test signals in
test_signals.py(e.g.,random_sines,filter_saw,delay_noise)
Audio Effects & Processing (synth.py)
Analysis & Utilities (utils.py)
- Spectrogram display:
spectrogram - Feature distance calculation:
distances - Cosine similarity for features:
cosine_similarity - Array manipulation:
stretch_array,smoothing,norm(normalization also insynth.py) - Plotting utilities:
plot_with_derivatives,plot_heatmap - Audio playback in Jupyter notebooks:
display(usingIPython.display.Audio)
- DAC (Descript Audio Codec): Integration via
DACSoundclass indacsound.pyfor audio encoding/decoding. - Jupyter Notebooks for Exploration:
cqt.ipynb: Constant-Q Transform analysis.mfcc.ipynb: MFCC feature extraction.spectrum.ipynb: General spectral analysis.music2latent.ipynb: Exploring music to latent space mappings.dac.ipynb: Experiments with the DAC model.vggish.ipynb: Using VGGish audio embeddings (requiresweights/audioset-vggish-3.pb).playground.ipynb: General experimentation space.