librosa | Python library for audio and music analysis | Audio Utils library

 by   librosa Python Version: 0.10.0rc1 License: ISC

kandi X-RAY | librosa Summary

kandi X-RAY | librosa Summary

librosa is a Python library typically used in Audio, Audio Utils applications. librosa has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has high support. You can install using 'pip install librosa' or download it from GitHub, PyPI.

Python library for audio and music analysis

            kandi-support Support

              librosa has a highly active ecosystem.
              It has 5963 star(s) with 889 fork(s). There are 136 watchers for this library.
              There were 5 major release(s) in the last 6 months.
              There are 46 open issues and 1059 have been closed. On average issues are closed in 33 days. There are 2 open pull requests and 0 closed requests.
              It has a negative sentiment in the developer community.
              The latest version of librosa is 0.10.0rc1

            kandi-Quality Quality

              librosa has 0 bugs and 0 code smells.

            kandi-Security Security

              librosa has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              librosa code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              librosa is licensed under the ISC License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              librosa releases are available to install and integrate.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.
              librosa saves you 6878 person hours of effort in developing the same functionality from scratch.
              It has 15997 lines of code, 1033 functions and 68 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed librosa and discovered the below as its top functions. This is intended to give you an instant insight into librosa implemented functionality, and help decide if they suit your requirements.
            • Reassign a spectrum
            • R Frequency Fourier Transform
            • Convert frames to samples
            • Convert frames to time
            • R Discrete Discretization
            • Backtracking algorithm
            • Fill off off the diagonal
            • Calculates the cost for each step
            • Compute a hybrid CQT
            • Create an audio stream from a sound file
            • Convenience function to format data
            • Calculate the probability density distribution for a given time series
            • Spectral Time series
            • Cross similarity between two arrays
            • Draw waveshow
            • Compute the beat track
            • Convenience function for creating MFCCs
            • R Adds a path - wise path - wise path
            • Create a filter with constant q values
            • Spectral TimeSeries
            • Compute the spectral contrast
            • Calculate a griffin - lim
            • Plot the spectrum
            • Normalize a vector
            • Hyperparameters
            • Convenience function for PCEN
            Get all kandi verified functions for this library.

            librosa Key Features

            Python library for audio and music analysis

            librosa Examples and Code Snippets

            librosa - plot display
            Pythondot img1Lines of Code : 122dot img1License : Non-SPDX (ISC License)
            copy iconCopy
            # coding: utf-8
            Using display.specshow
            This notebook gives a more in-depth demonstration of all things that `specshow`
            can do to help generate beautiful visualizations of spectro-temporal data.
            librosa - plot segmentation
            Pythondot img2Lines of Code : 109dot img2License : Non-SPDX (ISC License)
            copy iconCopy
            # -*- coding: utf-8 -*-
            Laplacian segmentation
            This notebook implements the laplacian segmentation method of
            `McFee and Ellis, 2014 `_,
            with a couple of minor stability improvements.
            Throughout the   
            librosa - plot chroma
            Pythondot img3Lines of Code : 68dot img3License : Non-SPDX (ISC License)
            copy iconCopy
            # coding: utf-8
            Enhanced chroma and chroma variants
            This notebook demonstrates a variety of techniques for enhancing chroma features and 
            also, introduces chroma variants im  
            copy iconCopy
            python3 -m pip install numpy
            Saving generated spectrogram image data into a directory as jpeg files in google drive
            Pythondot img5Lines of Code : 2dot img5License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            Saving generated spectrogram image data into a directory as jpeg files in google drive
            Pythondot img6Lines of Code : 20dot img6License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            for folder in os.listdir(data_dir):
              for fil in os.listdir(os.path.join(data_dir,folder)):
                with soundfile.SoundFile(dir) as audio:
            Unused string raises KeyError
            Pythondot img7Lines of Code : 4dot img7License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            for i in os.listdir(wav_path)
            for i, path in enumerate(os.listdir(wav_path))
            Why my sample.shape always different than sample_rate
            Pythondot img8Lines of Code : 2dot img8License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            ax1.plot(np.linspace(0, sample_rate/len(samples), len(samples)), samples)
            Snakefile how to mix wildcards and variables
            Pythondot img9Lines of Code : 39dot img9License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            from pathlib import Path
            from glob import glob
            from copy_sph_to_wav import copy_sph_to_wav
            from copy_wav_to_wav import copy_wav_to_wav
            STAGE = "/media/catskills/interspeech22"
            CHALLENGE = "openasr21"
            LANGUAGE = "farsi"
            SAMPLE_RATE = 16000
            Snakefile how to mix wildcards and variables
            Pythondot img10Lines of Code : 11dot img10License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            rule all:
                    expand("{your_path}.extension", replacements)
            rule make_output:
                input: "{input}_{num}.extension"
                output: "{output}_{num}.extension"
                    copy_sph_to_wav {input} > {output}

            Community Discussions


            How to solve the pytorch RuntimeError: Numpy is not available without upgrading numpy to the latest version because of other dependencies
            Asked 2022-Apr-05 at 11:17

            I am running a simple CNN using Pytorch for some audio classification on my Raspberry Pi 4 on Python 3.9.2 (64-bit). For the audio manipulation needed I am using librosa. librosa depends on the numba package which is only compatible with numpy version <= 1.20.

            When running my code, the line



            Answered 2022-Mar-31 at 08:17

            Have you installed numpy using pip?



            ValueError: too many values to unpack(expected 2) - train_test_split
            Asked 2022-Mar-15 at 13:05

            I'm doing test_split before the feature extraction. however, when I try to loop through any set, whether train or test, I get the following error (ValueError: too many values to unpack(expected 2))



            Answered 2022-Mar-15 at 13:05

            You should use zip to group the variables in a python iterator:



            Snakefile how to mix wildcards and variables
            Asked 2022-Feb-13 at 01:48

            I want to make a rule which for a given number of threads translates files in one directory and format to another directory and format, in parallel. Certain elements of the path are defined by variables and certain are wildcards. I want it to wildcard on phase and sample and ext but take stage, challenge and language from the Python variable environment. I want the copy operation to take file to file. I don't want it to get the entire list of files as input. I'm not using expand here because if I use expand then snakemake will pass the entire list of inputs as {input} and the entire list of outputs as {output} to the function, which is not what I want. Here is the Snakefile:



            Answered 2022-Feb-12 at 23:55


            AWS elastic beanstalk not working with Librosa python
            Asked 2022-Feb-12 at 23:21

            My application works properly on the local machine. However, as I uploaded the application to elastic beanstalk, the import of librosa library broke the application. How to solve the issue?



            Answered 2022-Feb-12 at 23:21

            The issue is probably with tensorflow==2.2.0. This is a very heavy library and you can't install it on t2.micro. You need at least t2.medium (not in free tier) which has more RAM to successfully install tensorflow==2.2.0 on EB.



            Extracting Instrument Qualities From Audio Signal
            Asked 2022-Jan-24 at 23:21

            I'm looking to write a function that takes an audio signal (assuming it contains a single instrument playing), out of which I would like to extract the instrument-like features out of the audio and into a vector space. So in theory, if I had two signals with similar-sounding instruments (such as two pianos), their respective vectors should be fairly similar (by euclidian distance/cosine similarity/etc.). How would one go about doing this?

            What I've tried: I'm currently extracting (and temporally averaging) the chroma energy, spectral contrast, MFCC (and their 1st and 2nd derivatives), as well as the Mel spectrogram and concatenating them into a single representation vector:



            Answered 2022-Jan-24 at 23:21

            The part of the instrument audio that gives its distinctive sound, independently from the pitch played, is called the timbre. The modern approach to get a vector representation, would be to train a neural network. This kind of learned vector representation is often called to create an audio embedding.

            An example implementation of this is described in Learning Disentangled Representations Of Timbre And Pitch For Musical Instrument Sounds Using Gaussian Mixture Variational Autoencoders (2019).



            Python TypeError: reduce_noise() got an unexpected keyword
            Asked 2021-Dec-13 at 15:46

            hi guys I'm trying to do audio classification using python and I installed a package and when I tried to use the functions, it said "TypeError: TypeError: reduce_noise() got an unexpected keyword argument 'audio_clip' hear the code of function.

            import librosa import numpy as np import noisereduce as nr

            def save_STFT(file, name, activity, subject): #read audio data audio_data, sample_rate = librosa.load(file) print(file)



            Answered 2021-Sep-23 at 14:48

            Answer to your question is in the error message.



            Keras custom Layer: "input_shape" is not suscriptable
            Asked 2021-Dec-02 at 14:57

            Hi i'm trying to get a custom spectrogram layer going and I can't



            Answered 2021-Dec-02 at 14:57

            TensorFlow can't compute the output shape of your layer. As Conv2D requires a specific shape (4 dimensions), it will fail if the output shape of the previous layer is not known (None).

            To fix that, you need to specify which axis you want to squeeze in you call function.

            Here, I specify that this is the last axis that need to be squeezed (the channel axis).



            Python Tensorflow Shape Mismatch (WaveNet)
            Asked 2021-Nov-18 at 09:14

            I was trying to run a WaveNet, which is specified in

            Part of my code is as follows:



            Answered 2021-Nov-18 at 09:07

            Your data is a missing dimension. A Conv1D layer requires the input shape (timesteps, features). You seem to only have the timesteps or features. So maybe try something like this:



            PyTorch: Checking Model Accuracy Results in "TypeError: 'bool' object is not iterable."
            Asked 2021-Oct-24 at 22:04

            I am training a neural network and would like to check its accuracy. I've used Librosa and SciKitLearn to represent audio in the form of 1D Numpy arrays. Thus x_train, x_test, y_train, and y_test are all 1D Numpy arrays with the x_* arrays containing floats and the y_* arrays containing strings corresponding to classes of data. For example:



            Answered 2021-Oct-24 at 18:24

            The predicted variable contains both values and indices, you need to do pred_vals, pred_inds = torch.max(, 1) and then you can do correct_train += (sum(pred_inds == label)).item()

            Also you don't need to convert to float before summing, you can use:

            (predicted == label).sum().item()

            (predicted == label) returns a BoolTensor which can be summed to obtain a float value.



            Unable to Install Sndfile with Amazon EC2 Instance due to unavailability
            Asked 2021-Sep-28 at 12:25

            I am trying to deploy a flask application that uses TensorFlow and Librosa. So as a dependency of Librosa I need the sndfile package.

            When I run my Flask app I get this error:



            Answered 2021-Sep-28 at 01:22

            You need to install libsndfile and it's development files. Unfortunately it's not packaged up in a repository, but you can get it installed by downloading the RPMs directly


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install librosa

            The latest stable release is available on PyPI, and you can install it by saying.


            See for a complete reference manual and introductory tutorials. The [advanced example gallery]( should give you a quick sense of the kinds of things that librosa can do.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • PyPI

            pip install librosa

          • CLONE
          • HTTPS


          • CLI

            gh repo clone librosa/librosa

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Audio Utils Libraries


            by goldfire


            by fingerprintjs


            by Tonejs


            by AudioKit


            by sonic-pi-net

            Try Top Libraries by librosa


            by librosaJupyter Notebook


            by librosaJupyter Notebook


            by librosaPython


            by librosaCSS


            by librosaHTML