Skip to content

laurenceyoon/score-following-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

score-following-app

This is a simple score following app that reads a score file (MusicXML) and displays the aligned position in real-time using an Audio/MIDI input device. For the core alignment algorithm, we use the a pymatchmaker, python library for real-time music alignment. (ISMIR 2024 Late Breaking Demo)

Pre-requisites

# Linux
$ sudo apt-get install fluidsynth && sudo apt-get install portaudio19-dev

# MacOS
$ brew install fluidsynth && brew install portaudio

Setting Backend environment

Tested on Python 3.9 (conda)

$ cd backend/
$ conda create -n sfa python=3.9
$ conda activate sfa
$ pip install -r requirements.txt

Setting Frontend environment

$ cd frontend/
$ npm install

# Create .env.local
$ echo "NEXT_PUBLIC_BACKEND_URL=http://127.0.0.1:8000" > .env.local

Running the app

$ cd backend/
$ ./start_app.sh  # Server will start at http://localhost:8000/

Note: The first server startup might take longer as it downloads required soundfonts from partitura library.

$ cd frontend/
$ npm start  # Client will start at http://localhost:50003/

Now you can access the app at http://localhost:50003/ in your browser.

Demo video

Demo.video.mp4

About

A demo application for pymatchmaker (score following package)

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •