Introduction

This is from a project while I was visiting scholar at CMU computer science department supervised by Roger Dannenberg, the whole project is called HCMP(Human-Computer Music Performance). The main objective of my part is developing a software called audio player that can read wav file and manipulate the data for real-time synchronizing. The way to do this is using phase-vocoder which can change the speed of music without changing its pitch. For my part, I have implemented basic parts of the audio player, such as client-server communication, time synchronization for client accurately keeping pace with conductor, real-time audio stretching with multithread processing block by block, creating/reading label for controling the pace of music, beats mapping from four different layers, four different playing modes and real-time tempo calculating.