Coder Social home page Coder Social logo

shanyi15 / smartmetronome Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 992 KB

Smart Metronome, targeting for musical instrument players who would like to record their performance and get a report with beat accuracy analysis.

Python 2.71% JavaScript 79.62% CSS 7.75% HTML 9.92%
beat-tracking metronome musicinformationretrieval nodejs

smartmetronome's Introduction

smartMetronome ๐ŸŽต

Introduction

This demo uses flask, librosa, madmom, HTML/CSS/JavaScript to create a smart metronome app, targeting for musical instrument players who would like to record their performance and get a report with beat analysis. It's from Yi Shan's thesis project at NYU Music Tech Program.

Example

How to run

Two ways to create a clean environment are provided, you can choose one of them. Based on the experience during test, if you already have conda installed, conda is recommended. If not, virtualenv is better.

Suggested Python Version: 3.8. Newer Version may bring lib conflicts.

Virtualenv method has been tested on Windows 11. Conda method has been tested on MacOS Sonoma.

Conda

cd ./smartMetronome

# Create conda env
conda env create -f environment.yml

# Check Python3 path. 
which python3 # The path is expected as something like /opt/anaconda3/bin/python3

# Check pip3 path.
which pip3 # The path is expected as something like /opt/anaconda3/bin/pip3

# Run app.
Python3 app.py

Virtualenv

# install virtualenv
pip install virtualenv

# create new virtual env
virtualenv venv

# activate env
//MacOS
source venv/bin/activate

//Windows
venv\Scripts\activate

# install requirements
pip install -r requirement.txt

# run
python3 app.py

If you start the server successfully, you will see the address in terminal. The default address should be: http://127.0.0.1:8080/ .

You can change host or port by editing app.py.

Usage

  • Allow the mic authentication for the first time.
  • Click Start button to start the metronome, the recorder will start at the same time.
  • Playing some music ๐ŸŽถ
  • Click Stop.
  • You will see your recording showing at the right side of the website.
  • Playback, or interact with the wave. If you are satisfied with it, click "Analyse".
  • Loading... and then, you will see your report at the bottom!

FAQ

  • "No module named 'Cython'", or "No module named 'Numpy'" while installing Madmom
    • Install Cython and Numpy manually. See requirements.txt for exact version.

Please note

  • For now, there is always a delay after the recorder start. To avoid this temporarily, let the metronome tick for several seconds, then start playing.
  • Any questions, please leave an issue.

smartmetronome's People

Contributors

shanyi15 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.