JAMULUS(1) | General Commands Manual | JAMULUS(1) |
NAME¶
Jamulus
—
real-time collaborative music session
SYNOPSIS¶
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 ] |
DESCRIPTION¶
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
- enable IPv6 support
-c
|--connect
address- (client mode only) connect to the given server address (hostname[:port]) at startup
-d
|--discononquit
- (server mode only) disconnect all clients on quit
-e
|--directoryserver
hostname- (server mode only) make the server public and set its genre by setting the
address of the directory server (formerly central server) to use to
hostname; see also
-o
; to be a directory server, use “localhost
” -F
|--fastupdate
- (server mode only) use 64 samples frame size mode, which reduces latency if clients connect with “enable small network buffers” turned on; requires a faster CPU to avoid dropouts and uses more bandwidth to connected clients
-f
|--listfilter
filter- (directory server mode only) whitelist which servers are allowed to register on the server list; filter must consist of semicolon-separated IP addresses
-h
|-?
|--help
- display a short help text and exit immediately
-i
|--inifile
file- (client and non-headless server mode only) override default initialisation file with file
-j
|--nojackconnect
- (client mode only) do not automatically connect to JACK
-L
|--licence
- (server mode only) require clients to accept the agreement shown in the
welcome message (use
-w
to set the text) before they are allowed joining -l
|--log
file- (server mode only) enable logging to file
-M
|--mutestream
- (client mode only) start in muted state
-m
|--htmlstatus
file- (server mode only) write server status and list of connected clients, in HTML format, to file periodically
-n
|--nogui
- disable the GUI
-o
|--serverinfo
info- (public servers only) set server location details, formatted as
name
;
city;
locale where locale is the numeric value of aQLocale
; see https://doc.qt.io/qt-5/qlocale.html#Country-enum for a list -P
|--delaypan
- (server mode only) start with delay panning enabled
-p
|--port
number- set the local UDP port to use to number (default: 22124)
-Q
|--qos
value- set QoS value (iptos byte) to use (default: 128)
-R
|--recording
directory- (server mode only) enable recording (but see
--norecord
) storing tracks in directory -s
|--server
- start in server mode
-T
|--multithreading
- (server mode only) use multithreading to make better use of multi-core CPUs and support more clients
-t
|--notranslation
- disable translations, use built-in English strings
-u
|--numchannels
- (server mode only) set maximum number of channels (and, therefore, users); default is 10, maximum is 150
-v
|--version
- display version information and exit immediately
-w
|--welcomemessage
message- (server mode only) show message (may contain HTML and inline CSS) to users on connect
-z
|--startminimized
- (server mode only) start with minimised window
--centralserver
hostname- (server mode only) deprecated alias for
--directoryserver
--clientname
name- (client mode only) set window title and JACK client name
--ctrlmidich
MIDISetup- (client mode only) set MIDI controller channel to listen on, control
number offset and consecutive CC numbers (channels); format:
channel[
;f
off*
nchans][;p
off*
nchans][;s
off*
nchans][;m
off*
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- (directory server mode only) enable server list persistence, storing to and loading from file
--mutemyown
- (headless client only) mute my channel in my personal mix
--norecord
- (server mode only) do not automatically start recording even if configured
with
-R
--serverbindip
ip- (server mode only) configure Legacy IP address to bind to
--serverpublicip
ip- (server mode only) configure public Legacy IP address when both the directory server and the actual server are situated behind the same NAT, so that clients can connect
--showallservers
- (client mode only) show all registered servers in the serverlist regardless whether a ping to the server is possible or not (debugging command)
--showanalyzerconsole
- (client mode only) show analyser console to debug network buffer properties (debugging command)
Note 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.
SEE ALSO¶
- https://jamulus.io/wiki/Software-Manual
- online handbook
- https://jamulus.io/wiki/FAQ
- frequently asked questions
- https://jamulus.io/wiki/Running-a-Server
- documentation on server configuration and types
- https://jamulus.io/wiki/Server-Linux#running-in-public-mode
- current list of directory servers operated by the Jamulus project, controlling the “genre”
- https://jamulus.io/wiki/Tips-Tricks-More
- verbose
--ctrlmidich
documentation and other more or less useful information
AUTHORS¶
mirabilos ⟨tg@debian.org⟩ wrote this manual page for the Debian project, but it may be used elsewhere as well.
BUGS¶
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).
December 23, 2021 | Debian |