08-22-2020, 09:44 AM
Configure Fedora to practice and compose music
<div style="margin: 5px 5% 10px 5%;"><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music.png" width="1024" height="555" title="" alt="" /></div><div><h2>Introduction</h2>
<p>Using Fedora and Linux to produce and play music is now easy. Not that long ago, it was a nightmare: configuration was a complicated task and you needed to compile some applications yourself. The compatibility with electronic devices was the real story. But, now we can see the end of the road. Playing music under Linux with Fedora is becoming user friendly.</p>
<p> <span id="more-31631"></span> </p>
<h2>Configuration</h2>
<p>Fedora has long been usable to play music because of the <a href="https://doc.fedora-fr.org/wiki/D%C3%A9p%C3%B4t_CCRMA">CCRMA repository</a>. Moreover, there also exists a <a href="https://fedoraproject.org/wiki/Fedora_Jam_Audio_Spin">Fedora Spin</a> dedicated version: <a href="https://labs.fedoraproject.org/fr/jam/">Fedora Jam</a>. And today, you also have a <a href="https://copr.fedorainfracloud.org/coprs/ycollet/linuxmao/">COPR repository</a> (which I manage) with a lot of stuff in it.</p>
<p>To install the Fedora CCRMA repository:</p>
<pre class="wp-block-preformatted"><small>rpm -Uvh http://ccrma.stanford.edu/planetccrma/mi...anetccrma/$(rpm -E %fedora)/x86_64/planetccrma-repo-1.1-3.fc$(rpm -E %fedora).ccrma.noarch.rpm</small> dnf install https://download1.rpmfusion.org/free/fed...ee-release-$(rpm -E %fedora).noarch.rpm dnf install https://download1.rpmfusion.org/nonfree/...ee-release-$(rpm -E %fedora).noarch.rpm</pre>
<p>To install the LinuxMAO Fedora COPR repository:</p>
<pre class="wp-block-preformatted">dnf copr enable ycollet/linuxmao</pre>
<p>There are still some minimal steps to follow before being able to efficiently use a musical application. First, you will need to install the Jack audio connection kit and the qjackctl user interface:</p>
<pre class="wp-block-preformatted">dnf install jack-audio-connection-kit qjackctl</pre>
<p>Then, as a root user, you will need to add yourself to the jackuser group:</p>
<pre class="wp-block-preformatted">sudo usermod -a -G jackuser <my_user_id></pre>
<p>To enable the changes made, you just have to logout of and log back in to your session or if you prefer reboot your machine.</p>
<h2>Using basic applications</h2>
<p>Now, you can add some applications to play with like <a href="https://lmms.io/">LMMS </a>or <a href="https://musescore.org/fr">MuseScore</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music.png" alt="" data-id="31632" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-19.png" data-link="https://fedoramagazine.org/?attachment_id=31632" class="wp-image-31632" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">A LMMS session.</figcaption></figure>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-1.png" alt="" data-id="31633" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-23.png" data-link="https://fedoramagazine.org/?attachment_id=31633" class="wp-image-31633" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">A MuseScore session.</figcaption></figure>
<p>You can also record your voice using <a href="https://www.audacityteam.org/">Audacity</a>.</p>
<p>All of these applications are available in the main Fedora repository:</p>
<pre class="wp-block-preformatted">dnf install lmms mscore audacity</pre>
<h2>Fedora and your instrument, in real time</h2>
<h3>Configuration</h3>
<p>Editors note: <em>A real time Kernel is necessary for audio recording on your PC, especially when doing multi track recording.</em></p>
<p>If you want to use your instrument (like an electric guitar) and use the sound of your instrument in some Fedora application, you will need to use Jack Audio Connection Kit with a real time kernel.</p>
<p>With the CCRMA repository, to install the real time kernel, use the following command as a root user:</p>
<pre class="wp-block-preformatted">dnf install kernel-rt</pre>
<p>With the LinuxMAO Fedora COPR repository, use the following command:</p>
<pre class="wp-block-preformatted">dnf install kernel-rt-mao</pre>
<p>The RT Kernel from CCRMA repository corresponds to a vanilla RT kernel with some Fedora patches applied whereas the one from the LinuxMAO repository is a pure vanilla one (a clean RT kernel without any patches).</p>
<p>Once this is done, we still need to perform some tuning on qjackctl to reduce the <a href="https://en.wikipedia.org/wiki/Latency_(audio)">audio latency</a> so it is negligible.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-2.png" alt="" data-id="31634" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-2.png" data-link="https://fedoramagazine.org/?attachment_id=31634" class="wp-image-31634" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The main QJackCtl interface.</figcaption></figure>
<p>Click on the “Setup” button and set the following values:</p>
<ul>
<li>Sample rate: 48000 or 44100 (this is the sampling frequency and these values are mostly supported on all commercially available sound cards)</li>
<li>Frames / period: 256</li>
<li>Periods / Buffer: 2</li>
<li>MIDI driver: seq (this value is required is you want to use a MIDI device)</li>
</ul>
<p>With these parameters, you can easily achieve an audio latency of around 10 ms. While this value is the limit for the human ear and is hardly noticeable, you can reach lower latency with the penalty of increased CPU load.</p>
<h3>Using Guitarix</h3>
<p>To add some effects to your instrument, we will use a rack of effects: <a href="https://guitarix.org/">guitarix</a> (edit: <em>guitarix, the virtual guitar amplifier</em>).</p>
<pre class="wp-block-preformatted">dnf install guitarix</pre>
<p>Now, you have to connect your instrument to the audio card (the internal one or a USB adapter). Editors note: <em>This normally requires an interface between the electric guitar and the audio line in of the audio card. There are also guitar to USB adapters.</em> Once your instrument is connected, with qjackctl, we will connect:</p>
<ul>
<li>the audio input to guitarix</li>
<li>the guitarix mono rack to the guitarix stereo rack</li>
<li>the guitarix stereo rack to the stereo audio output of your audio card</li>
</ul>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-3.png" alt="" data-id="31635" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-28.png" data-link="https://fedoramagazine.org/?attachment_id=31635" class="wp-image-31635" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">Connecting Guitarix using the QJackCtl graph window.</figcaption></figure>
<p>You do that by clicking on the Graph button of QJackCtl. Inside the Graph window, you just have to connect wires to the various elements . Each block represents an application. Guitarix is split into two blocks (preamp and rack). The preamp is where you select the amplifier characteristics, and the rack is where you apply mono and stereo effects. There are two other blocks with the system label for the audio input (the one on the left in the above figure) and the audio outputs (the one on the right). </p>
<p>Your instrument should be connected to the first audio input. You should test that your guitar is connected and that it’s able to be heard when played. Most of the time, we use the first two slots of audio output. But this will depend on your audio card. </p>
<p>Editors note: <em>The actual configuration of inputs and outputs depends upon the type of hardware chosen. The stereo speakers of the PC were chosen as the output in the example shown.</em></p>
<p>If the MIDI interface of the sound card is chosen, there are also two red blocks which are dedicated to MIDI inputs / outputs. <em>These would then be setup as the input from the instrument and the output from the rack.</em> </p>
<p>Guitarix is an amp plus a rack of effects for you instrument. Mostly dedicated to guitar, but you can uses it with synthesizers too.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-4.png" alt="" data-id="31636" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-4.png" data-link="https://fedoramagazine.org/?attachment_id=31636" class="wp-image-31636" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The Guitarix rack effects.</figcaption></figure>
<h3>Adding some backing tracks</h3>
<p>Better than just playing guitar on your own, you can play guitar with a group. To do this, we will install <a href="https://sourceforge.net/projects/tuxguitar/">TuxGuitar</a>. </p>
<pre class="wp-block-preformatted">dnf install tuxguitar</pre>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-5.png" alt="" data-id="31637" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-33.png" data-link="https://fedoramagazine.org/?attachment_id=31637" class="wp-image-31637" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The TuxGuitar main interface.</figcaption></figure>
<p>TuxGuitar will play <a href="https://www.guitar-pro.com/fr/index.php">GuitarPro </a>files. These files contains several instruments scores and can be played in real time. You just have to download a GuitarPro file from this <a href="https://www.ultimate-guitar.com/explore">website </a>and open it with TuxGuitar.</p>
<p>Start TuxGuitar and click on Tools -> Plugins and check the fluidsynth plugin. Then, once fluidsynth is checked, click on Configure. Click on the Audio tab and select Jack as Audio Driver. In the Synthetizer tab, choose the same sampling frequency you chose for QjackCtl above (48000 or 44100 Hz).</p>
<p>In the soundfonts tab, you can add your own SF2 or SF3 file to improve the audio rendering. You can now close the Plugins window. Click on Tools -> Settings -> Sound. Here, you can select the king of audio used to render the score. If you have several SF2 / SF3 files, you will select the chosen one for the audio rendering here. Restart TuxGuitar after you’re satisfied with your selections. After restarting TuxGuitar, a new block will appear in the Graph window of QJackCtl.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-6.png" alt="" data-id="31638" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-37.png" data-link="https://fedoramagazine.org/?attachment_id=31638" class="wp-image-31638" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">QJackCtl with Guitarix and TuxGuitar.</figcaption></figure>
<p>You will just have to connect the block tagged ‘fluidsynth’ to the audio output like you have done with Guitarix.</p>
<h2>Using MIDI devices</h2>
<p>Using MIDI devices in real time is as easy as with audio. We will connect a virtual MIDI keyboard: vkeybd (but the same procedure applies with a real MIDI device) to a MIDI synthetizer: amsynth.</p>
<pre class="wp-block-preformatted">dnf install amsynth vkeybd</pre>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-7.png" alt="" data-id="31639" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-7.png" data-link="https://fedoramagazine.org/?attachment_id=31639" class="wp-image-31639" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The main interface of AmSynth.</figcaption></figure>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-8.png" alt="" data-id="31640" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-8.png" data-link="https://fedoramagazine.org/?attachment_id=31640" class="wp-image-31640" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The virtual MIDI keyboard VKeyBD.</figcaption></figure>
<p>Once you have started amsynth and vkeybd, you will see new connections on the QJackCtl’s Graph window.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-9.png" alt="" data-id="31641" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-43.png" data-link="https://fedoramagazine.org/?attachment_id=31641" class="wp-image-31641" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">Amsynth and VKeyBD in QJackCtl’s graph window.</figcaption></figure>
<p>In this window, the red slots correspond to the Jack Audio MIDI connections whereas the purple ones correspond to the ALSA MIDI connections. Jack MIDI connections talk only to Jack MIDI connections. And the same for ALSA. If you want to connect a Jack MIDI connection to an ALSA MIDI connection, you will need to use a MIDI gateway: a2jmidid. You can read some more informations in the <a href="https://manual.ardour.org/setting-up-your-system/setting-up-midi/midi-on-linux/">Ardour manual</a>.</p>
<p>We have now covered some main topics of the audio under Fedora Linux. But there are a lot more things you can do.</p>
<h2>Other possibilities</h2>
<p>You can do multitrack recording with <a href="https://ardour.org/">ardour</a>, <a href="https://qtractor.sourceforge.io/">qtractor </a>or <a href="https://www.zrythm.org/en/">zrythm</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-10.png" alt="" data-id="31647" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-10.png" data-link="https://fedoramagazine.org/?attachment_id=31647" class="wp-image-31647" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">QTractor for multitracks live recording.</figcaption></figure>
<p>You can do live coding using <a href="https://supercollider.github.io/">SuperCollider </a>or <a href="https://sonic-pi.net/">SonicPi</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music.jpg" alt="" data-id="31642" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-4.jpg" data-link="https://fedoramagazine.org/?attachment_id=31642" class="wp-image-31642" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">SonicPi in action.</figcaption></figure>
<p>Use some block connected language to perform many things: <a href="https://puredata.info/">PureData</a></p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-11.png" alt="" data-id="31643" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-11.png" data-link="https://fedoramagazine.org/?attachment_id=31643" class="wp-image-31643" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">An audio / video block language: PureData</figcaption></figure>
<p>There is also a great audio looper available: <a href="http://essej.net/sooperlooper/">SooperLooper</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-12.png" alt="" data-id="31644" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-12.png" data-link="https://fedoramagazine.org/?attachment_id=31644" class="wp-image-31644" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">SooperLooper, a great tool to build audio loops.</figcaption></figure>
<p>You can do live rehearsal through the internet: <a href="http://llcon.sourceforge.net/">Jamulus</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-13.png" alt="" data-id="31645" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-53.png" data-link="https://fedoramagazine.org/?attachment_id=31645" class="wp-image-31645" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">Against the COVID side effects: Jamulus for live internet rehearsal.</figcaption></figure>
<p>Want to become the new famous DJ: have a look at <a href="https://www.mixxx.org/">Mixxx</a></p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-14.png" alt="" data-id="31646" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-57.png" data-link="https://fedoramagazine.org/?attachment_id=31646" class="wp-image-31646" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">Mixxx for DJing.</figcaption></figure>
<h2>Webography</h2>
<p>Some links now:</p>
<p>Here is a <a href="https://www.youtube.com/watch?v=zJk0GgWcgXE">YouTube video</a> where I play guitar through Guitarix and I use TuxGuitar to play the backing tracks in real time. Both TuxGuitar and Guitarix are sent through non-mixer which is a small mixing application. To be able to record the audio of the session “on the fly”, I also use timemachine. And to avoid reconnecting everything each time I want to play guitar, I use Ray Session to start every application and connect all the Jack Audio connections.</p>
<p>I also made a small demonstration of the use of Jamulus for a live rehearsal. On this <a href="https://www.youtube.com/watch?v=QNlsTH6ETEU">YouTube video</a>, I use Jamulus, QJackCtl, Guitarix mainly. The second guitarix is 30 km away. The latency was around 15 ms. It’s quite small and hardly noticable.</p>
<p>On this <a href="https://www.youtube.com/watch?v=p7fFXbFxLwI">YouTube video</a>, I tried to make some comparison between various SF2 / SF3 soundfont files. I used a GuitarPro file for the Opeth’s song “epilogue”.</p>
<p>On this <a href="https://www.youtube.com/watch?v=bCUmbctP82Q">YouTube video</a>, I use MuseScore to play a GuitarPro file and I play along while my guitar sound is processed by Guitarix.</p>
<p><a href="https://www.youtube.com/watch?v=zcfJQBBnSaY">Here</a>, it’s a live performance with a dancer. TuxGuitar + Non Session Manager + Non Mixer + Guitarix. I always used this kind of combination and Linux has never hanged … Finger crossed !</p>
<p><a href="https://www.jamendo.com/artist/471813/joseph-curwen/albums">Some compositions</a> made with LMMS on Fedora 25 to 32. Using some really nice plugins like Surge, NoiseMaker from DISTRHO package and others. All these compositions are libre music and are hosted on Jamendo.</p>
<p>If you need some help:</p>
<ul>
<li><a href="https://linuxmusicians.com/">LinuxMusicians</a>: a great place with skilled people willing to help</li>
<li><a href="http://linuxmao.org/Accueil">LinuxMAO</a>: if you speak french, this is the place to be. A lot of resources related to various software.</li>
<li><a href="https://linuxaudio.org/">LinuxAudio</a>: another great website with various ressources to help.</li>
</ul>
</div>
https://www.sickgaming.net/blog/2020/08/...ose-music/
<div style="margin: 5px 5% 10px 5%;"><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music.png" width="1024" height="555" title="" alt="" /></div><div><h2>Introduction</h2>
<p>Using Fedora and Linux to produce and play music is now easy. Not that long ago, it was a nightmare: configuration was a complicated task and you needed to compile some applications yourself. The compatibility with electronic devices was the real story. But, now we can see the end of the road. Playing music under Linux with Fedora is becoming user friendly.</p>
<p> <span id="more-31631"></span> </p>
<h2>Configuration</h2>
<p>Fedora has long been usable to play music because of the <a href="https://doc.fedora-fr.org/wiki/D%C3%A9p%C3%B4t_CCRMA">CCRMA repository</a>. Moreover, there also exists a <a href="https://fedoraproject.org/wiki/Fedora_Jam_Audio_Spin">Fedora Spin</a> dedicated version: <a href="https://labs.fedoraproject.org/fr/jam/">Fedora Jam</a>. And today, you also have a <a href="https://copr.fedorainfracloud.org/coprs/ycollet/linuxmao/">COPR repository</a> (which I manage) with a lot of stuff in it.</p>
<p>To install the Fedora CCRMA repository:</p>
<pre class="wp-block-preformatted"><small>rpm -Uvh http://ccrma.stanford.edu/planetccrma/mi...anetccrma/$(rpm -E %fedora)/x86_64/planetccrma-repo-1.1-3.fc$(rpm -E %fedora).ccrma.noarch.rpm</small> dnf install https://download1.rpmfusion.org/free/fed...ee-release-$(rpm -E %fedora).noarch.rpm dnf install https://download1.rpmfusion.org/nonfree/...ee-release-$(rpm -E %fedora).noarch.rpm</pre>
<p>To install the LinuxMAO Fedora COPR repository:</p>
<pre class="wp-block-preformatted">dnf copr enable ycollet/linuxmao</pre>
<p>There are still some minimal steps to follow before being able to efficiently use a musical application. First, you will need to install the Jack audio connection kit and the qjackctl user interface:</p>
<pre class="wp-block-preformatted">dnf install jack-audio-connection-kit qjackctl</pre>
<p>Then, as a root user, you will need to add yourself to the jackuser group:</p>
<pre class="wp-block-preformatted">sudo usermod -a -G jackuser <my_user_id></pre>
<p>To enable the changes made, you just have to logout of and log back in to your session or if you prefer reboot your machine.</p>
<h2>Using basic applications</h2>
<p>Now, you can add some applications to play with like <a href="https://lmms.io/">LMMS </a>or <a href="https://musescore.org/fr">MuseScore</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music.png" alt="" data-id="31632" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-19.png" data-link="https://fedoramagazine.org/?attachment_id=31632" class="wp-image-31632" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">A LMMS session.</figcaption></figure>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-1.png" alt="" data-id="31633" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-23.png" data-link="https://fedoramagazine.org/?attachment_id=31633" class="wp-image-31633" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">A MuseScore session.</figcaption></figure>
<p>You can also record your voice using <a href="https://www.audacityteam.org/">Audacity</a>.</p>
<p>All of these applications are available in the main Fedora repository:</p>
<pre class="wp-block-preformatted">dnf install lmms mscore audacity</pre>
<h2>Fedora and your instrument, in real time</h2>
<h3>Configuration</h3>
<p>Editors note: <em>A real time Kernel is necessary for audio recording on your PC, especially when doing multi track recording.</em></p>
<p>If you want to use your instrument (like an electric guitar) and use the sound of your instrument in some Fedora application, you will need to use Jack Audio Connection Kit with a real time kernel.</p>
<p>With the CCRMA repository, to install the real time kernel, use the following command as a root user:</p>
<pre class="wp-block-preformatted">dnf install kernel-rt</pre>
<p>With the LinuxMAO Fedora COPR repository, use the following command:</p>
<pre class="wp-block-preformatted">dnf install kernel-rt-mao</pre>
<p>The RT Kernel from CCRMA repository corresponds to a vanilla RT kernel with some Fedora patches applied whereas the one from the LinuxMAO repository is a pure vanilla one (a clean RT kernel without any patches).</p>
<p>Once this is done, we still need to perform some tuning on qjackctl to reduce the <a href="https://en.wikipedia.org/wiki/Latency_(audio)">audio latency</a> so it is negligible.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-2.png" alt="" data-id="31634" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-2.png" data-link="https://fedoramagazine.org/?attachment_id=31634" class="wp-image-31634" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The main QJackCtl interface.</figcaption></figure>
<p>Click on the “Setup” button and set the following values:</p>
<ul>
<li>Sample rate: 48000 or 44100 (this is the sampling frequency and these values are mostly supported on all commercially available sound cards)</li>
<li>Frames / period: 256</li>
<li>Periods / Buffer: 2</li>
<li>MIDI driver: seq (this value is required is you want to use a MIDI device)</li>
</ul>
<p>With these parameters, you can easily achieve an audio latency of around 10 ms. While this value is the limit for the human ear and is hardly noticeable, you can reach lower latency with the penalty of increased CPU load.</p>
<h3>Using Guitarix</h3>
<p>To add some effects to your instrument, we will use a rack of effects: <a href="https://guitarix.org/">guitarix</a> (edit: <em>guitarix, the virtual guitar amplifier</em>).</p>
<pre class="wp-block-preformatted">dnf install guitarix</pre>
<p>Now, you have to connect your instrument to the audio card (the internal one or a USB adapter). Editors note: <em>This normally requires an interface between the electric guitar and the audio line in of the audio card. There are also guitar to USB adapters.</em> Once your instrument is connected, with qjackctl, we will connect:</p>
<ul>
<li>the audio input to guitarix</li>
<li>the guitarix mono rack to the guitarix stereo rack</li>
<li>the guitarix stereo rack to the stereo audio output of your audio card</li>
</ul>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-3.png" alt="" data-id="31635" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-28.png" data-link="https://fedoramagazine.org/?attachment_id=31635" class="wp-image-31635" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">Connecting Guitarix using the QJackCtl graph window.</figcaption></figure>
<p>You do that by clicking on the Graph button of QJackCtl. Inside the Graph window, you just have to connect wires to the various elements . Each block represents an application. Guitarix is split into two blocks (preamp and rack). The preamp is where you select the amplifier characteristics, and the rack is where you apply mono and stereo effects. There are two other blocks with the system label for the audio input (the one on the left in the above figure) and the audio outputs (the one on the right). </p>
<p>Your instrument should be connected to the first audio input. You should test that your guitar is connected and that it’s able to be heard when played. Most of the time, we use the first two slots of audio output. But this will depend on your audio card. </p>
<p>Editors note: <em>The actual configuration of inputs and outputs depends upon the type of hardware chosen. The stereo speakers of the PC were chosen as the output in the example shown.</em></p>
<p>If the MIDI interface of the sound card is chosen, there are also two red blocks which are dedicated to MIDI inputs / outputs. <em>These would then be setup as the input from the instrument and the output from the rack.</em> </p>
<p>Guitarix is an amp plus a rack of effects for you instrument. Mostly dedicated to guitar, but you can uses it with synthesizers too.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-4.png" alt="" data-id="31636" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-4.png" data-link="https://fedoramagazine.org/?attachment_id=31636" class="wp-image-31636" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The Guitarix rack effects.</figcaption></figure>
<h3>Adding some backing tracks</h3>
<p>Better than just playing guitar on your own, you can play guitar with a group. To do this, we will install <a href="https://sourceforge.net/projects/tuxguitar/">TuxGuitar</a>. </p>
<pre class="wp-block-preformatted">dnf install tuxguitar</pre>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-5.png" alt="" data-id="31637" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-33.png" data-link="https://fedoramagazine.org/?attachment_id=31637" class="wp-image-31637" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The TuxGuitar main interface.</figcaption></figure>
<p>TuxGuitar will play <a href="https://www.guitar-pro.com/fr/index.php">GuitarPro </a>files. These files contains several instruments scores and can be played in real time. You just have to download a GuitarPro file from this <a href="https://www.ultimate-guitar.com/explore">website </a>and open it with TuxGuitar.</p>
<p>Start TuxGuitar and click on Tools -> Plugins and check the fluidsynth plugin. Then, once fluidsynth is checked, click on Configure. Click on the Audio tab and select Jack as Audio Driver. In the Synthetizer tab, choose the same sampling frequency you chose for QjackCtl above (48000 or 44100 Hz).</p>
<p>In the soundfonts tab, you can add your own SF2 or SF3 file to improve the audio rendering. You can now close the Plugins window. Click on Tools -> Settings -> Sound. Here, you can select the king of audio used to render the score. If you have several SF2 / SF3 files, you will select the chosen one for the audio rendering here. Restart TuxGuitar after you’re satisfied with your selections. After restarting TuxGuitar, a new block will appear in the Graph window of QJackCtl.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-6.png" alt="" data-id="31638" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-37.png" data-link="https://fedoramagazine.org/?attachment_id=31638" class="wp-image-31638" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">QJackCtl with Guitarix and TuxGuitar.</figcaption></figure>
<p>You will just have to connect the block tagged ‘fluidsynth’ to the audio output like you have done with Guitarix.</p>
<h2>Using MIDI devices</h2>
<p>Using MIDI devices in real time is as easy as with audio. We will connect a virtual MIDI keyboard: vkeybd (but the same procedure applies with a real MIDI device) to a MIDI synthetizer: amsynth.</p>
<pre class="wp-block-preformatted">dnf install amsynth vkeybd</pre>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-7.png" alt="" data-id="31639" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-7.png" data-link="https://fedoramagazine.org/?attachment_id=31639" class="wp-image-31639" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The main interface of AmSynth.</figcaption></figure>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-8.png" alt="" data-id="31640" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-8.png" data-link="https://fedoramagazine.org/?attachment_id=31640" class="wp-image-31640" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">The virtual MIDI keyboard VKeyBD.</figcaption></figure>
<p>Once you have started amsynth and vkeybd, you will see new connections on the QJackCtl’s Graph window.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-9.png" alt="" data-id="31641" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-43.png" data-link="https://fedoramagazine.org/?attachment_id=31641" class="wp-image-31641" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">Amsynth and VKeyBD in QJackCtl’s graph window.</figcaption></figure>
<p>In this window, the red slots correspond to the Jack Audio MIDI connections whereas the purple ones correspond to the ALSA MIDI connections. Jack MIDI connections talk only to Jack MIDI connections. And the same for ALSA. If you want to connect a Jack MIDI connection to an ALSA MIDI connection, you will need to use a MIDI gateway: a2jmidid. You can read some more informations in the <a href="https://manual.ardour.org/setting-up-your-system/setting-up-midi/midi-on-linux/">Ardour manual</a>.</p>
<p>We have now covered some main topics of the audio under Fedora Linux. But there are a lot more things you can do.</p>
<h2>Other possibilities</h2>
<p>You can do multitrack recording with <a href="https://ardour.org/">ardour</a>, <a href="https://qtractor.sourceforge.io/">qtractor </a>or <a href="https://www.zrythm.org/en/">zrythm</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-10.png" alt="" data-id="31647" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-10.png" data-link="https://fedoramagazine.org/?attachment_id=31647" class="wp-image-31647" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">QTractor for multitracks live recording.</figcaption></figure>
<p>You can do live coding using <a href="https://supercollider.github.io/">SuperCollider </a>or <a href="https://sonic-pi.net/">SonicPi</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music.jpg" alt="" data-id="31642" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-4.jpg" data-link="https://fedoramagazine.org/?attachment_id=31642" class="wp-image-31642" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">SonicPi in action.</figcaption></figure>
<p>Use some block connected language to perform many things: <a href="https://puredata.info/">PureData</a></p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-11.png" alt="" data-id="31643" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-11.png" data-link="https://fedoramagazine.org/?attachment_id=31643" class="wp-image-31643" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">An audio / video block language: PureData</figcaption></figure>
<p>There is also a great audio looper available: <a href="http://essej.net/sooperlooper/">SooperLooper</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-12.png" alt="" data-id="31644" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-12.png" data-link="https://fedoramagazine.org/?attachment_id=31644" class="wp-image-31644" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">SooperLooper, a great tool to build audio loops.</figcaption></figure>
<p>You can do live rehearsal through the internet: <a href="http://llcon.sourceforge.net/">Jamulus</a>.</p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-13.png" alt="" data-id="31645" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-53.png" data-link="https://fedoramagazine.org/?attachment_id=31645" class="wp-image-31645" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">Against the COVID side effects: Jamulus for live internet rehearsal.</figcaption></figure>
<p>Want to become the new famous DJ: have a look at <a href="https://www.mixxx.org/">Mixxx</a></p>
<figure class="wp-block-gallery columns-1 is-cropped">
<ul class="blocks-gallery-grid">
<li class="blocks-gallery-item">
<figure><img src="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-14.png" alt="" data-id="31646" data-full-url="https://www.sickgaming.net/blog/wp-content/uploads/2020/08/configure-fedora-to-practice-and-compose-music-57.png" data-link="https://fedoramagazine.org/?attachment_id=31646" class="wp-image-31646" /></figure>
</li>
</ul><figcaption class="blocks-gallery-caption">Mixxx for DJing.</figcaption></figure>
<h2>Webography</h2>
<p>Some links now:</p>
<p>Here is a <a href="https://www.youtube.com/watch?v=zJk0GgWcgXE">YouTube video</a> where I play guitar through Guitarix and I use TuxGuitar to play the backing tracks in real time. Both TuxGuitar and Guitarix are sent through non-mixer which is a small mixing application. To be able to record the audio of the session “on the fly”, I also use timemachine. And to avoid reconnecting everything each time I want to play guitar, I use Ray Session to start every application and connect all the Jack Audio connections.</p>
<p>I also made a small demonstration of the use of Jamulus for a live rehearsal. On this <a href="https://www.youtube.com/watch?v=QNlsTH6ETEU">YouTube video</a>, I use Jamulus, QJackCtl, Guitarix mainly. The second guitarix is 30 km away. The latency was around 15 ms. It’s quite small and hardly noticable.</p>
<p>On this <a href="https://www.youtube.com/watch?v=p7fFXbFxLwI">YouTube video</a>, I tried to make some comparison between various SF2 / SF3 soundfont files. I used a GuitarPro file for the Opeth’s song “epilogue”.</p>
<p>On this <a href="https://www.youtube.com/watch?v=bCUmbctP82Q">YouTube video</a>, I use MuseScore to play a GuitarPro file and I play along while my guitar sound is processed by Guitarix.</p>
<p><a href="https://www.youtube.com/watch?v=zcfJQBBnSaY">Here</a>, it’s a live performance with a dancer. TuxGuitar + Non Session Manager + Non Mixer + Guitarix. I always used this kind of combination and Linux has never hanged … Finger crossed !</p>
<p><a href="https://www.jamendo.com/artist/471813/joseph-curwen/albums">Some compositions</a> made with LMMS on Fedora 25 to 32. Using some really nice plugins like Surge, NoiseMaker from DISTRHO package and others. All these compositions are libre music and are hosted on Jamendo.</p>
<p>If you need some help:</p>
<ul>
<li><a href="https://linuxmusicians.com/">LinuxMusicians</a>: a great place with skilled people willing to help</li>
<li><a href="http://linuxmao.org/Accueil">LinuxMAO</a>: if you speak french, this is the place to be. A lot of resources related to various software.</li>
<li><a href="https://linuxaudio.org/">LinuxAudio</a>: another great website with various ressources to help.</li>
</ul>
</div>
https://www.sickgaming.net/blog/2020/08/...ose-music/