Skip to content

iFriendGit/hpsjam

 
 

Repository files navigation

HPS JAM

An online audio collaboration tool for low latency audio with lyrics and chat support.

Features

  • uncompressed audio transmission in 1 channel 8-bit up to 2 channels 32-bit. This results in crystal clear high-end audio over the internet!
  • additional protection against jitter by redundancy in packet transmission
  • local audio effects:
    • highpass
    • lowpass
    • bandpass
    • delay - With this feature you can hear yourself with an "average" delay that fits the real one from the server. This provides a clean local signal without jitter, while maintaining the delay and thus being "in sync" with fellow musicians when playing/jamming. Usage: click "MIXER" then "EQ DELAY" then "Long Delay" and then "Apply". This will apply the calculated average. You may want to click the "Long Delay" button several times before hitting apply, so that you can choose the appropiate delay. Credits go to Nils Brederlow for suggesting it.
  • automatic audio compression when signal overflows.
  • built in HTTP server allows for streaming the uncompressed audio in 32-bit stereo WAV-file format to disk or other programs. Supported for both client and server.
  • server and mixer access can be password protected.
  • low latency MIDI event routing

How to build

  • qmake PREFIX=/usr # Linux
  • qmake PREFIX=/usr/local # FreeBSD
  • make all
  • make install

Dependencies

NOTE: for those on Linux that have Jamulus already installed, you need to install additionally:

  • libfftw3-dev
  • libqt5svg5-dev
This command should do the trick:
sudo apt-get install libfftw3-dev libqt5svg5-dev

Example how to start the client

HpsJam

Example how to start the server

HpsJam --server --port 22124 --peers 16 --daemon

Example how to use ffmpeg to stream from HpsJam to icecast

HpsJam --server --port 22124 --peers 16 --httpd 127.0.0.1:8080 --daemon

ffmpeg -f s32le -ac 2 -ar 48000 -i http://127.0.0.1:8080/stream.wav \
       -acodec libmp3lame -ab 128k -ac 2 -content_type audio/mpeg \
       -f mp3 icecast://source:[email protected]:8000/stream

How to get help about the commandline parameters

HpsJam -h

Privacy policy

HPS JAM does not collect any information from its users.

Supported platforms

About

Online audio jamming software

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 86.6%
  • C 12.1%
  • Other 1.3%