diff --git a/wiki/en/en-Central-Servers.md b/wiki/en/en-Central-Servers.md index e398b1c6c..2ea66d0ad 100644 --- a/wiki/en/en-Central-Servers.md +++ b/wiki/en/en-Central-Servers.md @@ -11,7 +11,7 @@ permalink: "/wiki/Central-Servers" Because there is a limit of 150 servers per central server, you need to select which central server you want to advertise your server on. Select a genre if you intend to limit players to that style (players can then see your server in their genre list). -When you start a public server, you will see a message saying whether your server has been successfully listed or not. If not, and you leave your server running, it will re-try its attempts to register until a free slot becomes available. +When you start a public server, you will see a message saying whether your server has been successfully listed or not. If not, and you leave your server running, it will keep trying to register until a free slot becomes available. ## Headless servers diff --git a/wiki/en/en-Client-Troubleshooting.md b/wiki/en/en-Client-Troubleshooting.md index aa2c03c04..3cae0970d 100644 --- a/wiki/en/en-Client-Troubleshooting.md +++ b/wiki/en/en-Client-Troubleshooting.md @@ -51,7 +51,7 @@ You can set your "New Client Level" to a low value (e.g. 10), or set the musicia ### Can't see the server you want to join? -First check that you have the right genre server selected in your Connect Setup window. But sometimes network issues mean your client won't list all the available servers. If you know the name of the server you want to join, you can [look up its IP address here](https://explorer.jamulus.io/). Enter the IP address in the "Server Name/Address" field in the Connect Setup window to connect to it. +First check that you have the right genre server selected in your Connection Setup window. Sometimes network issues mean your client won't list all the available servers. If you know the name of the server you want to join, you can [look up its IP address here](https://explorer.jamulus.io/). Enter the IP address in the "Server Name/Address" field in the Connect Setup window to connect to it. ### Not seeing a list of servers at all? diff --git a/wiki/en/en-Command-Line-Options.md b/wiki/en/en-Command-Line-Options.md index a65cedad5..f6f626bd2 100644 --- a/wiki/en/en-Command-Line-Options.md +++ b/wiki/en/en-Command-Line-Options.md @@ -50,6 +50,6 @@ You can see all possible options your version supports by starting Jamulus with | `-u` |`--numchannels` | Maximum number of users. Default is 10, maximum is 50 | (server only) | | `-w` |`--welcomemessage` | Supports HTML and inline CSS formatting (in enclosing quotes), or set path to text file. | (server only) | | `-z` |`--startminimized` | Start minimized | (server only) | -| |`--ctrlmidich` | MIDI controller channel to listen on and control number offset, format: `channel[;offset]` | (client only) see [Tips & Tricks](Tips-Tricks-More#Using-ctrlmidich-for-MIDI-controllers) | +| |`--ctrlmidich` | MIDI controller channel to listen on, control number offset and consecutive CC numbers (channels). Format: `channel[;f*][;p*][;s*][;m*]` | (client only) see [Tips & Tricks](Tips-Tricks-More#Using-ctrlmidich-for-MIDI-controllers) | | |`--clientname` | Window title and JACK client name | (client only) | | |`--serverpublicip` | Supply the server's public IP address | (server only) [See note](Choosing-a-Server-Type) | diff --git a/wiki/en/en-Compiling.md b/wiki/en/en-Compiling.md index 94aa0b4e1..5b01e2025 100644 --- a/wiki/en/en-Compiling.md +++ b/wiki/en/en-Compiling.md @@ -16,7 +16,7 @@ You don't need to compile Jamulus for macOS since we provide official binaries, ### Requirements 1. Install XCode -1. Install Qt as follow +1. Install Qt as follows ```shell brew install qt5 @@ -72,7 +72,7 @@ You don't need to compile Jamulus for Windows since we provide official binaries ### Download Jamulus source code -Get the Jamulus source code e.g. via git or [zip download](https://github.com/corrados/jamulus/archive/master.zip) from the [Jamulus repo](https://github.com/corrados/jamulus). Make sure that there are **no** spaces in the directory you move the `jamulus` directory to since it might break the Jamulus installer (if you know how to fix this issue, please comment on [issue #864](https://github.com/corrados/jamulus/issues/864) on the Jamulus repo to tell us how). +Get the Jamulus source code e.g. via git or [zip download](https://github.com/jamulussoftware/jamulus/archive/master.zip) from the [Jamulus repo](https://github.com/jamulussoftware/jamulus). Make sure that there are **no** spaces in the directory you move the `jamulus` directory to since it might break the Jamulus installer (if you know how to fix this issue, please comment on [issue #864](https://github.com/jamulussoftware/jamulus/issues/864) on the Jamulus repo to tell us how). ### Compiling and building installer diff --git a/wiki/en/en-Contribution.md b/wiki/en/en-Contribution.md index cf3413e57..8b00aecce 100644 --- a/wiki/en/en-Contribution.md +++ b/wiki/en/en-Contribution.md @@ -15,13 +15,13 @@ See the [Jamulus GitHub repo](https://github.com/jamulussoftware/jamulus) for fu ## Jamulus Website -* If you find a mistake, typo or something out of date (in any language) on the website, you can [open an issue on GitHub](https://github.com/jamulussoftware/jamuluswebsite/issues) or, if you don't have a GitHub account on [the relevant discussion forum](https://sourceforge.net/p/llcon/discussion/) on SourceForge. +* If you find a mistake, typo or something out of date (in any language) on the website, you can [open an issue on GitHub](https://github.com/jamulussoftware/jamuluswebsite/issues) or, if you don't have a GitHub account, on [the relevant discussion forum](https://sourceforge.net/p/llcon/discussion/) on SourceForge. * If you think some documentation or information is missing or can be improved, post about that on [the relevant discussion forum](https://sourceforge.net/p/llcon/discussion/) so that it can be discussed first. Have a look at the [CONTRIBUTING file](https://github.com/jamulussoftware/jamuluswebsite/blob/changes/CONTRIBUTING.md) for the website and the [Website GitHub repo](https://github.com/jamulussoftware/jamuluswebsite) for further information. -### I don't know GitHub. What do I need to know? +### I'm not familiar with GitHub. What do I need to know? **The following content is for the documentation on jamulus.io only, not for the Jamulus software!** diff --git a/wiki/en/en-Getting-Started.md b/wiki/en/en-Getting-Started.md index f8e2c7352..5180088b4 100644 --- a/wiki/en/en-Getting-Started.md +++ b/wiki/en/en-Getting-Started.md @@ -11,21 +11,21 @@ permalink: "/wiki/Getting-Started" 1. **A computer** running either **Windows 10**, **macOS** (**MacOS X** El Capitan v10.11 or higher), or **Linux**. 1. **A wired internet connection** (don't use Wi-Fi, it will cause sound problems). Most broadband connections will be fine[^1]. -1. **Wired headphones - not speakers** to prevent echo or feedback and to minimize delay[^2]. +1. **Wired headphones - not speakers** to prevent echo or feedback and to minimise delay[^2]. ## Maximise quality, minimise delay -### 1. Minimize internet traffic and close all programs on your PC +### 1. Minimise internet traffic and close all programs on your PC Try to make sure nothing on your machine or your network (like a video stream) is competing against Jamulus when you are using it. ### 2. Use an audio interface/external microphone, not your internal sound card -We strongly recommend – although you could start without it – to use an audio interface (a box you plug a microphone/instrument into and connect to your PC e.g. via USB) to enjoy higher quality sound with low latency in Jamulus. You can also use a USB microphone. See [recommended hardware](#recommended-hardware). +We strongly recommend – although you could start without it – using an audio interface (a box you plug a microphone/instrument into and connect to your PC e.g. via USB) to enjoy higher quality sound with low latency in Jamulus. You can also use a USB microphone. See [recommended hardware](#recommended-hardware). ### 3. Connect to the servers with the lowest ping times -Servers shown on the list with 15ms or below will give you the best chance of having a good time (although there's other things that affect performance too). Anything higher and you're taking your chances. +Servers shown on the list with 15 ms or below will give you the best chance of having a good time (although there are other things that affect performance too). Anything higher and you're taking your chances. Now that you have the basics down, let's go: @@ -62,8 +62,8 @@ Further information about how to avoid listening to yourself (and help with othe **Here's how millions of people are using Jamulus to play, sing and teach music with other people in real time, all over the world:** ![Overview](https://user-images.githubusercontent.com/4561747/79309764-bd387280-7ef2-11ea-9d81-1e81302525e6.png) -_Jamulus works on the client server principle. Everybody’s audio is sent to a server, mixed and processed there. Afterwards, the audio is sent to each client. If a server is made public and registered on a central server, its information will be broadcast to all clients._ +_Jamulus works on the client-server principle. Everybody’s audio is sent to a server, mixed and processed there. Afterwards, the audio is sent back to each client. If a server is made public and registered on a central server, its information will be broadcast to all clients._ ## Footnotes [^1]: [Full details here](Network-Requirements){: target="_blank" rel="noopener noreferrer"}. If you have 10 Mbit/s down and 1 Mbit/s up, you're unlikely to run into bandwidth-related issues. -[^2]: Bluetooth headphones usually have too much latency. That's one reason why wired headphones are required. Particularity if singing or playing acoustic instruments to make sure you keep in time with others only use headphones (see the [note on this](Getting-Started#having-trouble-cant-keep-in-time) for further information). +[^2]: Bluetooth headphones usually have too much latency. That's one reason why wired headphones are required. Particularly if singing or playing acoustic instruments, to make sure you keep in time with others, only use headphones (see the [note on this](Getting-Started#having-trouble-cant-keep-in-time) for further information). diff --git a/wiki/en/en-Hardware-Setup.md b/wiki/en/en-Hardware-Setup.md index ffaf8ca6b..aecd42239 100644 --- a/wiki/en/en-Hardware-Setup.md +++ b/wiki/en/en-Hardware-Setup.md @@ -17,7 +17,7 @@ permalink: "/wiki/Hardware-Setup" ## Example Setups -Setting up hardware usually burns down to 4 points, although each setup is different. +Setting up hardware usually boils down to 4 points, although each setup is different. 1. Plug the interface into a USB port on your computer 2. Close all programs and start Jamulus (don't forget to choose the right inputs in Jamulus's settings) @@ -27,14 +27,14 @@ Setting up hardware usually burns down to 4 points, although each setup is diffe ## Windows: Audio interface connection - ASIO4ALL -This is an example Windows client installation with audio device [Behringer U-CONTROL UCA202](https://www.amazon.com/Behringer-U-Phono-UFO202-Audiophile-Interface/dp/B002GHBYZ0). +This is an example Windows client installation with the [Behringer U-CONTROL UCA202](https://www.amazon.com/Behringer-U-Phono-UFO202-Audiophile-Interface/dp/B002GHBYZ0) audio device. The following instructions might be similar with other audio devices. _**The exact method of connecting your instrument will of course vary depending on your hardware.**_ #### 1. Plug the interface into a USB port on your computer -In the future, always use the same USB port for the audio device. +In future, always use the same USB port for the audio device. **Windows users**: If not already done: download and install the [free ASIO sound driver (ASIO4ALL)](https://www.asio4all.org){: target="_blank" rel="noopener noreferrer"}. Some people have also reported success using [this ASIO native driver](http://www.behringerdownload.de/_software/BEHRINGER_2902_X64_2.8.40.zip){: target="_blank" rel="noopener noreferrer"} __currently not available__, although it's not listed on Behringer's product pages as of April 2020. @@ -47,7 +47,7 @@ Make sure you have switched off the monitor button on your Behringer U-CONTROL U #### 3. Plug in your instrument and headphones -Connect your instrument to the input plugs of the Behringer U-CONTROL UCA202. Plug in your headphones into the Behringer U-CONTROL UCA202. +Connect your instrument to the input socket of the Behringer U-CONTROL UCA202. Plug your headphones into the Behringer U-CONTROL UCA202. #### 4. Connect to a Jamulus server. @@ -58,16 +58,16 @@ You're done! Have fun! Refer to the Linux [client install guide](Installation-for-Linux#configure-jack-with-qjackctl). ## Linux: Low Latency Kernels for Jamulus -You might want to install [Ubuntu Studio](https://ubuntustudio.org/) it adds a second options in your boot menu for a low-latency kernel. The key of successful jamming is "low latency" between servers and connected Jamulus clients. If the underlying Linux system is started with a low-latency then it has a positive impact on latency for your Jamulus Sessions. +You might want to install [Ubuntu Studio](https://ubuntustudio.org/). It adds a second option in your boot menu for a low-latency kernel. The key to successful jamming is "low latency" between servers and connected Jamulus clients. If the underlying Linux system is started with a low-latency kernel then it has a positive impact on latency for your Jamulus sessions. ## Points to note about inputs -- If you want to connect 2 or more sources (eg voice + synth + guitar), it is important to note that Jamulus currently handles only input 2 channels (L/R). So the hardware being used must provide a mixed-down stereo output to Jamulus. +- If you want to connect 2 or more sources (e.g. voice + synth + guitar), it is important to note that Jamulus currently handles only 2 input channels (L/R). So the hardware being used must provide a mixed-down stereo output to Jamulus. Alternatively, run two instances of Jamulus, if your hardware supports it, or use virtual audio inputs to Jamulus for each hardware input. - Audio interfaces generally output a mixed signal on their analogue output, but separate signals (1 per source) on their digital output (USB/FireWire/Thunderbolt). - Mixers generally only output mixed-down signals on their analogue output. -- Mixers with USB/FireWire/Thunderbolt generally output mixed-down signal on their **analogue** output AND separate signals only (no mixed-down signal) on their **digital** output. -- A few Mixers with USB/FireWire/Thunderbolt will either send **only** a mixed down signal to the **digital** output (small/budget mixers), or else also ADD a stereo mix-down signal to the separate signals on the digital output. +- Mixers with USB/FireWire/Thunderbolt generally output a mixed-down signal on their **analogue** output AND separate signals only (no mixed-down signal) on their **digital** output. +- A few Mixers with USB/FireWire/Thunderbolt will either send **only** a mixed-down signal to the **digital** output (small/budget mixers), or else also ADD a stereo mixed-down signal to the separate signals on the digital output. _(Thanks to [pcar75](https://github.com/pcar75) for this information)_ @@ -75,7 +75,7 @@ _(Thanks to [pcar75](https://github.com/pcar75) for this information)_ **This video documents a [live jam session](https://youtu.be/c8838jS2g3U).** I am using a Lexicon Omega USB audio card on a 2009 Mac Mini. My bandmates all use Windows 10 and have Behringer audio cards, e.g. the Behringer Xenyx 1204USB. My internet connection is 10 Mbit/s down / 1 Mbit/s upstream via DSL. -**Jamulus user [Andrew Evans](https://sourceforge.net/u/belvario/profile/)**: With bandmates all within one city (but spanning 2 ISPs) and achieving consistent 20ms ping time, running the server on a separate dedicated Windows machine and a client on a MacBook Pro. Remote players on MacBook Air. Everyone on wired Ethernet connections to their home router/gateways. We used WhatsApp video to see each other (with audio muted - it's funny to see how far behind the WhatsApp audio lags from Jamulus though!) +**Jamulus user [Andrew Evans](https://sourceforge.net/u/belvario/profile/)**: With bandmates all within one city (but spanning 2 ISPs) and achieving a consistent 20 ms ping time, running the server on a separate dedicated Windows machine and a client on a MacBook Pro. Remote players on MacBook Air. Everyone on wired Ethernet connections to their home router/gateways. We used WhatsApp video to see each other (with audio muted - it's funny to see how far behind the WhatsApp audio lags from Jamulus though!) ## Having problems? diff --git a/wiki/en/en-Installation-for-Linux.md b/wiki/en/en-Installation-for-Linux.md index 516e815c4..78018e468 100644 --- a/wiki/en/en-Installation-for-Linux.md +++ b/wiki/en/en-Installation-for-Linux.md @@ -16,6 +16,7 @@ Although we don't provide official packages for every Linux distribution, you mi [![Packaging status](https://repology.org/badge/vertical-allrepos/jamulus.svg)](https://repology.org/project/jamulus/versions) + There is also list of unofficial [packages for different distributions here](https://github.com/jamulussoftware/jamulus/discussions/914). ### Flatpak @@ -53,7 +54,7 @@ tar -xvf latest.tar.gz ### Install dependencies -First, update your package list (e.g. on Debian based distributions with `sudo apt-get update`). +First, update your package list (e.g. on Debian-based distributions with `sudo apt-get update`). On **Ubuntu-based** distributions 18.04+, **Debian** 9+ or 10 and Raspberry Pi Raspbian Buster release or later: @@ -75,7 +76,7 @@ sudo dnf install qt5-qtdeclarative-devel jack-audio-connection-kit-dbus libQt5Co sudo apt-get install qjackctl ``` -You may also wish to consider using a [low-latency kernel](https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel) (eg. for Ubuntu 18.04: `sudo apt-get install linux-lowlatency-hwe-18.04`). +You may also wish to consider using a [low-latency kernel](https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel) (e.g. for Ubuntu 18.04: `sudo apt-get install linux-lowlatency-hwe-18.04`). ### Compile this bad boy @@ -103,14 +104,14 @@ You can now delete the sources directory you compiled from. ### Configure JACK with QjackCtl Jamulus clients need [JACK](https://jackaudio.org/) to run, but you need to configure that first. The recommended method is to use `QjackCtl`. 1. Open the command shell e.g. with Ctrl-Alt-T and -1. Execute the command `qjackctl` you will see the **JACK Audio Connection Kit** +1. Execute the command `qjackctl`. You will see the **Qt JACK Control utility main page** 2. Configure your audio interface as follows (the exact settings for JACK will depend on what your audio interface/sound card is capable of): - Set the audio **Interface** to the one you want (there may be several in the list) - Set the **Sample Rate to 48000** - Set the **Frames/Period to 128** and Periods/Buffer at 2 at first -Restart JACK to take any new settings +Restart JACK for the new settings to take effect ### Start Jamulus @@ -130,12 +131,12 @@ Download the new sources as per [Get Jamulus](Installation-for-Linux#get-jamulus ## Notes for geeks -* The "make clean" is essential to remove the automatically generated Qt files which are present in the .tar.gz file and may not match the Qt version you are using. +* The "make clean" command is essential to remove the automatically generated Qt files which are present in the .tar.gz file and may not match the Qt version you are using. -* To use an external shared OPUS library instead of the built-in use qmake `"CONFIG+=opus_shared_lib" Jamulus.pro`. +* To use an external shared OPUS library instead of the built-in one use qmake `"CONFIG+=opus_shared_lib" Jamulus.pro`. * To use this file configure the software with `qmake "CONFIG+=noupcasename" Jamulus.pro` to make sure the output target name of this software is **j**amulus instead of **J**amulus. -* Users of Raspberry Pi: You may want to compile the client on another machine and run the binary on the Raspberry Pi. In which case, the only libraries you need to run it are those for a [headless server](Server-Linux#running-a-headless-server) build, but _with_ the JACK sound packages. Especially have a look at the footnote for the headless build. +* Users of Raspberry Pi: You may want to compile the client on another machine and run the binary on the Raspberry Pi. In which case the only libraries you need to run it are those for a [headless server](Server-Linux#running-a-headless-server) build, but _with_ the JACK sound packages. In particular, have a look at the footnote for the headless build. * As of version 3.5.3, Jamulus is no longer compatible with Qt4. diff --git a/wiki/en/en-Installation-for-Macintosh.md b/wiki/en/en-Installation-for-Macintosh.md index 9af21741c..c22f0227e 100644 --- a/wiki/en/en-Installation-for-Macintosh.md +++ b/wiki/en/en-Installation-for-Macintosh.md @@ -28,7 +28,7 @@ The first time you try to double-click Jamulus to run it, you will probably see To open Jamulus 1. Navigate to the Applications folder via Finder -1. Double-click on Jamulus and wait for the mentioned message +1. Double-click on Jamulus and wait for the above-mentioned message 1. Close this message by clicking on "Cancel" 1. Now control-click (or right-click) on Jamulus, and select "Open" from the top of the menu. diff --git a/wiki/en/en-Installation-for-Windows.md b/wiki/en/en-Installation-for-Windows.md index 24c1c70e8..3cdab045f 100644 --- a/wiki/en/en-Installation-for-Windows.md +++ b/wiki/en/en-Installation-for-Windows.md @@ -14,7 +14,7 @@ Make sure you read the [Getting Started](Getting-Started) page. **Mirror 2:** [SourceForge](https://sourceforge.net/projects/llcon/files/latest/download) 1. **Install Jamulus**: Double click the installer to launch it. If you get a warning notice from SmartScreen, click on "More info" and "Run anyway" to install Jamulus. (If you grabbed a new version of Jamulus and are one of the first people who downloaded it, Jamulus won't be whitelisted by SmartScreen yet. We don't pay for code signing.) 1. **Run Jamulus**. Now you should be able to use Jamulus just like any other application. -1. **Setup your sound card**. When you're done, you need to setup your audio hardware. Have a look at how to setup ASIO4ALL if you you're using that and/or [Hardware Setup](Hardware-Setup). +1. **Set up your sound card**. When you're done, you need to set up your audio hardware. Have a look at how to set up ASIO4ALL if you're using that and/or [Hardware Setup](Hardware-Setup). *** @@ -31,33 +31,33 @@ Jamulus uses [ASIO](https://en.wikipedia.org/wiki/Audio_Stream_Input/Output) to For ASIO4ALL ([download](http://www.asio4all.org){: target="_blank" rel="noopener noreferrer"}), you may need to experiment a bit to find the right configuration since every computer is a bit different. -**Tip:** Setup your sound card while you're [connected to a server](Onboarding#2-connecting-to-a-server) to hear your instrument or voice and check if everything is correctly setup, but first read on. +**Tip:** Set up your sound card while you're [connected to a server](Onboarding#2-connecting-to-a-server) to hear your instrument or voice and check if everything is correctly set up; but first read on. Before you start with Jamulus: 1. **Close all applications** (especially those which could access your sound card like your browser/media player) since Jamulus needs exclusive access to your sound card. Other programs will not be able to use audio if ASIO4ALL and Jamulus are running. 1. If the Jamulus audio doesn’t work out of the box, make sure that only the **correct inputs/outputs** in ASIO4ALL **are switched on**. Everything else should be switched off. This can be done as follows: -### How to setup ASIO4ALL inputs (Guide) +### How to set up ASIO4ALL inputs (Guide) 1. Open Jamulus's settings 1. Go to _"ASIO Settings"_ (column on the left) 1. Enable _advanced view_ in ASIO4ALL (click the tool icon on the bottom right) 1. Enable only the sound card you want to use by clicking on the button next to its name -1. Open your sound card inputs by clicking the _plus icon_ next to this sound card +1. Open your sound card inputs/outputs by clicking the _plus icon_ next to this sound card 1. Now enable the correct inputs/outputs in the list under your sound card and disable everything else **Hint:** Many internal sound cards are named Realtek High Definition Audio, Conexant or similar. -Concerning the inputs/outputs: Headphones and speakers are often labelled as output and microphones as inputs or capture. Stereo Mix is usually not the input/output you search for, therefore you can switch it off, if you see it. +Concerning the inputs/outputs: Headphones and speakers are often labelled as output and microphones as inputs or capture. Stereo Mix is usually not the input/output you're looking for and therefore you can switch it off if you see it. -### Having trouble with ASIO4ALL setup? +### Having trouble setting up ASIO4ALL? If nothing works, first restart Jamulus and/or your PC to close background processes that may be accessing your sound card. -Afterwards, *set up the inputs/outputs again*. Enabled and accessible input/outputs show as lit up power buttons and play buttons. If instead, you see a red cross or yellow symbol, close other applications that may be accessing your sound card (e.g browser, Zoom, etc). +Afterwards, *set up the inputs/outputs again*. Enabled and accessible input/outputs show as lit up power buttons and play buttons. If instead you see a red cross or yellow symbol, close other applications that may be accessing your sound card (e.g. browser, Zoom, etc). -Have a look at [this video](https://youtu.be/_GzOsitVgLI) from [trombonepizza](https://github.com/trombonepizza) which gives more detailed setup information on ASIO4ALL. +Have a look at [this video](https://youtu.be/_GzOsitVgLI) by [trombonepizza](https://github.com/trombonepizza) which gives more detailed setup information on ASIO4ALL. Official and further information about how to configure ASIO4ALL is documented in the official [ASIO4ALL FAQs on the ASIO4ALL website](https://www.asio4all.org/index.php/help/faq/){: target="_blank" rel="noopener noreferrer"} and in the [ASIO4ALL manual here](http://index-of.co.uk/Audio/ASIO4ALL%20v2%20Instruction%20Manual.pdf). (The manual can also be found on your desktop or in the folder where the ASIO4ALL binary is installed (usually `C:\Program Files (x86)\ASIO4ALL v2\`)). diff --git a/wiki/en/en-Network-Requirements.md b/wiki/en/en-Network-Requirements.md index de2153217..0ecc805d1 100644 --- a/wiki/en/en-Network-Requirements.md +++ b/wiki/en/en-Network-Requirements.md @@ -9,7 +9,7 @@ permalink: "/wiki/Network-Requirements" ## Audio bandwidth -The audio settings have an impact on the required network bandwidth. The below table summarises network requirements with respect to the configuration of: +The audio settings have an impact on the required network bandwidth. The table below summarises network requirements with respect to the configuration of: * Channels : stereo/mono * Quality : high/medium/low * Audio buffer duration : 2.67 ms, 5.33 ms, 10.67 ms, 21.33 ms @@ -19,7 +19,7 @@ With the following units * Kbit/s : Kilo-bits per second (Reminder : 1 Mbit/s = 1024 Kbit/s, 1 KByte/s = 8 Kbit/s) * Mbit/s : Mega-bits per second -| Channels | Quality | Bandwidth (for buffer : 2.67 ms) | Bandwidth (for buffer : 5.33ms) | Bandwidth (for buffer : 10.67 ms) | Bandwidth (for buffer : 21.33 ms) | +| Channels | Quality | Bandwidth (for buffer : 2.67 ms) | Bandwidth (for buffer : 5.33 ms) | Bandwidth (for buffer : 10.67 ms) | Bandwidth (for buffer : 21.33 ms) | | --------- | ------ | -------- | -------- | -------- | -------- | | Stereo | High | 894 Kbit/s | 657 Kbit/s | 541 Kbit/s | 483 Kbit/s | | Stereo | Medium | 672 Kbit/s | 444 Kbit/s | 328 Kbit/s | 270 Kbit/s | @@ -33,4 +33,4 @@ With the following units There is one upstream (musician sending to the server) and one downstream (server sending back the mix to the musician) ![image](https://user-images.githubusercontent.com/9976944/79274940-999b0b00-7ea5-11ea-85be-3ded5ee198d5.png) -Note also that mean ADSL2 transfer rate is 10 Mbit/s for downstream and 1 Mbit/s for upstream. The actual performance depends on distance to the provider, which may [theoretically range from 24 Mbit/s at 0.3km to 1.5 Mbit/s at 5.2km](https://en.wikipedia.org/wiki/Asymmetric_digital_subscriber_line) for download rate. +Note also that mean ADSL2 transfer rate is 10 Mbit/s for downstream and 1 Mbit/s for upstream. The actual performance depends on distance to the provider, which may [theoretically range from 24 Mbit/s at 0.3 km to 1.5 Mbit/s at 5.2 km](https://en.wikipedia.org/wiki/Asymmetric_digital_subscriber_line) for download rate. diff --git a/wiki/en/en-Onboarding.md b/wiki/en/en-Onboarding.md index 48489a329..40f1a2622 100644 --- a/wiki/en/en-Onboarding.md +++ b/wiki/en/en-Onboarding.md @@ -62,6 +62,8 @@ If you need help or want to contribute to the Jamulus Project, you can have a lo For help, chat, and general discussions about Jamulus: Have a look at the [forums on SourceForge](https://sourceforge.net/p/llcon/discussion/). ### Development and contribution -If you want to contribute to the Jamulus Software, have a look at the [Jamulus GitHub repository](https://github.com/jamulussoftware/jamulus/) and read the contributing file there. + +If you want to contribute to the Jamulus Software, have a look at the [Jamulus GitHub repository](https://github.com/jamulussoftware/jamulus/) and read the `CONTRIBUTING.md` file there. + diff --git a/wiki/en/en-Running-a-Private-Server.md b/wiki/en/en-Running-a-Private-Server.md index 814dbb7e4..735a2cc35 100644 --- a/wiki/en/en-Running-a-Private-Server.md +++ b/wiki/en/en-Running-a-Private-Server.md @@ -17,7 +17,7 @@ It is highly recommended to test your server in **public mode first** so as to n ## Operating a private server behind a home network router ### Port forwarding -To run a private server, you need to setup port forwarding on your router. _(If you are curious about why you need to do this for private but not public servers, see [this footnote](#footnote-for-geeks).)_ +To run a private server, you need to set up port forwarding on your router. _(If you are curious about why you need to do this for private but not public servers, see [this footnote](#footnote-for-geeks).)_ Normally, people from outside your home network cannot see things inside it. So if you want to operate a Jamulus server at home, you need to open a hole in your router to let Jamulus clients connect to it. diff --git a/wiki/en/en-Running-a-Server.md b/wiki/en/en-Running-a-Server.md index b1d2df279..6efa3d7b6 100644 --- a/wiki/en/en-Running-a-Server.md +++ b/wiki/en/en-Running-a-Server.md @@ -33,9 +33,9 @@ If you really want to run a server, it's **very important** that you read and un Many people attribute problems to the server that are in fact problems with the _client_. Much depends on the clients' [hardware](Hardware-Setup), the networks that _they_ are on, and whether they are sticking to [Rule Number One](Getting-Started#having-trouble-cant-keep-in-time). There is therefore no guarantee that you will achieve lower latency or better overall performance by having your own server. -If you plan to be playing regularly with the same people, **you are strongly advised** to first make sure that each member of the group is set up to use Jamulus properly. Do this by finding a public server with a reasonable ping time for all of you (20ms or less perhaps), all connect to that and work to fix any individual issues (verifying that they can [follow Rule Number One](Getting-Started#having-trouble-cant-keep-in-time) in particular). Use the solo technique above to prevent being interrupted if needed. +If you plan to be playing regularly with the same people, **you are strongly advised** to first make sure that each member of the group is set up to use Jamulus properly. Do this by finding a public server with a reasonable ping time for all of you (20 ms or less perhaps), all connect to that and work to fix any individual issues (verifying that they can [follow Rule Number One](Getting-Started#having-trouble-cant-keep-in-time) in particular). Use the solo technique above to prevent being interrupted if needed. -Once any issues with musicians have been solved in this way, you can then investigate hosting your own server either at home or on a cloud host such as Amazon, which may result in better latency than servers run at home. For example, [see this guide](https://www.facebook.com/notes/jamulus-worldjam/howto-idiots-guide-to-installing-or-upgrading-a-jamulus-server-on-amazon-aws-lig/818091045662521/) to using AWS Lightsail by Jamulus user [Simon Tomlinson](https://www.facebook.com/simon.james.tomlinson?eid=ARBQoY3KcZAtS3pGdLJuqvQTeRSOo4gHdQZT7nNzOt1oPMGgZ4_3GERe-rOyH5PxsSHVYYXjWwcqd71a) (_Facebook_) +Once any issues with musicians have been solved in this way, you can then investigate hosting your own server either at home or on a cloud host such as Amazon, which may result in better latency than servers run at home. For example, [see this guide](https://www.facebook.com/notes/jamulus-worldjam/howto-idiots-guide-to-installing-or-upgrading-a-jamulus-server-on-amazon-aws-lig/818091045662521/) for using AWS Lightsail, by Jamulus user [Simon Tomlinson](https://www.facebook.com/simon.james.tomlinson?eid=ARBQoY3KcZAtS3pGdLJuqvQTeRSOo4gHdQZT7nNzOt1oPMGgZ4_3GERe-rOyH5PxsSHVYYXjWwcqd71a) (_Facebook_) ### Bandwidth – do you have enough? @@ -43,7 +43,7 @@ A typical jam might have 4 people, for which you would need 200 Kbit/s * 4 = 800 ### In general -- Consider using a cloud host to get better ping times if you having problems +- Consider using a cloud host to get better ping times if you're having problems - Any server should have at least 1.6GHz CPU frequency and 1GB RAM @@ -60,7 +60,7 @@ A typical jam might have 4 people, for which you would need 200 Kbit/s * 4 = 800 For Linux users -If you want to run a server on a Raspberry Pi, have a look at the [guide for Raspberry Pi](/kb/2020/03/28/Server-Rpi.html) from fredsiva. +If you want to run a server on a Raspberry Pi, have a look at the [guide for Raspberry Pi](/kb/2020/03/28/Server-Rpi.html) by fredsiva. Server operators may also be interested in downloading [this set of useful tools](https://github.com/jamulussoftware/jamulus/tree/master/tools) from the Jamulus repository (clone the Git repo and also call `git submodule update --init`). diff --git a/wiki/en/en-Server-Linux.md b/wiki/en/en-Server-Linux.md index f4db4c9ab..40faa48de 100644 --- a/wiki/en/en-Server-Linux.md +++ b/wiki/en/en-Server-Linux.md @@ -211,7 +211,7 @@ You can see the result of these commands if you run `service jamulus status`, or ### Viewing The Logs -Jamulus will log to the system file if you left the `StandardOutput=journal` setting in the unit file. Logging to the system log is recommended, as the system will manage the log file for you, no need to come back and purge it later, or worry about filling up your disk space. +Jamulus will log to the system file if you left the `StandardOutput=journal` setting in the unit file. Logging to the system log is recommended, as the system will manage the log file for you - no need to come back and purge it later or worry about filling up your disk space. To view the log, use `journalctl` (to exit press Ctrl-C). For example, to read the system log file, filtered for the Jamulus service: diff --git a/wiki/en/en-Server-Troubleshooting.md b/wiki/en/en-Server-Troubleshooting.md index 94b6814f6..bcf52477d 100644 --- a/wiki/en/en-Server-Troubleshooting.md +++ b/wiki/en/en-Server-Troubleshooting.md @@ -11,7 +11,7 @@ permalink: "/wiki/Server-Troubleshooting" ## Servers - Public -### Why doesn't my server show up in the list? Why isn't in registering? +### Why doesn't my server show up in the list? Why isn't it registering? If you are registered OK (you can [see it here](https://explorer.jamulus.io/)) and you or your friends can't see your server, you may need to wait, or start your client with the `--showallservers` option and try connecting from there ([see this page](Command-Line-Options) on how to start your client with a config option). @@ -39,7 +39,7 @@ Yes. Please see [Server Types](Choosing-a-Server-Type) ### Can I convert my private server to being a public one? -Yes. Simply check the "Make my Server Public" box in the server window and fill out the details. Remember that you also do not need to port forward if you have a public server. +Yes. Simply check the "Make my Server Public" box in the server window and fill out the details. If you register your server, do not use port forwarding as it may prevent others using your server. ### **_Headless Linux_**: I have created a server but it is joining the Central Server and I don't want it to. diff --git a/wiki/en/en-Server-Win-Mac.md b/wiki/en/en-Server-Win-Mac.md index a7344b330..b9eadc067 100644 --- a/wiki/en/en-Server-Win-Mac.md +++ b/wiki/en/en-Server-Win-Mac.md @@ -26,13 +26,13 @@ permalink: "/wiki/Server-Win-Mac" 1. Type in the name, city and country so that other users can easily identify you. -1. Specify a musical genre if you wish. This will make your server appear in the relevant server list for clients (see more [details on Central Servers](Central-Servers)). +1. Specify a music genre. This will make your server appear in the relevant server list for clients (see more [details on Central Servers](Central-Servers)). _The Chat Welcome Message appears to all users when they join the server (the chat window will open automatically for them)._ ### Private server setup -If you do not check the "Make My Server Public", you will be running a private server and need to [read these instructions](Running-a-Private-Server). +If you do not check "Make My Server Public", you will be running a private server and need to [read these instructions](Running-a-Private-Server). _If you want to **run a client on the same machine** you should **connect the client to `127.0.0.1`** for best performance. (Similarly, if you want to connect a client on another machine on your LAN, use the server's LAN IP address)._ diff --git a/wiki/en/en-Software-Manual.md b/wiki/en/en-Software-Manual.md index bf3e8e62b..8eeb40f49 100644 --- a/wiki/en/en-Software-Manual.md +++ b/wiki/en/en-Software-Manual.md @@ -52,7 +52,7 @@ Make sure not to clip the input signal to avoid distortions of the audio signal The chat text entered in that dialog is sent to all connected clients. If a new chat message arrives and the Chat dialog is not already open, it will -opened automatically for all clients. +open automatically for all clients. ### Profile window @@ -72,7 +72,7 @@ pressing this button will end the session. ![Connect dialog](https://user-images.githubusercontent.com/20726856/97360965-31d76b00-189f-11eb-870b-f58be6e30f04.png) -The Connection Setup window shows a list of available servers together with the number of occupants and the maximum number supported. Server operators can optionally list their servers by musical genre. Use the List dropdown to select a genre, click on the server you want to join and press the Connect button to connect to it. Alternatively, double-click on the server name. Permanent servers (those that have been listed for longer than 24 hours) are shown in bold. +The Connection Setup window shows a list of available servers together with the number of occupants and the maximum number supported. Server operators register their servers on lists (mostly defined by genre, though some could be location-specific or for all genres). Use the List dropdown to select a genre, click on the server you want to join and press the Connect button to connect to it. Alternatively, double-click on the server name. Permanent servers (those that have been listed for longer than 24 hours) are shown in bold. You can filter the list by server name or location. To list only occupied servers, enter a "#" character. @@ -171,7 +171,7 @@ In this case the buffer delay setting is disabled and has to be changed using th On Linux, use the JACK configuration tool to change the buffer size. The actual buffer delay has an influence on the connection status, the current upload rate and the overall delay. -The lower the buffer size, the higher the probability of a red light in the status indicator (drop outs) and the +The lower the buffer size, the higher the probability of a red light in the status indicator (dropouts) and the higher the upload rate and the lower the overall delay. ![Buffer delay dependencies](https://user-images.githubusercontent.com/20726856/97361878-816a6680-18a0-11eb-8c1f-fbf956be4b81.png) @@ -246,8 +246,10 @@ Leave this blank unless you need to enter the address of a central server other ![Indicators](https://user-images.githubusercontent.com/20726856/97362338-271dd580-18a1-11eb-99b7-02c9371a6258.png) The Ping Time is the time required for the audio stream to travel from the client to the server and back again. -This delay is introduced by the network and should about 20-30ms. If this delay is higher than about 50ms, -your distance to the server is too large or your internet connection is not sufficient. +This delay is introduced by the network and ideally should be about 20-30 ms. When this delay is higher than about 50 ms, it starts to become +more noticeable and you may find it harder to keep in time, though it is still possible once you get used to it. Factors such as tempo, the instrument +played or headphone isolation will have an impact on the delay you find you can deal with. +The most probable causes for a high delay are that your distance to the server is too large or your internet connection is not sufficient. Overall Delay is calculated from the current Ping Time and the delay introduced by the current buffer settings. diff --git a/wiki/en/en-Tips-Tricks-More.md b/wiki/en/en-Tips-Tricks-More.md index 6adfd6bb0..d830d8716 100644 --- a/wiki/en/en-Tips-Tricks-More.md +++ b/wiki/en/en-Tips-Tricks-More.md @@ -13,9 +13,9 @@ Jamulus user [Chris Rimple](https://sourceforge.net/u/chrisrimple/profile/) has ## Using Jamulus audio in Zoom (or other) meeting apps -Several users have reported success allowing a "virtual audience" for a Jamulus session by using [JACK audio](https://jackaudio.org) to route the Jamulus signal through the JackRouter to the target application (in this case, Zoom meetings). +Several users have reported success allowing a "virtual audience" for a Jamulus session by using [JACK audio](https://jackaudio.org) to route the Jamulus signal through JackRouter to the target application (in this case, Zoom meetings). -You can also use [VoiceMeeter](https://www.vb-audio.com/Voicemeeter/banana.htm) (Banana) for Windows or [BlackHole](https://github.com/ExistentialAudio/BlackHole) for macOS to route Jamulus output to multiple destinations, for example to your headphones and the meeting application at the same time. +You can also use [VoiceMeeter](https://www.vb-audio.com/Voicemeeter/banana.htm) (Banana) for Windows or [BlackHole](https://github.com/ExistentialAudio/BlackHole) for macOS to route the Jamulus output to multiple destinations, for example to your headphones and the meeting application at the same time. ## Recording Jamulus on Windows with Reaper @@ -29,7 +29,7 @@ Jamulus user [BTDT](https://sourceforge.net/u/btdt/profile/) has written a syste ## Making a server status page -With the `-m` command line argument a server statistic information can be generated to be put on a web page. +With the `-m` command line argument, server statistic information can be generated to be put on a web page. Here is an example php script using the server status file to display the current server status on a html page (assuming the following command line argument to be used: `-m /var/www/stat1.dat`): @@ -96,8 +96,14 @@ jack_connect Jamulus:'output right' system:playback_2 ## Using ctrlmidich for MIDI controllers -The volume faders in the client's mixer window can be controlled using a MIDI controller by using the `--ctrlmidich` parameter (note: only available for use with macOS and Linux). To enable this feature, Jamulus must be launched with `--ctrlmidich`. There are two parameters you can set: `Channel` and `Offset`. Set the first parameter to the channel you want Jamulus to listen on (0 for all channels) and the second parameter to the Control Number you want the first fader to react to. By default, the offset is 70 (for the Behringer X-Touch), which means that the first fader reacts to Control Number 70, the second to 71, and so on. +The volume fader, pan control and mute and solo buttons in the client's mixer window strips can be controlled using a MIDI controller by using the `--ctrlmidich` parameter (note: only available for use with macOS and Linux using Jamulus version 3.7.0 or higher). To enable this feature, Jamulus must be launched with `--ctrlmidich`. There is one global MIDI channel parameter (1-16) and two parameters you can set for each item controlled: `offset` and `consecutive CC numbers`. Set the first parameter to the channel you want Jamulus to listen on (0 for all channels) and then specify the items you want to control (f = volume fader; p = pan; m = mute; s = solo) with the offset (CC number to start from) and number of consecutive CC numbers. Take the following example: -So for example, if you're using a Behringer X-Touch, sending MIDI on channel 1 and leaving the offset at default, the command would look like this: `--ctrlmidich 1`. If you have a different controller, e.g. sending MIDI on channel 2 and starting with Control Number 30, the command would be as follows: `--ctrlmidich "2;30"` +`--ctrlmidich '1;f0*8;p16*8;s32*8;m48*8'` + +Here, Jamulus listens on MIDI channel 1. Volume fader CC numbers start at 0 and there are 8 of them (so end at CC number 7). Pan controls start at CC number 16 and end at 23; Solo 32 to 39 and Mute 48 to 55. + +Fader strips in the mixer window are controlled in ascending order from left to right. Continuing with the above example, in strip number 1 (farthest left), the volume fader would be controlled by CC number 0; pan by 16; solo by 32 and mute by 48. As we have specified 8 consecutive controllers for each parameter, this would give us MIDI control over 8 strips (volume, pan, solo and mute in each one) in the mixer window. The next strip would be controlled by 1, 17, 33 and 49, and so forth. + +*Note*: Jamulus does not provide feedback on the state of the Solo and Mute buttons, meaning that your controller must keep track and toggle LEDs (if any) to 'on' or 'off' itself. Make sure you connect your MIDI device's output port to the Jamulus MIDI in port (QjackCtl (Linux), MIDI Studio (macOS) or whatever you use for managing connections). In Linux you will need to install and launch a2jmidid so your device shows up in the MIDI tab in Qjackctl.