Skip to content

Instructional material for the Music Information Retrieval Workshop at CCRMA, Stanford University, 2014-18.

License

Notifications You must be signed in to change notification settings

meinardmueller/musicinformationretrieval.com

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

musicinformationretrieval.com

stanford-mir is now musicinformationretrieval.com.

Instructional material for the Music Information Retrieval Workshop at CCRMA, Stanford University, 2014-18.

The Stanford CCRMA MIR 2018 Workshop has come to an end. This year's esteemed instructors included:

How to Use This Repo

This repository contains Jupyter notebooks related to music information retrieval (MIR). Inside these notebooks are Python code snippets that illustrate basic MIR systems.

The simplest way to use this repository is to (1) browse a read-only version of this repo at musicinformationretrieval.com, and (2) follow along using a blank Jupyter notebook of your own.

Install Python and relevant libraries

  1. If you’re totally new, the simplest solution is to download and install Anaconda for Python 3.x.

  2. Install librosa and ffmpeg. If you installed Anaconda during step 1:

    conda install -c conda-forge librosa ffmpeg
    

If these packages are already installed, don't forget to upgrade them before the workshop.

To upgrade, use either pip install --upgrade or conda upgrade depending upon which package installer you used for the respective package.

[2018 June 24] These notebooks reflect the following package versions:

  • numpy 1.14.2
  • scipy 1.0.0
  • matplotlib 2.2.0
  • ipython 6.2.1
  • jupyter 1.0.0
  • librosa 0.6.1
  • scikit-learn 0.19.1
  • pandas 0.22.0
  • joblib 0.11

Troubleshooting

Issue #729: import librosa causes TypeError: expected string or buffer

  • Workaround: downgrade joblib to v0.11:

    pip install joblib==0.11
    

Start the Jupyter Notebook

A majority of our instruction and laboratory work will occur inside the Jupyter notebook. You can think of the Jupyter notebook like the Mathematica or Matlab desktop, except it uses Python and it runs inside your web browser.

  1. Start the Jupyter notebook server on your local machine. For Mac users, at the Terminal:

    your-local-machine:~$ jupyter notebook
    

    For Windows users, open the application "Jupyter Notebook". Alternatively for Windows: open the application "Anaconda Prompt" and type in jupyter notebook.

  2. On your local machine, visit http://localhost:8888 inside a web browser.

  3. To open a new notebook, click on New near the top right. This is your scrap notebook.

    • Immediately rename the notebook by clicking on "Untitled" in the top left, and choosing a different name.
    • Inside a cell, run 1+2. Press <Shift-Enter> on a cell to run that cell. Hopefully you get the output 3.
    • Inside a cell, run import scipy, sklearn, pandas, librosa. Press <Shift-Enter> to run the cell. If that runs without error, congratulations, you have the necessary libraries installed properly.
    • Try executing the content from http://musicinformationretrieval.com inside this blank notebook.
  4. To close the Jupyter notebook,

    • Save the notebook. (Either use keyboard shortcut s, or "File | Save" in the top menu.)
    • Close the browser window.
    • If you opened the notebook from a prompt/shell as indicated in Step 1 above, from that shell, press <Ctrl-C> twice to return to the prompt.

Congratulations, you are now running a Jupyter notebook, and you can get started with the workshop material.

After installing, if something doesn’t work, try closing the terminal or restarting the OS. Sometimes that can reset the necessary configurations.

Contributions

Your contributions are very welcome! You can contribute in two ways:

  1. Submit an issue. Click on "Issues" in the right navigation bar, then "New Issue". Issues can include Python bugs, spelling mistakes, broken links, requests for new content, and more.

  2. Submit changes to source code or documentation. Fork this repo, make edits, then submit a pull request.

This repo is statically hosted using GitHub Pages. Any changes to HTML files in the gh-pages branch will be seen on musicinformationretrieval.com.

To edit musicinformationretrieval.com:

  1. Edit a notebook, e.g.:

    $ jupyter notebook kmeans.ipynb
    
  2. Convert notebook to HTML:

    $ jupyter nbconvert --to html kmeans.ipynb
    
  3. Commit the notebook and the HTML:

    $ git add kmeans.ipynb kmeans.html
    $ git commit
    $ git push
    

    You may need to wait 1-2 minutes before the changes are live on GitHub Pages.

About

Instructional material for the Music Information Retrieval Workshop at CCRMA, Stanford University, 2014-18.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 54.8%
  • Jupyter Notebook 45.2%