Skip to content

laurenceyoon/relay-performer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Relay Performer

Relay Performer is an interactive music performance system which enables relay performance between human pianist & AI pianist. It requires MIDI port connection (eg. Disklavier) and uses built-in audio device for real-time stream processing. The online time warping (OLTW) algorithm is implemented in this system, based on the paper MATCH: A MUSIC ALIGNMENT TOOL CHEST by Simon Dixon published at ISMIR2005.

Tested on Python 3.12 (conda)

Preparing packages

$ brew install redis
$ brew services start redis

Setting a new conda environment

If you're using Mac M1, please run the following command before creating a new conda environment.

$ brew install portaudio

Create a new conda environment and activate it.

$ conda env create -f environment.yml
$ conda activate rpf
  • If there's an issue about soundfile, please reinstall soundfile as follows:

    $ pip install --upgrade --force-reinstall soundfile

Start App

# start app
$ ./start_app.sh

  • To test APIs, go to 127.0.0.1:8000, which redirects to 127.0.0.1:8000/docs.
  • To manage admin dashboard, go to 127.0.0.1:8000/admin.

About

Human-AI Relay Performance System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published