Jamulus
real-time collaborative music session
- Provided by: jamulus (Version: 3.8.1+dfsg1-1)
- Report a bug
real-time collaborative music session
Jamulus |
[-6 | --enableipv6]
[-c | --connect
address] [-d |
--discononquit] [-e |
--directoryserver hostname]
[-F | --fastupdate]
[-f | --listfilter
filter] [-h |
-? | --help]
[-i | --inifile
file] [-j |
--nojackconnect] [-L |
--licence] [-l |
--log file]
[-M | --mutestream]
[-m | --htmlstatus
file] [-n |
--nogui] [-o |
--serverinfo info]
[-P | --delaypan]
[-p | --port
number] [-Q |
--qos value]
[-R | --recording
directory] [-s |
--server] [-T |
--multithreading] [-t |
--notranslation] [-u |
--numchannels] [-v |
--version] [-w |
--welcomemessage message]
[-z | --startminimized]
[--centralserver hostname]
[--clientname name]
[--ctrlmidich MIDISetup]
[--directoryfile file]
[--mutemyown] [--norecord]
[--serverbindip ip]
[--serverpublicip ip]
[--showallservers]
[--showanalyzerconsole] |
Jamulus, a low-latency audio client and
server, enables musicians to perform real-time “jam” sessions
over the internet. It is available across multiple platforms, so
participants of any field can communicate without specialist setup
requirements. This is not restricted to music, of course; other use (perhaps
conferencing?) is also possible.
One participant starts Jamulus in server
mode, ideally on a dedicated server (virtual) machine; all participants
start the (graphical) client which transmits audio to the server, receiving
back a mixed stream. Use of a metronome is recommended. Clients should be
connected using ethernet, not wireless, and use proper headphone and
microphone connections, not Bluetooth. The server should run on a
low-latency system, ideally not a VM.
Running Jamulus without any extra options
launches the full graphical client.
The options are as follows:
-6 |
--enableipv6-c |
--connect
address-d |
--discononquit-e |
--directoryserver
hostname-o; to be
a directory server, use
“localhost”-F |
--fastupdate-f |
--listfilter
filter-h |
-? |
--help-i |
--inifile
file-j |
--nojackconnect-L |
--licence-w to set
the text) before they are allowed joining-l |
--log
file-M |
--mutestream-m |
--htmlstatus
file-n |
--nogui-o |
--serverinfo
info;city;locale
where locale is the numeric value of a
QLocale; see
https://doc.qt.io/qt-5/qlocale.html#Country-enum
for a list-P |
--delaypan-p |
--port
number-Q |
--qos
value-R |
--recording
directory--norecord) storing tracks in
directory-s |
--server-T |
--multithreading-t |
--notranslation-u |
--numchannels-v |
--version-w |
--welcomemessage
message-z |
--startminimized--centralserver
hostname--directoryserver--clientname
name--ctrlmidich
MIDISetup;foff*nchans][;poff*nchans][;soff*nchans][;moff*nchans]
The first semicolon-separated element sets the MIDI channel
Jamulus listens on for control messages. The
other elements specify the items to control by their first literal
letter (f = volume fader, p = pan,
m = mute, s = solo) directly followed by the
offset (CC number) to start from, a literal asterisk, and the amount of
consecutive CC numbers to assign. Fader strips in the mixer window are
controlled in ascending order from left to right.
Jamulus does not provide feedback as to the
current state of the Solo and Mute buttons so the controller must track
and signal their state locally.
--directoryfile
file--mutemyown--norecord-R--serverbindip
ip--serverpublicip
ip--showallservers--showanalyzerconsoleNote that the debugging commands are not intended for general use.
Jamulus knows four modes of operation:
client mode and three kinds of server (private, public, directory). A
private server is unlisted, clients can only connect if given the address
(IP address and port). A public server will contact a directory server
(whose address must be given at server startup) and show up in that server's
list; clients can retrieve a list of public servers from the directory
server. Several public directory servers are operated by the Jamulus
project; there is a directory server for each genre, which is how public
Jamulus servers are categorised into genres.
--ctrlmidich documentation and other more
or less useful informationmirabilos ⟨tg@debian.org⟩ wrote this manual page for the Debian project, but it may be used elsewhere as well.
This manual page was derived from the source code and summarises some of the information from the website, but it could be more helpful.
Some of the networking code assumes Legacy IP (IPv4).