From 09fa846aaf152d72ade54ddc6bc8c2e45ff85532 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Thu, 10 Dec 2020 09:09:32 +0100 Subject: [PATCH 1/9] Add Software Synth by @niebert --- ...{2020-10-19-Software-Synth.md => 2020-12-10-Software-Synth.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename _posts/{2020-10-19-Software-Synth.md => 2020-12-10-Software-Synth.md} (100%) diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md similarity index 100% rename from _posts/2020-10-19-Software-Synth.md rename to _posts/2020-12-10-Software-Synth.md From ae451163205995d2d39838a36d23ed292bebd01c Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Thu, 10 Dec 2020 09:12:17 +0100 Subject: [PATCH 2/9] Update 2020-12-10-Software-Synth.md --- _posts/2020-12-10-Software-Synth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md index d802a7ce3..adf6b9a9e 100644 --- a/_posts/2020-12-10-Software-Synth.md +++ b/_posts/2020-12-10-Software-Synth.md @@ -5,7 +5,7 @@ lang: "en" author: "niebert" heading: "Software Synth in Jamulus" --- -This post will discuss how to setup a software synth in Jamulus. +This article will discuss how to setup a software synth in Jamulus. ## Linux From a5c7e593a6c035b0b922435366b21e6daa414af6 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Thu, 10 Dec 2020 21:17:00 +0100 Subject: [PATCH 3/9] First review --- _posts/2020-12-10-Software-Synth.md | 58 +++++++++++++++-------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md index adf6b9a9e..fce295c2f 100644 --- a/_posts/2020-12-10-Software-Synth.md +++ b/_posts/2020-12-10-Software-Synth.md @@ -5,41 +5,45 @@ lang: "en" author: "niebert" heading: "Software Synth in Jamulus" --- -This article will discuss how to setup a software synth in Jamulus. +This article will show you how to use a software synth with Jamulus. + ## Linux -We will elaborate the concept of playing a software synth on Linux as example and transfer that to other operating systems (e.g. Windows, MacOSX). -* **(Hammond Organ Synth)** As an example we talk open source software synth [setBfree](https://github.com/pantherb/setBfree), which is a hammond organ emulator that outputs through JACK on Linux. -* **(MIDI Keyboard)** The MIDI keyboard is used to generate the key pressed events, that are transmitted through a USB-MIDI interface to Linux system and the Synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding tone for the pressed key. In general the MIDI keyboard can also be replaced by a digital wind midi controller, that does the same but the tone is dependent on how the musician blows air into the digital wind controller. -* **(Connector to Jamulus)** You may hear the audio output of your Linux system on your speakers but the audio output may not be use as input for your Jamulus session. So another step is to connect the audio out to Jamulus client (with QJackCtl). +We will look at the concept of playing a software synth on Linux but other operating systems should work similar. +Let's have a look at what we need: +1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which in this example emulates an organ and outputs its audio to JACK on Linux. +2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, that are transmitted through a USB-MIDI interface to your Operating System. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller). +3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to the Jamulus client (this can be done with QJackCtl). ### General Information about ALSA, JACK and MIDI -First of all we explain a few basic concepts on Linux to use MIDI and Audio together. -* ALSA is the basic to connection to the hardware, i.e. the soundcard and the midi controller for the keyboard. -* JACK is build on top of ALSA and uses ALSA for the audio output. It provides a adequat environment for music production on Linux. -* Synthesizer like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connect to JACK for audio output. -* Jamulus connects to JACK. - -### Requirements for Using Software Synths in Jamulus on Linux -For ALSA2JACK MIDI (`a2jmidid`) connection it is necessary to install the a2j package. Furthermore we use in this example a simple Hammond organ emulator `setBfree` in this example. Replace `setBfree` by your favorite Linux synthesizer. Both packages `a2jmidid` and `setbfree` can be installed via your package manager or e.g. on Ubuntu/Mint with `apt-get` commands: +This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI. +* **ALSA** is the basic layer to connect to the hardware, i.e. the soundcard and the midi controller for the keyboard. +* **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux. +* A **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there. +* **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer). + +### Requirements for using Software Synths in Jamulus on Linux +If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package. To connect it to JACK. Since we use `setBfree` in this example, you also need a software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands: ```shell sudo apt-get install a2jmidid sudo apt-get install setbfree ``` ### Connecting ALSA, JACK and MIDI for a Synth for Jamulus -Now we look an the workflow to use the whole infrastructure in Jamulus. -* **(Jamulus Installation and JACK)** Use the [install script](https://github.com/corrados/jamulus/wiki/Linux-Client-Install-Script) for Jamulus on Linux or [install Jamulus with the manual in the wiki](https://github.com/corrados/jamulus/wiki/Installation-for-Linux). With this installation we have JACK and QJackCtl installed for Jamulus. -* **(ALSA to JACK - MIDI)** Next we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree). - * ***(Command Line: `qjackctl`)*** For this step you can start JACK-Control (QJackCtl) from the command line by `qjackctl`, - * ***(Command Line: `a2jmidid -e`)*** Then you launch the ALSA2JACK MIDI connector with command: `a2jmidid -e`. As long as this connector runs in the shell the `a2j` connection interface is visible in `QJackCtl`. - * ***(QJackCtl: `ALSA-MIDI`)*** Connect your USB MIDI as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. Now the midi events from your keyboard reach JACK and are ready to connect. - * ***(Start Synth)*** Start the Hammond Synthesizer too e.g. from the command line with `setBfree`. You will see the `setBfree` graphical user interface GUI (see http://setbfree.org/gui_3d). Press with your mouse on the visualised organ keyboard to test if the synth generates an organ sound on your speakers. - * ***(QJackCtl: `JACK-MIDI`)*** Now we can connect `a2j` in JACK-MIDI as input to the synth `setBfree`, that generates the sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to the `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl. - * ***(Test Software Synth with MIDI Keyboard)*** If you have speakers attached to your Linux Computer you would hear the emulated Hammond sound on your Linux PC for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard you are ready to play from here. The only remaining step is to connect the audio to Jamulus. -* **(Synth to Jamulus - Audio)** In the previous step we connected the MIDI signals from your keyboard to the MIDI input of JACK via a2j - MIDI through connection. Now JACK the MIDI which tell JACK which keys are pressed on the keyboard. Now create an audio connection in JACK (i.e. the generated Hammond sound of the synth). We connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore Jamulus must be started so that you see also Jamulus in the audio connection of QJackCtl. Now you can the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. - -In general `QJackCtrl` is used similar operations like for plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. Have fun with your other OpenSource synths like QSynth, [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) than can be installed on your Linux system and/or used within LMMS. - -Have fun playing your synth within Jamulus. +Let's have a look at the workflow and the infrastructure in Jamulus. +1. Install Jamulus (You've probably already done that). If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started). If you use Linux and have followed the instructions, JACK and QJackCtl should have been installed. +2. **ALSA to JACK - MIDI** Next we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. + * Open Qjackctl e.g. from the command line by typing `qjackctl` + * Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl`. + * Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK. + * Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: http://setbfree.org/gui_3d). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers. + * In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth `setBfree`, that generates the sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to the `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl. + * Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your Linux Computer you should hear the emulated Hammond sound on your Linux PC for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus. +**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done. + +`QJackCtrl` can be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. + +Have fun with other OpenSource synths like QSynth, [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system and/or used within LMMS. + +Have fun playing your synth within Jamulus! From ce63438f0a6f1cd1b83db3c85f105f3ad03d7be1 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Thu, 10 Dec 2020 21:33:26 +0100 Subject: [PATCH 4/9] Second review --- _posts/2020-12-10-Software-Synth.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md index fce295c2f..655f3c8f0 100644 --- a/_posts/2020-12-10-Software-Synth.md +++ b/_posts/2020-12-10-Software-Synth.md @@ -12,38 +12,40 @@ This article will show you how to use a software synth with Jamulus. ## Linux We will look at the concept of playing a software synth on Linux but other operating systems should work similar. Let's have a look at what we need: -1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which in this example emulates an organ and outputs its audio to JACK on Linux. -2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, that are transmitted through a USB-MIDI interface to your Operating System. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller). -3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to the Jamulus client (this can be done with QJackCtl). +1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux. +2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller). +3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux). ### General Information about ALSA, JACK and MIDI -This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI. -* **ALSA** is the basic layer to connect to the hardware, i.e. the soundcard and the midi controller for the keyboard. +This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI before actually looking at how to connect the synth. +* **ALSA** This is the basic layer which connects to the hardware, i.e. the soundcard and the midi controller for the keyboard. * **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux. -* A **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there. +* The **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there. * **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer). ### Requirements for using Software Synths in Jamulus on Linux -If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package. To connect it to JACK. Since we use `setBfree` in this example, you also need a software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands: +If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package to be able to connect it to JACK. Since we use `setBfree` in this example, you also need this software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands: + ```shell sudo apt-get install a2jmidid sudo apt-get install setbfree ``` ### Connecting ALSA, JACK and MIDI for a Synth for Jamulus -Let's have a look at the workflow and the infrastructure in Jamulus. -1. Install Jamulus (You've probably already done that). If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started). If you use Linux and have followed the instructions, JACK and QJackCtl should have been installed. -2. **ALSA to JACK - MIDI** Next we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. +Let's have a look at the workflow. + +1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed. +2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that: * Open Qjackctl e.g. from the command line by typing `qjackctl` * Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl`. * Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK. * Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: http://setbfree.org/gui_3d). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers. - * In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth `setBfree`, that generates the sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to the `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl. - * Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your Linux Computer you should hear the emulated Hammond sound on your Linux PC for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus. + * In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl. + * Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus. **Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done. `QJackCtrl` can be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. -Have fun with other OpenSource synths like QSynth, [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system and/or used within LMMS. +There are also other Open Source synths like QSynth or [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system and/or used within LMMS. Have fun playing your synth within Jamulus! From 9e168be4cc27898e4c77b954690795ec01968dd7 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Fri, 11 Dec 2020 17:52:21 +0100 Subject: [PATCH 5/9] Beautify --- _posts/2020-12-10-Software-Synth.md | 38 +++++++++++++++++------------ 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md index 655f3c8f0..a168b375d 100644 --- a/_posts/2020-12-10-Software-Synth.md +++ b/_posts/2020-12-10-Software-Synth.md @@ -5,25 +5,30 @@ lang: "en" author: "niebert" heading: "Software Synth in Jamulus" --- + This article will show you how to use a software synth with Jamulus. ## Linux + We will look at the concept of playing a software synth on Linux but other operating systems should work similar. Let's have a look at what we need: -1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux. -2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller). -3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux). +1\. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux. +2\. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller). +3\. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux). ### General Information about ALSA, JACK and MIDI + This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI before actually looking at how to connect the synth. -* **ALSA** This is the basic layer which connects to the hardware, i.e. the soundcard and the midi controller for the keyboard. -* **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux. -* The **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there. -* **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer). + +- **ALSA** This is the basic layer which connects to the hardware, i.e. the soundcard and the midi controller for the keyboard. +- **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux. +- The **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there. +- **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer). ### Requirements for using Software Synths in Jamulus on Linux + If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package to be able to connect it to JACK. Since we use `setBfree` in this example, you also need this software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands: ```shell @@ -32,17 +37,18 @@ sudo apt-get install setbfree ``` ### Connecting ALSA, JACK and MIDI for a Synth for Jamulus + Let's have a look at the workflow. -1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed. -2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that: - * Open Qjackctl e.g. from the command line by typing `qjackctl` - * Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl`. - * Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK. - * Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: http://setbfree.org/gui_3d). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers. - * In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl. - * Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus. -**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done. +1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed. +2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that: + - Open Qjackctl e.g. from the command line by typing `qjackctl` + - Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl` in JACK-MIDI. + - Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK. + - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: ). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers. + - In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl. + - Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus. + **Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done. `QJackCtrl` can be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. From f39355548a6770c77a26c2ff3880af22727546b2 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Fri, 11 Dec 2020 18:20:55 +0100 Subject: [PATCH 6/9] Added pictures --- ...-Synth.md => 2020-10-19-Software-Synth.md} | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) rename _posts/{2020-12-10-Software-Synth.md => 2020-10-19-Software-Synth.md} (55%) diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md similarity index 55% rename from _posts/2020-12-10-Software-Synth.md rename to _posts/2020-10-19-Software-Synth.md index a168b375d..24b048ef2 100644 --- a/_posts/2020-12-10-Software-Synth.md +++ b/_posts/2020-10-19-Software-Synth.md @@ -14,9 +14,9 @@ This article will show you how to use a software synth with Jamulus. We will look at the concept of playing a software synth on Linux but other operating systems should work similar. Let's have a look at what we need: -1\. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux. -2\. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller). -3\. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux). +1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux. +2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller). +3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux). ### General Information about ALSA, JACK and MIDI @@ -29,7 +29,7 @@ This part is specific to Linux. Let's have a look at a few concepts how Linux ha ### Requirements for using Software Synths in Jamulus on Linux -If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package to be able to connect it to JACK. Since we use `setBfree` in this example, you also need this software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands: +If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package to be able to connect it to JACK. We use the synth `setBfree` in this example, so I also need this software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Debian/Ubuntu by using the `apt-get` commands: ```shell sudo apt-get install a2jmidid @@ -42,16 +42,34 @@ Let's have a look at the workflow. 1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed. 2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that: - - Open Qjackctl e.g. from the command line by typing `qjackctl` + - Open Qjackctl e.g. from the command line by typing `qjackctl` and start JACK by clicking on the play button - Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl` in JACK-MIDI. + + ![QJackctl JACK-MIDI a2j](https://user-images.githubusercontent.com/20726856/101836060-ff2abe80-3b3c-11eb-8109-347fab4f03a6.png) + - Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK. - - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: ). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers. + + ![QJackctl ALSA-MIDI MIDI through](https://user-images.githubusercontent.com/20726856/101836057-fe922800-3b3c-11eb-8ee2-60cc591cf908.png) + + - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface. It could look like this: + + ![setBfree synth](https://user-images.githubusercontent.com/20726856/101836062-ffc35500-3b3c-11eb-80d3-ebcfadac4942.png) + + You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers. - In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl. + + ![JACK-MIDI connect synth MIDI](https://user-images.githubusercontent.com/20726856/101932865-b4ac4f00-3bdb-11eb-8834-6f392402a8b6.png) + - Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus. - **Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done. -`QJackCtrl` can be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. +**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. + +![QJackctl connect synth to Jamulus](https://user-images.githubusercontent.com/20726856/101933860-0e614900-3bdd-11eb-981b-5dbcb3e93d89.png) + +Now you're done. + +`QJackCtrl` can also be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. -There are also other Open Source synths like QSynth or [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system and/or used within LMMS. +There are also other Open Source synths like QSynth or [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system. Have fun playing your synth within Jamulus! From cfb285d969c36028f294e786011a3a96dd0a9760 Mon Sep 17 00:00:00 2001 From: ignotus Date: Fri, 11 Dec 2020 22:46:28 +0100 Subject: [PATCH 7/9] Update 2020-10-19-Software-Synth.md --- _posts/2020-10-19-Software-Synth.md | 30 +++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md index 24b048ef2..2e37d6317 100644 --- a/_posts/2020-10-19-Software-Synth.md +++ b/_posts/2020-10-19-Software-Synth.md @@ -12,18 +12,18 @@ This article will show you how to use a software synth with Jamulus. ## Linux -We will look at the concept of playing a software synth on Linux but other operating systems should work similar. +We will look at the concept of playing a software synth on Linux but other operating systems should work similarly. Let's have a look at what we need: 1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux. 2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller). -3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux). +3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QjackCtl on Linux). ### General Information about ALSA, JACK and MIDI This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI before actually looking at how to connect the synth. -- **ALSA** This is the basic layer which connects to the hardware, i.e. the soundcard and the midi controller for the keyboard. -- **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux. +- **ALSA** This is the basic layer which connects to the hardware, i.e. the sound card and the midi controller for the keyboard. +- **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy-to-use environment for music production on Linux. - The **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there. - **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer). @@ -40,35 +40,37 @@ sudo apt-get install setbfree Let's have a look at the workflow. -1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed. +1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed those instructions, JACK and QjackCtl were already installed. 2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that: - - Open Qjackctl e.g. from the command line by typing `qjackctl` and start JACK by clicking on the play button - - Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl` in JACK-MIDI. + - Open QjackCtl e.g. from the command line by typing `qjackctl` and start JACK by clicking on the play button + - Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QjackCtl` in the JACK-MIDI tab. ![QJackctl JACK-MIDI a2j](https://user-images.githubusercontent.com/20726856/101836060-ff2abe80-3b3c-11eb-8109-347fab4f03a6.png) - - Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK. + - Now connect your USB MIDI device as an input to `MIDI through` in the ALSA-MIDI tab of QjackCtl. MIDI events from your keyboard will now reach JACK. ![QJackctl ALSA-MIDI MIDI through](https://user-images.githubusercontent.com/20726856/101836057-fe922800-3b3c-11eb-8ee2-60cc591cf908.png) - - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface. It could look like this: + - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface. It should look like this: ![setBfree synth](https://user-images.githubusercontent.com/20726856/101836062-ffc35500-3b3c-11eb-80d3-ebcfadac4942.png) - You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers. - - In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl. + You can now check if the synth generates sound by clicking on the displayed organ keyboard and listening for sound through your speakers. + - In QjackCtl we can now connect `a2j` in JACK-MIDI as an input to the synth, which generates sound for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible to QjackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth setBFree in QjackCtl. ![JACK-MIDI connect synth MIDI](https://user-images.githubusercontent.com/20726856/101932865-b4ac4f00-3bdb-11eb-8834-6f392402a8b6.png) - - Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus. + - Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys you press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus. -**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. +**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard got sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QjackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. ![QJackctl connect synth to Jamulus](https://user-images.githubusercontent.com/20726856/101933860-0e614900-3bdd-11eb-981b-5dbcb3e93d89.png) +There is one last step. In the above image you can see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. "System" would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and whoever you are playing with) and will avoid an echo or flanger effect. + Now you're done. -`QJackCtrl` can also be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. +`QjackCtl` can also be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. There are also other Open Source synths like QSynth or [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system. From 97a5009a43c390d4870a7a389257e4b7615e9e0d Mon Sep 17 00:00:00 2001 From: ignotus Date: Fri, 11 Dec 2020 22:48:26 +0100 Subject: [PATCH 8/9] Update 2020-10-19-Software-Synth.md --- _posts/2020-10-19-Software-Synth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md index 2e37d6317..cfbf8bc3c 100644 --- a/_posts/2020-10-19-Software-Synth.md +++ b/_posts/2020-10-19-Software-Synth.md @@ -66,7 +66,7 @@ Let's have a look at the workflow. ![QJackctl connect synth to Jamulus](https://user-images.githubusercontent.com/20726856/101933860-0e614900-3bdd-11eb-981b-5dbcb3e93d89.png) -There is one last step. In the above image you can see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. "System" would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and whoever you are playing with) and will avoid an echo or flanger effect. +There is one last step. In the above image you can see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. `System` would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and that of whoever you are playing with) and will avoid an echo or flanger effect. Now you're done. From cdfa90c24b1e969b23c045bcd7a69cbcaf71b0fe Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Fri, 11 Dec 2020 23:02:40 +0100 Subject: [PATCH 9/9] Fixed screenshot --- _posts/2020-10-19-Software-Synth.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md index cfbf8bc3c..21dab87fb 100644 --- a/_posts/2020-10-19-Software-Synth.md +++ b/_posts/2020-10-19-Software-Synth.md @@ -64,9 +64,9 @@ Let's have a look at the workflow. **Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard got sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QjackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. -![QJackctl connect synth to Jamulus](https://user-images.githubusercontent.com/20726856/101933860-0e614900-3bdd-11eb-981b-5dbcb3e93d89.png) +![QJackctl connect synth to Jamulus](https://user-images.githubusercontent.com/20726856/101958961-ad4d6b80-3c04-11eb-86cd-24e7efa6fe00.png)) -There is one last step. In the above image you can see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. `System` would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and that of whoever you are playing with) and will avoid an echo or flanger effect. +There is one last step. In your local connection setup, you might see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. `System` would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and that of whoever you are playing with) and will avoid an echo or flanger effect. Now you're done.