Skip to content

Instantly share code, notes, and snippets.

View lostanlen's full-sized avatar
🥐

Vincent Lostanlen lostanlen

🥐
View GitHub Profile
@lostanlen
lostanlen / melodyplot.py
Created June 16, 2020 13:10
Melodyplot: a waveplot in the piano-roll domain
import librosa
from librosa.display import specshow
import matplotlib
from matplotlib import pyplot as plt
import numpy as np
import os
import scipy.signal
%matplotlib inline
@lostanlen
lostanlen / bug-236.py
Created April 10, 2020 10:56
Companion code to mirdata issue #236
from mirdata import orchset
import os
def print_duration(mirdata_track):
"""This function measures the duration of a mirdata
Track by converting to JAMS and reading the file_metadata.
It runs only on mirdata master and returns an AssertionError
in mirdata v0.2-beta"""
jam = mirdata_track.to_jams()
assert jam.validate()
@lostanlen
lostanlen / librosa-898.py
Last active June 26, 2019 21:54
more efficient length trimming for librosa inverters
import librosa
from librosa import *
from librosa.core.spectrum import __overlap_add
from librosa.filters import get_window, window_sumsquare
import numpy as np
from numba import jit
def istft(stft_matrix, hop_length=None, win_length=None, window='hann',
center=True, dtype=np.float32, length=None):
@lostanlen
lostanlen / librosa-891.py
Last active May 31, 2019 21:24
Librosa issue #891
import librosa
import numpy as np
y, sr = librosa.load(librosa.util.example_audio_file())
y = y[:sr] * (2**31)
S = librosa.feature.melspectrogram(y, sr=sr).astype('float32')
G = librosa.pcen(S, sr=sr, power=1, bias=0).astype('float32')
powers = np.logspace(-12, 0, 13)
biases = [1.0, 2.0, 5.0, 10.0]
@lostanlen
lostanlen / muda_59.py
Last active July 27, 2017 17:21
muda #59: BackgroundNoise fails with len(noise)==len(soundf)
from __future__ import print_function
import jams
import librosa
import muda
import numpy as np
import soundfile as sf
print("jams version: {:s}".format(jams.__version__))
print("librosa version: {:s}".format(librosa.__version__))
@lostanlen
lostanlen / reconstruct_vibrato.m
Created April 28, 2017 22:11
Generate FM sine wave (vibrato) and reconstruct it from its scattering coefficients
% Add scattering library to path
addpath(genpath('~/scattering.m'));
% Parameters for vibrato signal
N = 8192;
sample_rate = 4096;
carrier_frequency = 1024;
modulation_frequency = 4;
bandwidth = 16;