diff --git a/_kxstudio-kdev.kdev4 b/_kxstudio-kdev.kdev4 new file mode 100644 index 0000000..519f81a --- /dev/null +++ b/_kxstudio-kdev.kdev4 @@ -0,0 +1,3 @@ +[Project] +Manager=KDevGenericManager +Name=KXStudio diff --git a/_manual/create-manual-pages.py b/_manual/create-manual-pages.py new file mode 100755 index 0000000..bd6d1f5 --- /dev/null +++ b/_manual/create-manual-pages.py @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 + +import os + +manualPages = ( +"kxstudio_introduction", +"kxstudio_and_free_software", +"downloading_and_booting_kxstudio", +"installing_kxstudio", +"package_management", +"video_drivers", +"included_and_recommended_apps", +"linux_audio_overview", +"alsa_and_kxstudio", +"cadence_introduction", +"jack_configuration", +"simple_claudia_studio", +"latency", +"wineasio_and_reaper", +"useful_links_and_getting_help" +) + +for page in manualPages: + print(page) + tmppage = "tmp_%s" % page + webpage = "http://www.wiki.linuxmusicians.com/doku.php?id=%s" % page + #os.system("wget %s -O %s" % (webpage, tmppage)) + + tmppageFd = open(tmppage, "r") + tmppageRead = tmppageFd.read().strip() + tmppageFd.close() + + # remove initial html code + readPart1 = tmppageRead.split("", 1)[1].strip() + # remove TOC, if any + readPart2 = readPart1.split("", 1)[-1].strip() + # remove final html code + readPart3 = readPart2.split("", 1)[0].strip() + + # remove first part of the page, we want the title + readPart4 = readPart3.split("
+ +The Advanced Linux Sound Architecture is the primary sound system used by Linux. Even those who only plan to use JACK with the FFADO (FireWire) drivers should still have familiarity with ALSA. +
+ ++ +The main ALSA mixer included with KXStudio is called kmix. You can use kmix to adjust audio input and output levels, mute and unmute channels and change other non-FireWire audio device settings such as selecting between SPDIF and analog inputs if your device has such features. The kmix system tray icon looks like this: +
+ + + ++If you have a scrollwheel function on a mouse or trackpad, you can hover over the kmix tray icon and adjust the Master volume by moving the scrollwheel up and down. If you left-click on the kmix tray icon it will display a mini mixer. To see a full mixer with more controls, click the 'Mixer' button within the mini mixer menu. +
+ + + ++Here we see the main kmix mixer window. kmix displays the controls for each ALSA device on its own separate tab. In this screenshot the 'HDA Intel' onboard audio device is selected. The 'UAC3553B' tab displays controls for a USB audio device whilst 'Playback Streams' can be ignored unless you are using PulseAudio. +
+ ++You will notice that each fader has a small speaker icon just below it. When these speaker icons display a small red cross on them, as 'Mic' and 'Mic Boost' do in the screenshot, that indicates the channel is currently muted. You can toggle muting simply by left-clicking on the speaker icons. +
+ ++In the bottom right corner of the mixer window there is a tool icon. This icon allows you to configure which channels are available to control for the currently selected kmix device tab. You may find that some controls you need are missing at first, so you may add them via this Configure Channels window. +
+ ++Whilst there is a standard defined for USB audio devices, relatively few devices fully comply with it. What this means for ALSA and USB devices is that sometimes you will see no controls under kmix for some USB devices or controls may not function as expected. Such issues may be worked around by inserting an app such as Non mixer or jack_mixer between an audio source and the problematic output device until the issue is fixed within ALSA. +
+ ++ +Cadence is primarily used to control and monitor the various Linux sound systems, including ALSA, under KXStudio. The main Cadence window has a 'JACK bridges' section which contains two ALSA/JACK bridges - one for ALSA audio and one for MIDI. You will not hear audio produced by ALSA-only apps when JACK is running if the ALSA audio bridge is stopped. Likewise, you will be unable to access MIDI devices if the ALSA MIDI bridge isn't running when JACK is. +
+ ++ +As JACK increases in popularity, it is more widely supported. However, several apps are still ALSA-only. Such apps will have their audio channeled via the same ALSA to JACK bridge. These include: +
+ ++Adobe Flash Player (as used by Firefox and other browsers for sites such as YouTube) +
+ ++Many games and other various programs +
+ ++Some other apps have only partial JACK support. These work with JACK directly, have their own JACK connections, and function without the ALSA to JACK bridge, but their connections are not persistent. They will temporarily connect to JACK while playing but drop their connection as soon as playback is stopped. Examples of these apps are: +
+ ++Audacity +
+ ++SMPlayer +
+ ++VLC +
+ ++Hence, none of these offer the individual audio routing functionality or other features offered by fully JACK-native software. +
+ ++ +The following commands can be useful for troubleshooting ALSA issues in a terminal: + +
+alsamixer+ +
+ +The original ALSA mixer + +
+cat /proc/asound/cards+ +
+ +Displays attached ALSA devices + +
+cat ~/.asoundrc+ +
+ +Displays your ALSA configuration file + +
+sudo alsactl store 0+ +
+ +Saves the current settings for ALSA device 0 +
+ ++ +Cadence controls and monitors various Linux sound systems as well as audio-related system settings. Below is a screenshot of its main window and following that is an explanation of what it all means and how you use it. +
+ + + ++ +This tells you the operating system, kernel version, and whether you are running a 32 or 64 bit OS. The kernel could be said to be the engine of Linux and KXStudio includes a low-latency kernel which has been optimized to get the best performance from JACK. +
+ ++ +This lets you select the CPU Scaling Governor, a property of the Linux kernel which controls the CPU speed. In 'performance' mode, your CPU will run at full speed all the time. This mode consumes the most power but ensures the best performance and minimum CPU-related sound issues. In many cases (especially on battery powered devices) using 'ondemand' makes more sense as this ups the CPU speed when its needed but clocks it back down when the computer is idle which helps save power. Note: to enable this option in KXStudio 12.04.1, you must first install “indicator-cpufreq” but this will be included on install in 12.04.2. +
+ ++ +Current kernel is a verification that you're running a realtime or lowlatency kernel. This check will be ticked already if you installed from the KXStudio ISO as it includes a low latency kernel. The other check verifies that your user is included in the audio group. Being a member of the audio group is required for your user to run JACK in realtime mode for optimal performance. You can add your user to the audio group by running: + +
+sudo adduser <username> audio+ +
+ +Replace <username> with your KXStudio user name when you run that command in a terminal. You will then need to log out and back in or reboot before your user will be recognised as being in the audio group. +
+ ++ +Server Status tells you if the JACK server is running or not. You cannot run any JACK-dependant software unless the JACK server is started beforehand. +
+ ++Realtime tells you if JACK is running with realtime scheduling or not. Realtime scheduling allows JACK to take priority over other programs being run and hence improves performance of JACK applications. +
+ ++DSP Load is the current CPU load estimated by JACK. If it gets too high you may experience performance issues. +
+ ++Xruns For JACK to operate smoothly and without drop-outs it requires that its buffers (the memory used to transport audio) provide a continuous stream of data. Whenever this data fails to arrive in time to satisfy the requests of a JACK app it causes an xrun which is often accompanied by a disruption to the sound output. The key to success with JACK is to eliminate or avoid xruns. +
+ ++Buffer size is measured in frames per second. It determines the latency between the audio being received by JACK and being sent to the output device. The smaller the buffer the lower the latency and, as a result, the higher the accuracy when monitoring audio for multitrack recording. 1024 is the default and is usually a safe value but smaller buffer sizes have less latency, i.e. less delay between the input and output. Try different settings to see how low you can go when recording without getting xruns. The functioning of lower size buffers depends on the power of your CPU and the specifics of your audio device. The lowest buffer most devices can handle well is 64. +
+ ++Sample rate is the frequency JACK will run and record audio at. 44.1kHz is the CD audio standard, but 48kHz is more common to go with video or for other typical audio. Higher sample rates allow for higher quality but take more disk space. Even for professional purposes, 48kHz is usually fine as the default. +
+ ++Latency is the JACK capture latency which measures the time taken to fill the audio capture buffer. This value is determined by the buffer, period size and samplerate settings used to start JACK. +
+ ++ +Start Starts the JACK server, if its not running. This is the recommended way to start JACK. +
+ ++Stop stops the JACK server. It is wise to save your work in any open JACK apps before stopping JACK, just to be safe. +
+ ++Force restart should 'Start' fail to start JACK, it is worth trying 'Force restart' but you may lose the last changes made to the JACK settings. +
+ ++Configure opens the JACK settings window, which is covered in the next chapter. +
+ ++Switch Master tells JACK to apply any changes made in the JACK settings window. +
+ ++Auto-start JACK or LADISH at login lets you pick if you'd like to start JACK or a LADISH studio at boot. KXStudio includes an app called Claudia which lets you create virtual 'LADISH' studios of interlinked audio applications. After creating such a studio within Claudia, you can use Cadence to configure your machine boot into a saved LADISH studio configuration. Starting a LADISH studio at boot also starts JACK using the settings defined within the studio. +
+ ++ +Cadences main window integrates the control of a few 'JACK bridges' -services which enable alternate Linux sound systems to run seemlessly atop JACK. +
+ ++The ALSA audio bridge enables one or more ALSA audio applications to access your JACK device when it is started. Most everybody will want to ensure this is kept running alongside JACK as it enables audio for non-JACK apps such as Firefox. If you have chosen for JACK to start at boot then the ALSA audio bridge also gets started automatically. +
+ ++The ALSA MIDI bridge needs to be running if you want to use any MIDI hardware. +
+ ++PulseAudio is not included by default with KXStudio, and so the PulseAudio bridge will not function without PulseAudio.. Most applications which use PA also use ALSA directly so there is then no need for PA or the bridge. If needed for some reason, you can use PA with JACK via the bridge if PulseAudio is installed first. + +
+ ++ +The easiest way to try KXStudio and discover if it supports your hardware is to boot it directly off a DVD or a USB drive. You can easily do this on any computer without any effect on the currently installed system. Doing this is referred to as running a 'live' system. +
+ ++ +Download the KXStudio Live-DVD images from: +
+ ++http://kxstudio.sourceforge.net/Downloads#LiveDVD +
+ ++Note: the image files are .iso format (which is just the initials of the International Standards Organization which defined the format). These contain the complete KXStudio operating system as well as many applications. +
+ ++You'll notice there are both 32 and 64-bit versions. Unless you are installing KXStudio to multiple, different machines you will only need one image file. If your machine allows for it, the 64-bit version is recommended as it usually works faster. Note that you can still run 32-bit software under a 64-bit installation but not the other way around. +
+ ++With the exception of maybe a few (mainly Atom CPU-based) netbooks and tablets; most laptops, notebooks and desktops since the middle of the last decade will have a 64-bit capable CPU. One sure sign is if your machine is running a 64-bit version of Windows then you know you can run 64-bit KXStudio. If you're unsure, the easiest way to find out is just to try booting the 64-bit version. However, 64-bit machines can still use the 32-bit installation, so the 32-bit option is functional for all systems. +
+ ++ +If your machine has a DVD drive and you have a blank DVD to spare then the easiest way to boot KXStudio is to burn the .iso to a DVD. Full instructions are available for burning an iso file to a DVD under Windows, Mac, and GNU/Linux. Booting from a USB drive is faster than from DVD. Also, a USB drive can be set to save updates and work and function as a working system; but you won't experience the full speed and capacity of KXStudio until you install it to a hard drive. +
+ ++If using USB, you will need a FAT32 formatted USB drive with at least 2 GB free space. You can then use the freely available unetbootin under Windows, OSX or Linux to transfer the iso file and make it boot from your USB drive. Using Unetbootin is as simple as selecting the 'Diskimage' option, browsing to and selecting your downloaded KXStudio iso file, selecting the correct USB drive from the 'Drive' drop-down menu and then clicking OK. After a few minutes wait you will be told when your USB drive is safe to be removed and ready to be booted. +
+ ++ +Reboot your machine with the KXStudio DVD in the drive or with the unetbootin modified USB drive attached. In rare cases, your computer will automatically boot KXStudio. Typically, however, you will need to find out how to enter the boot menu on your machine or enter the BIOS or UEFI menu to change the boot order so that the DVD and/or USB drive takes higher boot priority than the hard drive. Commonly, pressing F12 right at start up will bring up the boot options; pressing F2 will bring up the full BIOS menu. In other cases, DELETE or ESCAPE are used. If none of these work, refer to the manual for your computer or search online for machine-specific instructions. +
+ ++If you boot the DVD, you will first be prompted to choose the language to use. When this occurs, you can either do nothing and wait 30 seconds before the default of English is chosen and booting continues or you can use the arrow keys and ENTER to choose an alternate language. Booting off the USB via unetbootin does not bring up the language selection menu directly; instead you may change language settings under 'System Settings'. + +
+ ++ +Listed below are recommended audio, video and productivity apps for GNU/Linux complete with a short description. +
+ +
+Many of these apps are, or will be, included on the KXStudio DVD. Those not included are easily installed from the repositories in most cases.
+
+
+
+ +There are a few important considerations you must be aware of before installing KXStudio. These include knowing what type of machine you are installing on, how its disks are to be arranged and whether or not you plan to boot any additional operating systems alongside KXStudio. +
+ ++REMEMBER TO ALWAYS BACK UP all important files before you start modifying partitions or trying to install new operating systems! +
+ ++ +Whether you are installing onto a UEFI or BIOS-based machine you will have the least trouble getting KXStudio to boot if you are able to let the KXstudio installer use your entire hard drive and automatically create the partitions for you. In any case, make sure that important files on the machine are backed up before installation in case you make a mistake during partitioning! It will also help to know if your machine is UEFI or not before you start installing. +
+ ++If you want to install KXStudio onto the same drive as an existing installation of Windows read this guide on how to resize your Windows drive. +
+ ++ +Many computers purchased since late 2011 use a technology called UEFI in place of the traditional BIOS to control and configure booting of operating systems. Due to UEFI being a new technology, GNU/Linux support is not yet as reliable as it is for older BIOS-based machines. In particular, Ubuntu and KXStudio cannot currently be dual-booted with Windows 8 with SecureBoot enabled without in-depth knowledge far beyond the scope of this guide. If you are hoping to dual boot Windows 8 with GNU/Linux you should look into disabling SecureBoot mode in your UEFI configuration. +
+ ++ +Those wishing to multi-boot Windows, OSX or other operating systems with KXStudio on a UEFI machine are recommended to obtain a copy of Linux Secure Remix before you attempt installing KXStudio. If, after installing KXStudio on the same UEFI machine as Windows or OSX and rebooting, you don't see a boot menu offering a choice of operating systems you should boot Linux Secure Remix and run the Boot-Repair tool which fixes most GRUB/UEFI boot configuration issues and should get your machine multi-booting properly. This tool may be included on future KXStudio DVD releases. +
+ ++The Boot-Repair process is documented here. If Boot-Repair doesn't cure your UEFI booting woes it would be worth trying rEFIt or gummiboot./ +
+ ++ +By default, the main GNU/Linux system (root) uses the same partition as your user files (home). For various reasons, such as for ease of later system updates, you may want separate partitions. While ideal, this step is optional and can be skipped if you are uncomfortable with the details or want to save time. +
+ ++To customize your partitions, run “GParted” from the KXStudio live session before running the KXStudio installer. + +
++ +The KXStudio Live DVD is based upon Ubuntu 12.04 and uses the same installation tool so you can reference the official Ubuntu Install guide. The only real difference is in step 7 as you will need to click the 'Install KXStudio' icon on the desktop instead of clicking 'Install Ubuntu' when you are ready to run the installer. +
+ ++Contrary to what the Ubuntu installer seems to recommend with its network check, it is recommended that you disconnect from the internet before and whilst you install KXStudio so that updates are not fetched and the process is completed as quickly as possible. After a successful install and reboot you will be prompted to install any available updates. +
+ ++If you did the advanced partitioning to separate your root and home, choose “manual” for partitioning in the installer. Mark to use your intended root partition as / and your intended home partition as /home, keeping the ext4 format for both. +
+ ++ +After installing and booting KXStudio for the first time, you will see the KXStudio Welcome screen. The design and options for this are being updated for the upcoming 12.04.2 release. This manual will include links or information to help guide your choices once the form of the welcome program is set. Until then you are safe to just accept its defaults if you are unsure what its options mean. +
+ ++ +Sometimes the installer fails to detect the operating systems and/or add the correct options to the GRUB boot menu ie no option to boot into Windows. To fix a boot menu on BIOS-based machines, it is usually sufficient to run: + +
+sudo update-grub +sudo grub-install /dev/sda+ +
+ +Type those commands into a terminal after booting into KXStudio and then reboot to check the new updated GRUB config. These commands make GRUB scan for other installed OSes, update its configuration and then write its updated configuration to the first HD which is /dev/sda. +
+ ++SuperGrubDisk2 is very useful for fixing GRUB boot issues as it allows for booting Linux partitions on UEFI machines as well as legacy BIOS machines even when GRUB is missing or incorrectly configured. +
+ ++Another useful tool to ease GRUB2 configuration is GRUB Customizer. +
+ ++ +The KXStudio installer does not tweak the configuration of Solid State Drives for optimal performance. Follow this guide to optimize the performance of your SSD drives. + +
+ ++ +Most of JACK's important configuration options are set within the Driver tab of Cadence's JACK Settings window which you can access via Configure under Cadence's main window, as shown below: +
+ + + ++ +The driver column to the left selects which JACK driver you wish to configure and use next time you start JACK with Cadence. Those using FireWire devices should use the FireWire driver but otherwise you should select ALSA for your JACK driver. +
+ ++The top 3 drop-down options within Cadence's ALSA driver configuration are the most important as these let you select which device(s) to use for physical audio IO. If 'Duplex Mode' is enabled then you can assign different ALSA devices to handle Input and Output individually. This could be useful, for example, if you need a mic input but wanted to have your sound output via a USB audio device that doesn't have a mic input. In this case you could use your computers ALSA device, which likely does have a mic input, as a separate input device. If Duplex Mode is not selected then the top drop-down is used to select the ALSA device to use for both audio input and output. +
+ ++ +Sample Rate, Buffer Size and Periods/Buffer determine the base JACK latency. Their default values of 48000, 1024 and 2 respectively should work with most devices but a latency over 10ms is not usually considered good enough to be called realtime. Anyone interested in multitrack recording may wish to experiment with these settings to achieve the lowest, xrun-free latency their hardware will allow. It is possible to achieve 1ms latency with good hardware and the correct configuration. +
+ ++Sample Rate Due to the way latency is calculated, it is recommended you use 48000 or 96000Hz for the lowest latency. +
+ ++Buffer A smaller buffer gives lower latency. The lowest size most devices can handle is 64. Lower quality hardware may not handle any lower than 512. +
+ ++Periods/Buffer The larger the period size, the higher the latency but the less chance of xruns. Experiment with using 2 or 3 periods/buffer. +
+ ++Extra Latency To achieve the highest level of precision in overdubbing you should provide the extra latency values (in frames) which can be obtained with jack_iodelay. This process is covered in the Latency chapter. +
+ ++ +If JACK fails to start you can find out whats causing the problem by checking the Cadence logs. You can access the Cadence logs by launching it from under the 'Tools' tab of the main Cadence window or you can run cadence-logs from a terminal. +
+ ++ +kmix and alsamixer do not support FFADO. To adjust levels, enable phantom power and change other options for FireWire devices use ffado-mixer after you have started JACK with the FireWire driver. If you have trouble, running ffado-diag in a terminal may tell you more than Cadence's JACK error logs. +
+ ++ +This is an optional step that can help reduce latency. rtirq is a script that detects audio devices and prioritises them with the kernel according to a list specified in its configuration file. KXStudio's default rtirq configuration looks like: +
+ ++RTIRQ_NAME_LIST=“firewire snd usb i8042” +
+ ++Here we see FireWire devices have priority over ALSA and USB devices because its mentioned first. If you are mainly running JACK on a USB device you may wish to make usb the first item in the list by editing that line in the rtirq config file with a command such as: + +
+kdesudo kate /etc/default/rtirq+ +
+ +Along with its Ubuntu base and the whole GNU/Linux world, KXStudio has its roots in the Free Software movement led by Richard Stallman and the GNU project. All of the custom KXStudio tools are FLOSS, as is the vast majority of other included software. +
+ ++As KXStudio's primary purpose is to make the installation of a GNU/Linux-based audio/visual workstation as easy as possible, a few non-free additions are included where they assist that goal. +
+ ++ +KXStudio is based upon Ubuntu which includes select non-free software. The Ubuntu non-free software is listed in separate repositories marked as either “non-free”, “restricted”, or “multiverse”. See help.ubuntu.com/community/Repositories for more information. Also, the standard Linux kernel includes some “binary blobs” — i.e. sections that have no source available (and so hamper the freedom to modify). +
+ ++The main non-free software that KXStudio includes from Ubuntu is Flash Player. Many websites still, unfortunately, depend upon Adobe Flash, so Flash Player provides the smoothest user experience. Thankfully, the FLOSS standards Webm and HTML5 are becoming increasingly popular, and there is a FLOSS Flash-replacement called GNASH. Hopefully there will be less reason for the non-free Flash Player in the future. +
+ ++Ubuntu also includes some non-free codecs for accessing proprietary file formats. +
+ ++Some hardware manufacturers, particularly among wireless cards and graphics accelerators, do not make FLOSS drivers for Linux but create proprietary non-free drivers. FLOSS alternatives often function well enough, and KXStudio does not include proprietary drivers. However, because the proprietary drivers often provide superior performance, KXStudio includes a simple program to install them. See the separate page on installing non-free video drivers. +
+ ++ +While all KXStudio PPA listings are otherwise strictly FLOSS, KXStudio includes non-free extras kept in a segregated repository. The packages are listed in Muon Package Manager By Origin under “KXStudio (Extra)”. In the software sources, the repository is “http://kxstudio.sourceforge.net/repo/ precise free non-free”. +
+ ++The KXStudio non-free repository includes the following: + +
++ +Specific non-free software can be manually uninstalled, see the instructions for package management. Aside from the items listed above, another way to quickly identify a good portion of installed non-free software is to install the program vrms, the Virtual Richard M Stallman. Running vrms will bring up a list of non-free issues on your system, although it does not catch everything. +
+ ++To remove non-free software from the package listings, choose “Configure Software Sources” under “Settings” in Muon Package Manager. There, you can uncheck the Proprietary drivers and multiverse (copyright or legally problematic) listings. On the “Other Software” tab, you can remove the Medibuntu and kxstudio.sourceforge.net repositories. +
+ ++If you want to use strictly 100% Free Software, including even the strictly-FLOSS Linux-libre kernel, consider Trisquel, which is based on Ubuntu yet is certified by the Free Software Foundation. You can then add the main KXStudio-Team PPAs following the same instructions as for other Ubuntu-based systems. Although this should work, it is not officially supported at this time. +
+ ++There is also a long-term plan to potentially move the KXStudio repositories to Debian, which is more strictly FLOSS than Ubuntu (although still not FSF-approved because it provides a mechanism for users to install non-free software). + +
+ ++ +KXStudio is a large and frequently updated collection of audio/visual software for GNU/Linux. KXStudio is also the name given to a freely distributed GNU/Linux distribution, currently based on Ubuntu. The full KXStudio includes many system tweaks, applications, and tools not found within common GNU/Linux operating systems (distributions). KXStudio makes it easy to set up and use a free software-based digital audio/visual production environment. As well as this primary goal, KXStudio comes prepared to perform a wide variety of common computing tasks. +
+ ++ +This short manual was created for the KXStudio DVD or USB install. KXStudio works with pretty much any PC, laptop, or netbook with a suggested (but not absolute) minimum of 1GB RAM and 8GB free hard drive space. These instructions are written for newcomers to GNU/Linux operating systems. The intent is to provide an overview of both the installation process and a brief introduction to GNU/Linux audio/visual production applications including understanding and using the most important aspects of KXStudio's custom audio tools. +
+ ++ +As a distribution or OS, KXStudio is largely based upon Ubuntu which is one of the most popular variants of GNU/Linux. Ubuntu has a parent company called Canonical which has employees working on Ubuntu as well as the help of its large community of users and developers plus an increasing number of third party commercial software companies offering software or support for Ubuntu. Being based upon Ubuntu, KXStudio is compatible with Ubuntu software and resources. +
+ ++Seeing a need for better audio/video integration in the system, a talented young Portuguese developer known online as falkTX decided to improve the management and ease of use of various audio sub-systems and related software. To reach that goal, he created the KXStudio project which is closely related to his Cadence suite of tools, the Carla plugin host, and the DISTRHO audio plugins. falkTX puts an incredible amount of time and effort into creating and supporting these and has also assisted in improving numerous other FLOSS projects. If you appreciate his ongoing hard work he would be grateful for any contributions you can make via http://kxstudio.sourceforge.net/Donations . Thank you! +
+ ++ +If you are familiar with MS Windows or OSX already, please be aware that although KXStudio can, in most cases, fully replace these commercial operating systems, it is not intended as a drop-in replacement for either. It is possible to run many MS Windows programs under GNU/Linux via a program called Wine, and both Mac OSX and Linux are variants of the UNIX family of operating systems, but the overall GNU/Linux experience is quite distinct. You will have to adjust to the GNU/Linux way of doing things if you want to run KXStudio. Don't worry about it though because both Windows and Mac users will discover many of their computer skills transfer easily over and getting help online is free and easy. The GNU/Linux community is very friendly and active, and you can directly converse with the makers of the software in a way that doesn't happen in the Windows and OSX world. +
+ ++It is also important to note that not all hardware manufacturers support Linux yet so if you are buying any hardware especially for use with KXStudio you should do your research first. Don't presume that just because something works or doesn't work under Windows that it will be so under KXStudio. Linux has a few sore spots for hardware support that are mostly the fault of secretive, non-co-operative manufacturers, but, conversely, Linux also supports lots of older hardware that may not work at all with modern versions of Windows. See the Useful Links section of this manual for various Linux hardware compatibility reference sites. +
+ ++ +Although latency mostly refers to buffer size which delays immediate feedback of input, there is additional latency due to the basic processing of your audio interface. There is no way to reduce this “loopback” latency, but its existence will affect the timing of recorded overdubs. To address this, you can tell programs what the delay amount is so that compensation can be made, i.e. the recorded audio will be adjusted in time to account for this delay. Software alone cannot discover what the loopback latency is, so the following procedure is needed to determine the amount of compensation required: +
+ ++You will need a loopback cable capable of connecting your audio device's physical input to its physical output. +
+ ++1 - Connect your (mic) input to your (headphone) output with the loopback cable +
+ ++2 - Start JACK with known good settings +
+ ++3 - Open a terminal and run jack_iodelay. It will print 'Signal below threshold…' until we make the JACK connections +
+ ++4 - Use Catia or Claudia to connect the system capture_1 to 'jack_delay in' and connect 'jack_delay out' to the system playback_1 port +
+ ++5 - With both physical and JACK connections made, jack_iodelay should print output such as 'use X for the backend arguments -I and -O' +
+ ++6 - In the terminal, use ctrl-C to stop jack_iodelay +
+ ++7 - In Cadence or Claudia, open the JACK settings and enter the value X from jack_iodelay for both the the input and output extra latency values +
+ ++8 - Engage the new JACK settings with the “Switch Master” button. If you re-run the above test there should be no additional loopback latency. +
+ ++This information is used to tell programs how to adjust recordings so that the recorded result will line up precisely with how the original performance aligned with the previous tracks. +
+ ++Because these settings are not saved in the software to go with the interface choice, you'll need to change them every time you switch devices. The easiest way to do this is to have Claudia sessions for each device so all the settings are saved together. +
+ ++ +Wifi adapters have been known to cause random xruns. Some laptops have an external hardware switch to disable wifi. Otherwise, uncheck “enable wireless” in the KDE system tray's network control. If primarily using ethernet, consider disabling wifi (aka 802.11 a/b/g/n) in the BIOS or UEFI menu. +
+ ++ +Many pop-up ads and popular web sites make use of Adobe Flash. If you have any browser tabs open, it only takes one to be using a little bit of Flash to cause a big loss of CPU, lower latency and more xruns. You should try to avoid running unnecessary, CPU intensive programs when recording. +
+ ++ +When using Digital Audio Workstations and similar apps such as samplers etc, it is recommended you convert any sound files you wish to import to use the same sample rate as the one you are using for JACK. Many apps let you import and use sound files of different sample rates to the one you are running JACK with but then attempt to resample the audio 'on-the-fly' and this leads to xruns if your CPU cannot keep up. +
+ ++You can check the sample rate of audio files using your favourite media player such as smplayer (push CTRL+I when playing your file) or VLC (push CTRL+J) or you can find out from the terminal using mediainfo. soundkonverter and XCFA are good tools for batch conversion of audio files. +
+ ++ +Open a terminal and run: + +
+cat /proc/interrupts+ +
+ +Ensure that your audio driver is not sharing an IRQ with another device. Fixing this can be as simple as changing which port a USB audio device is using, but otherwise see this guide to fixing IRQ conflicts. + +
+ ++ +Anyone intending to use GNU/Linux as a platform for audio or video production will benefit from understanding the primary Linux sound sub-systems, their purposes and limitations. +
+ ++ +ALSA, the Advanced Linux Sound Architecture, is a collection of drivers and libraries that provide Linux with audio and MIDI support for onboard, PCI, and USB audio hardware. ALSA doesn't support FireWire audio devices — that requires FFADO and JACK (see below). +
+ ++ALSA alone is insufficient for most AV production tasks because only one application can access an ALSA device at any one time. JACK and Pulseaudio were created mainly to overcome this restriction although they target different use cases. KXStudio includes an ALSA/JACK bridge program called “snd-aloop daemon” which enables the user to run ALSA-only apps alongside JACK and other JACK-native software. This bridge is turned on by default when JACK is started - see the Cadence instructions for more information. +
+ ++ +The JACK Audio Connection Kit is a program (jackd aka the JACK server) and a protocol/API that enables the connection of a number of different applications to an audio device as well as allowing them to share audio and/or MIDI data between themselves. JACK applications may be connected on the same machine or remotely over a network. Think of JACK as a virtual audio patch panel, like on a physical mixing desk. While making these connections is not always automatic, the JACK system provides unparalleled flexibility for combining different tools in whatever way you wish. JACK has become the pro-audio application interconnection standard under GNU/Linux and is becoming increasingly popular on other platforms. +
+ ++ +FFADO provides Free FireWire Audio Drivers (the “O” is for .Org). Unlike ALSA, FFADO depends upon JACK and does not work independently. Hence, when you select a FireWire audio device for use by JACK under the Cadence driver configuration, you are using the FFADO drivers. +
+ ++ +PulseAudio (PA) is a sound server which, like JACK, runs on top of ALSA to provide functions such as allowing more than one application to use an ALSA device simultaneously. Pulse is targetted at regular desktop and mobile users rather than low-latency audio production. Cadence includes a PulseAudio/JACK bridge enabling you to run PulseAudio apps under JACK, but there are very few apps which support PA without supporting JACK or ALSA. KXStudio does not include PulseAudio as part of the default installation, but it is easily installed with the package manager if required. + +
+ ++ +In GNU/Linux, a “package” is a compressed file that usually contains a program or program data. The process of installing and removing software from packages is called package management. +
+ ++KXStudio is based upon Ubuntu which is itself based on Debian GNU/Linux, so as a result KXStudio uses .deb packages along with the Ubuntu software repositories (repos). The KXStudio part is the pre-configured PPA's (Personal Package Archives) which supplement the Ubuntu repositories. +
+ ++In KXStudio 12.04.2, the main package manager is called Muon. Muon is the easiest way to manage your software under KXStudio. KXStudio previously used the Synaptic package manager instead but these instructions largely apply to that as well. +
+ ++ +For increased system stability and security, it is recommended you keep all packages up-to-date. If your machine was not connected to the internet when you installed KXStudio, then the first thing you should do after installation is connect to the internet to perform a system upgrade. Note: you can always browse and remove packages from Muon but performing a system upgrade or installing new software from the repositories requires an internet connection. +
+ ++Muon Update Manager is a simple program which automatically checks for and alerts you about updates. There will be an icon in the system tray to show you when updates are available. +
+ ++If you want to manually check for updates, first open Muon Update Manager or instead the full Muon Package Manager, then click 'Check for updates'. After it has finished checking for updates, it will tell you in the status bar at the bottom of its window how many upgradeable packages are available. If there are any updates, click 'Full Upgrade' then 'Apply Changes'. It will then ask you for your password before upgrading the system to the latest package versions. +
+ ++Most programs will be ready as soon as updating has finished. In the case of some packages, such as the kernel, you will have to reboot before your updates can take effect. +
+ ++ +There are two main ways to install a package. If the program you want is available from the repositories it is recommended you install it from there. Not only is that easier than having to find a standalone package, you can trust it more and it will get automtically updated when you do a system update, after an update becomes available. +
+ ++ +Start Muon Package Manager, then type either the name of the program you want or search using a descriptive term. +
+ ++When you have found the package you want, select it by clicking and then press the 'Mark for Installation' button in the package details tab below or right-click the listing itself and choose 'Mark for installation'. +
+ ++If the chosen app requires additional packages be installed for it to funtion, then you will be asked to confirm the installation of the required additional packages. These extra packages are referred to as dependencies, and most reasonably complex programs have multiple dependencies. You can proceed to mark additional packages for installation and whenever you are ready install click 'Apply Changes' in the toolbar at the top. Muon will then ask you for your password before it downloads and installs the requested packages. +
+ ++If you install a graphical application you should be able to find and run it by typing the program name in the KDE menu search box. +
+ ++ +There are many reasons why you should always try to install software from the repositories (or PPA's) rather than from .deb package files. Aside from saving time, using repositories ensures you are getting the correct packages for your distribution and will be automatically updated. In some cases, a .deb file will automatically install a repository to keep things updated, but not always. You will normally want to find repository versions or add PPA's to get software. +
+ ++Confusingly, there are multiple version of Ubuntu, many packages are available in 32- or 64-bit flavours. When installing software that is only available in .deb packages (named from Ubuntu's parent distro called Debian), look for the option that best matches your installed system. KXStudio is based upon Ubuntu 12.04 (codenamed Precise) so it is compatible with packages made for that distribution. Make sure you get the 32- or 64-bit package as appropriate. The main Cadence window tells you if you are running a 32 bit (aka i386 or i686) or 64 bit (amd64) system. +
+ ++Finding the correct package version is often the hardest part of installing from a .deb package. Installation is then straightforward enough. Firefox may be set to automatically open the installer when the file is downloaded or you can double-click the .deb package in the Firefox Downloads window to start installation. Otherwise, open Dolphin (the file manager), find the package you want to install and left click on it once. This opens the package with a program called gdebi-kde which will present you with an 'Install Package' icon you must click to install the package. What usually happens is you will be prompted for your password, and then you may find you will need to click 'Install Package' a second time before the package gets installed. +
+ ++ +In Muon, search for the package you wish to remove then select 'Removal' or 'Purge' from the “Mark for:” option within the package details tab or choose the corresponding option by right clicking on a package listing. If the program is already installed, the options will be either 'Mark for Removal' which simply removes the package or 'Mark for Purge' which also removes the programs settings. After having found and selected all the packages you wish to remove click 'Apply Changes'. You will then be prompted for your password. +
+ ++ +Removing a package will not remove the dependencies which may have been installed with it. To remove such extra packages if nothing else installed requires them, within Muon Package Manager, go to the Edit menu and choose “Remove unnecessary packages.” Then, as with all other procedures, you will have to click “Apply Changes” and enter your password. +
+ ++ +The KXStudio repositories are themselves PPA's. In some cases, you may want to add new PPA's to your system. +
+ ++PPA's are especially useful if you want to help do beta testing or try pre-release versions of programs. In other cases, such as for KXStudio, PPA's supply stable releases that aren't maintained or up-to-date in the main system repositories. Installing from a PPA is easier and recommended in most cases over installing from .deb packages or compiling from source. +
+ ++If a PPA is available, it will be listed either on a software's website or their Launchpad.net page. For example, the latest stable release of LibreOffice isn't in the main repositories because it hasn't had completely thorough testing under this version of Ubuntu. LibreOffice offers a PPA for the stable version and another for beta testing. The address for the stable PPA is: ppa:libreoffice/ppa +
+ ++To add the new PPA, open Muon and choose “Configure Software Sources” from the “Settings” menu then enter your password. In the window that appears, choose the tab “Other Software”. Click the “Add…” button and enter the PPA's address. +
+ ++The maintainers of each PPA will keep your software up-to-date, so you only need to install it once. Then, after an update check in Muon, the packages will be listed for update or available for installation if no previous version was installed. +
+ ++ +If a package installation fails or you have package management issues such as being unable to install additional packages due to unresolved dependencies then try running one (or both) of the following commands from a terminal, such as Konsole + +
+sudo apt-get install -f +sudo dpkg --configure -a+ +
+ +JACK enables complex routing of audio and MIDI data between JACK-enabled apps. This enables the user to create their own custom instruments or virtual studios by combining several JACK apps. However, having such power would be of limited use if you had to manually patch programs together every time you wanted a specific configuration. This problem is addressed by JACK session managers such as LADISH. +
+ ++KXStudio includes an app called Claudia which uses the LADISH JACK session management standard to save and restore JACK configurations or 'LADISH Studios'. Claudia is one of two JACK patchbay apps included in KXStudio for making and removing JACK connections. The other app is Catia, a simpler program with no canvas preview and no saved connections (and available for Windows and OSX, unlike Claudia). +
+ ++The use of Claudia and LADISH is best demonstrated with a simple example scenario. Let's say that you frequently find yourself wanting to record audio from a non-JACK app such as Firefox and you use qtractor to record the audio. To do this you must ensure JACK and Cadence's ALSA audio bridge are running and you must connect the alsa2jack capture ports to qtractor's JACK inputs. In this guide we will create a simple LADISH studio with Claudia that will start JACK and the ALSA bridges, load qtractor and connect alsa2jack to its inputs so its ready to record from Firefox at boot. +
+ ++ +Before you can create a LADISH studio, you need to ensure that you can start JACK OK, ideally without any xruns. If JACK isn't already running then Claudia will try to automatically start JACK using the current JACK settings, which it shares with Cadence, when you start a studio but it will fail if your JACK settings aren't correct. See the previous 'An introduction to Cadence' and 'JACK Configuration' chapters for tips on setting up JACK. +
+ ++Claudia's interface is divided into four main areas when a studio is loaded. The menus and controls are along the top, a studio and room list is displayed to the upper left, a canvas preview on the lower left (when a studio is loaded) then the currently selected studio occupies the rest of Claudia's window. Claudia may automatically create a new studio when you launch it, otherwise the main canvas will be blank save for some instructions to help you get started with creating a studio. As these instructions state, you can create a new LADISH studio by selecting 'New Studio' from Claudia's studio menu. You can call the studio anything you want but I'll just use 'qtractor' for the studio name. +
+ ++ +If you've not already got JACK running, then now is a good time to start it. You can either start JACK from Cadence, choose 'Start Studio' from Claudia's studio menu or push F5 in Claudia. When you do this, you will notice Claudia's transport controls become available and at least two items appear on the studio canvas - the JACK 'Hardware Capture' and 'Hardware Playback' ports. These are only visible in Claudia when the JACK server is running. For the purposes of this example we also need the Cadence ALSA audio bridge to be running. When you have the ALSA audio bridge running you will see an extra two items (JACK clients) in Claudia's studio editing area- alsa2jack, which gets auto-connected to the Hardware Playback ports, and jack2alsa which gets auto-connected to the Hardware capture ports. +
+ ++ +Now we shall add qtractor into our studio by choosing 'Add New…' from the application menu, selecting qtractor under the DAW tab of the Claudia launcher then choosing OK. This will launch qtractor and add it into our studio. You may want to minimise or move qtractor to a different virtual desktop for the moment if you only have a small display as we are still working within Claudia; where you should now see a new JACK client box for qtractor within the editor as well as a new item, called Qtractor, added to the studio list. +
+ ++ +We want this studio to automatically connect the outputs of alsa2jack (which outputs the sound of all non-JACK apps, such as Firefox) into qtractor so we must connect one to the other. Left-click on capture_1 within the alsa2jack box then, keeping the mouse button pressed, drag your pointer over the Master/in_1 input of qtractor, then let go. You should then see a blue line connecting the alsa2jack client to qtractor's input port - this indicates you have created a JACK connection between the two. Now do the same for alsa2jack's capture_2 and qtractor's Master/in_2 so that both the left and right channels will get sent from ALSA to qtractor. Finally, connect qtractor's Master/out_1 and Master/out_2 to the Hardware Playback ports so that you can hear qtractors output. That completes our studio configuration so save the studio, which should look something like this: +
+ + + ++ +Cadence can automatically load a Claudia studio at system launch if you like. This should probably be avoided if you are using a system in which your studio's audio device is not always connected. +
+ ++To set a studio to auto-load, go to the main Cadence window, check that 'Auto-start JACK or LADISH at login' is ticked, and then click on the three dots to the right of this text. Choose 'Load LADISH studio', select the just-created qtractor studio and then push OK. Next time you reboot you should find JACK starts using the settings saved within your studio, qtractor loads automatically and if you open Claudia (or Catia) you should see alsa2jack is connected to qtractor. +
+ ++ +For more info on the KXStudio applications such as Cadence, Claudia and Catia +
+ + + ++ +To check to see if your sound device is supported by GNU/Linux, check the ALSA SoundCard Matrix +
+ ++http://www.alsa-project.org/main/index.php/Matrix:Main +
+ ++If you have a FireWire audio device you will want to check the status of your device in the FFADO Device support database +
+ ++http://www.ffado.org/?q=devicesupport/list +
+ ++Another good resource for GNU/Linux audio hardware compatibility is the linuxaudio.org Current Audio Gear page +
+ ++http://wiki.linuxaudio.org/wiki/current_audio_gear +
+ ++To check for the compatibility of your printer with the GNU/Linux printing system, CUPS, check the OpenPrinting database +
+ + + ++ +The Ubuntu package archive search +
+ ++http://packages.ubuntu.com/ +
+ ++The linuxaudio.org wiki has a comprehensive list of all GNU/Linux audio and sound software +
+ ++http://wiki.linuxaudio.org/apps/start +
+ ++Libre Graphics World provides news and other resources relating to free graphics software +
+ ++http://libregraphicsworld.org/ +
+ ++Freecode maintains the Web's largest index of GNU/Linux software +
+ + + ++The Wine Application Database (AppDB) details the compatibility of Windows programs with Wine +
+ + + ++ +To get the most out of Linux, you need to understand how to use the terminal (aka console). Here's the Ubuntu beginners guide to using the terminal +
+ ++https://help.ubuntu.com/community/UsingTheTerminal +
+ ++KXStudio uses the KDE Desktop Environment by default. Here is an introduction to the KDE 4 Plasma desktop +
+ ++http://userbase.kde.org/Plasma +
+ ++JACK was created mainly for Ardour which remains the most popular open source DAW. Sadly its not the most intuitive app ever so you may want to read its manual +
+ + + ++Those who prefer the more lightweight DAW qtractor will be happy to hear it has one of the best free manuals available for a GNU/Linux app +
+ ++http://downloads.sourceforge.net/qtractor/qtractor-0.5.x-user-manual.pdf +
+ ++ +Remember that KXStudio the distribution is based upon Ubuntu 12.04 aka Precise so any instructions or software you find for Ubuntu (precise) will be compatible with KXStudio. +
+ ++ +If you get stuck, the first place to search for a solution is on the KXStudio forum +
+ ++http://linuxmusicians.com/viewforum.php?f=47 +
+ ++If you suspect its more of a general Ubuntu issue it would be a good idea to search for help on the Ubuntu fora too +
+ + + ++The LinuxMusicians wiki contains all sorts of useful info for Linux audio users, including this manual +
+ + + ++ +If you can't find an answer to your question on the fora or with your favourite search engine, IRC is going to be your best hope of getting help quickly. +
+ ++KXStudio includes the Konversation KDE IRC client which you can use to connect to the following channels on irc.freenode.net +
+ ++#kxstudio is the official IRC support channel for KXStudio +
+ ++#opensourcemusicians is the IRC channel of the open source musicians podcast +
+ ++#ardour has its own official IRC support channel on freenode.net as do many other popular open source projects +
+ ++#kde is good for general issues with using the K Desktop +
+ ++#ubuntu is the support channel for general Ubuntu system issues +
+ ++ +The majority of modern day PC hardware uses display technology from either Nvidia, ATI/AMD, or Intel. +
+ ++Intel drivers are open source but the official Nvidia and ATI/AMD drivers are proprietary. Fresh KXStudio installations include official drivers for Intel video but only unofficial drivers for Nvidia and ATI/AMD. The official Nvidia or ATI/AMD drivers are easily added if required, and they often provide superior performance (especially for OpenGL 3D and gaming), extra or more complete features, and better power management. +
+ ++ +If you're unsure what vendor or model video hardware you have installed in your machine, open a terminal (such as Konsole) and type: + +
+lspci+ +
+ +lspci will 'List PCI' hardware installed on your machine, including your video device - the make and model of which is listed as being a 'VGA compatible controller'. If it is a Nvidia or ATI/AMD device then you may want to switch to the non-free driver, if its available for your hardware, to take advantage of the extra features and better performance. +
+ ++ +The 'Additional Drivers' tool can be used to simplify the process of downloading and installing or removing non-free video drivers. It requires that you are connected to the internet for it to fetch the requested drivers. From the KX Studio desktop menu you can find it under the Applications → System sub-menu or you may find it easier to search for it. +
+ ++When you run the Additional Drivers tool it will check the type of video hardware you have before presenting a new window in which you will see a list of compatible drivers, if any are available. You may be presented with more than one suitable driver but it's safe to use the recommended version if you're unsure which version of the driver is best for you. Select a driver, then click 'Activate' which will then download and install the new driver. The new driver will not take effect until you have rebooted. +
+ ++ +To enable the screen brightness control keys and disable the NVIDIA boot logo on my NVIDIA-using laptop using the non-free nvidia driver I had to create a file located at /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf containing: + +
+Section "Device" + Identifier "Device0" + Driver "nvidia" + VendorName "NVIDIA Corporation" + BoardName "GeForce 8600M" + Option "RegistryDwords" "EnableBrightnessControl=1" + Option "NoLogo" "true" +EndSection+ +
+ +For thorough information about the proprietary AMD drivers, including how to install more up-to-date drivers or how to remove the proprietary drivers and return to the FLOSS ones, see the community wiki: wiki.cchtml.com + +
+ ++ +KXStudio includes a program called Wine (Wine Is Not an Emulator) which allows most MS Windows software to run under GNU/Linux. It is FLOSS and does not require a copy of Windows to run it. While a number of Windows applications will not run at all under Wine, there is the odd app or game that runs better under Wine than real Windows! In most cases though, MS Windows apps run slower under Wine than under a genuine Windows install. Overall, it is recommended to run native GNU/Linux software instead of using Windows software under Wine, but the option of Wine allows flexibility if no suitable, Linux-native alternative software is available at the moment. +
+ ++ +Audio Stream Input/Output (ASIO) is the most common low-latency sound card driver protocol for MS Windows, hence most professional Windows audio software is designed to work with ASIO. KXStudio includes WineASIO which provides an ASIO to JACK driver for Wine. This allows ASIO-compatible Windows software running under Wine to access your JACK device/server as if it was an ASIO device. +
+ ++ +WineASIO provides a few options that can be configured within Cadence. These options are: +
++ +(Cadence WineASIO settings screenshot: http://kxstudio.sourceforge.net/screenshots/cadence4.png) +
+ ++ +If you ran KXStudio Welcome Setup before then you should already have the wineasio.dll library registered, otherwise or if you messed up your Wine configuration you should run: + +
+regsvr32 wineasio.dll+ +
+ +If you're running a 64-bit OS and you want to run 64-bit Windows software under wine, run the following too: + +
+wine64 regsvr32 wineasio.dll+ +
+ +You should only need to issue these commands once, if at all, and there is no harm in re-running them. +
+ ++ +KXStudio includes the MS Windows version of REAPER (Rapid Environment for Audio Production, Engineering, and Recording). REAPER is proprietary software which runs as a fully-functional demo for trial. It is one of the most powerful and popular DAWs available for Windows and Mac OSX, and a native Linux version is in development. REAPER has proven popular under GNU/Linux due to its advanced audio production features, its not-FLOSS-but-nonetheless-user-friendly licensing and its official support for running the Windows version under Wine. +
+ +