Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Clone this wiki locally
Work in progress - feel free to contribute
Wahjam lets you join jam sessions with other musicians. It works like online games where you choose a server and then play with other people who are logged in.
TODO image showing a jam session with central server and several connected users.
The internet is not fast and reliable enough for real-time jamming, so Wahjam works in intervals. You hear what other users played last interval. If you think about this you will realize that every user experiences the jam slightly differently because they hear what other users played last interval.
TODO image showing how you hear remote audio from the last interval.
Intervals work well and feel natural because music is played at a fixed tempo and time signature. Normally an interval will be several bars long, enough for a complete chord progress or drum pattern. As long as users stay in the same key the jam will sound "right".
Every jam session has a tempo in beats per minute (BPM) and an interval length in beats per interval (BPI). Users can vote on these settings during the jam so it is possible to change the pace.
From the github repository
Use your package manager to install git and qt4 (make sure you have the
qmake tool installed), and then issue the following commands :
$ git clone https://github.com/wahjam/wahjam.git
$ cd wahjam
$ sudo make install
Managing audio channels
Chatting and voting