pliers icon indicating copy to clipboard operation
pliers copied to clipboard

Checklist of which Librosa functions are in Pliers

Open koudyk opened this issue 6 years ago • 9 comments

Checklist of which Librosa functions are in Pliers

@PeerHerholz @adelavega

How to understand this checklist:

  • I bolded functions that aren't in Pliers and might be useful.
  • I put as star * beside functions that aren't in Pliers and I'm not sure whether they'd be useful because I don't understand what they do.
  • I made some notes in italics.
  • For the most part, I'm thinking about what could be useful in Neuroscout. E.g., I left out functions that change the audio (pitch shifting, time warping)

Link to the Librosa docs

FEATURE EXTRACTION

SPECTRAL

  • [x] chroma_stft
  • [x] chroma_cqt
  • [x] chroma_cens
  • [x] melspectrogram
  • [x] mfcc
  • [x] rms
  • [x] spectral_centroid
  • [x] spectral_bandwidth
  • [x] spectral_contrast
  • [x] spectral_flatness
  • [x] spectral_rolloff
  • [x] poly_features
  • [x] tonnetz
  • [x] zero_crossing_rate

AUDITORY

  • [x] tempogram

FEATURE MANIPULATION

(These functions might be useful in the transformations tab in Neuroscout)

  • [ ] delta
  • [ ] stack_memory

ONSET DETECTION

  • [x] onset_detect
  • [ ] onset_backtrack
  • [ ] onset_strength (This function would be useful if you want a single vector of onset strength rather than a vector for each frequency band, which is what the next function gives you. In Neuroscout, for example, I think that users likely wouldn't need onset strengths for every frequency band.)
  • [x] onset_strength_multi

BEAT AND TEMPO

  • [x] beat_track
  • [x] tempo

SPECTROGRAM DECOMPOSITION

  • [ ] decompose
  • [ ] hpss (This function is called by the harmonic-percussive source separation functions below, but returns time-frequency representations of the harmonic and percussive sources, not time-series. I can't see it being useful for Neuroscout, but it might be useful for other applications)
  • [ ] nn_filter

EFFECTS

HARMONIC-PERCUSSIVE SOURCE SEPARATION

  • [ ] hpss (Redundant with the combination of the next two functions.)
  • [x] harmonic
  • [x] percussive

TEMPORAL SEGMENTATION

RECURRENCE AND SELF-SIMILARITY

(Might be useful in Neuroscout for investigating something like the neural correlates of echoic or short-term memory)

  • [ ] recurrence_matrix
  • [ ] recurrence_to_lag
  • [ ] lag_to_recurrence
  • [ ] timelag_filter

TEMPORAL CLUSTERING

(Might be useful in Neuroscout for comparing the temporal structure of stimuli and brain responses)

  • [x] agglomerative
  • [x] subsegment

SEQUENTIAL MODELING

VITERBI DECODING

  • [ ] viterbi *
  • [ ] viterbi_discriminative *
  • [ ] viterbi_binary *

TRANSITION MATRICES

  • [ ] transitions_uniform *
  • [ ] transitions_loop *
  • [ ] transitions_cycle *
  • [ ] transitions_local *

koudyk avatar Jul 01 '19 21:07 koudyk

Amazing! Thank you so much. This is a very helpful roadmap :)

adelavega avatar Jul 01 '19 21:07 adelavega

Thx @koudyk, this is amazing. If you would be up, we could start working on this together, otherwise, I'd start to do it this week. Anyhow, we should track which functions we added here. @adelavega: how should we organize PRs, one big one with functions or smaller ones based on e.g., the feature type?

PeerHerholz avatar Jul 08 '19 18:07 PeerHerholz

@koudyk and I had a brief meeting and decided to open a branch to implement the missing librosa functions. Once we have something, we'll check how to organize the PRs.

PeerHerholz avatar Jul 19 '19 14:07 PeerHerholz

That sound awesome, thanks! Re: PR, one big one would probably be easier from a reviewing standpoint, but if you find multiple smaller ones more efficient, that's also totally fine.

tyarkoni avatar Jul 19 '19 14:07 tyarkoni

@rbroc this is a listing of Librosa features in pliers, take a look!

adelavega avatar Dec 02 '19 23:12 adelavega

JFYI: @koudyk and I are still working on implementing the missing features. Should have them ready soon!

PeerHerholz avatar Dec 03 '19 14:12 PeerHerholz

hey @PeerHerholz did you ever get a chance to work on this? If not no worries just wondering

adelavega avatar Jul 16 '20 20:07 adelavega

Yeah, I did start working on a few features in my fork, but only finished some...

PeerHerholz avatar Jul 18 '20 17:07 PeerHerholz

ah okay just wondering. i was just perusing older issues.

if you have anything that partially covers some of this that is done and you'd like to submit go for it though.

adelavega avatar Jul 19 '20 16:07 adelavega