The Creative Desktop

This manual for new users of 64 Studio is intended to cover enough general aspects of creative work to provide a starting point for your own multi-media adventures. This will eventually include 2D and 3D graphics, animation techniques, publishing, web design, audio production and video editing, as well as many other useful bits in between.

These articles are aimed at creative people who want to be able to realise their visions without having to become technical experts in the realm of computer science before they begin. If you want choice and a highly customisable working environment, Linux supports professional quality creative tools capable of delivering top-class results. It is now possible to run a full production studio entirely on Free Software.




In this book we will be investigating the use of Free Software tools in creative environments, and hopefully overturning some ingrained attitudes about the limitations of Linux-based systems in the multimedia arena.

64 Studio is based on the Debian distribution of GNU/Linux software. This means that there is already a vast wealth of manuals, HOWTO guides and FAQs available that cover the workings of the basic operating system and many of the general applications.

Debian documentation you should read:

http://www.debian.org/doc/
http://www.debian.org/doc/manuals/debian-faq/
http://www.debian.org/doc/manuals/apt-howto/
http://www.debian.org/doc/manuals/quick-reference/

We will focus on the minimum amount of set-up here, so we can dive straight into getting creative and having fun. Most of this guide isn't particularly 64studio-specific or even Debian-specific; it is designed to help anyone who wishes to explore the creative possibilities offered by a GNU/Linux system.

If you have just worked your way through the Install Guide and are wondering what to do next, start reading at the Configuration Guide. If you already know your way around the GNOME desktop, then dive in where you like, but bear in mind that the book is written to be read in sequence, so if there's anything you don't understand, it may have been covered in earlier chapters. Right, that's enough introductions, let's have a look at the software.

Welcome to your Creative Desktop!

Installation Guide

Text by Tim Hall
Screenshots by Guillermo Garronn, www.go2linux.org

A lot of people believe that installing and using GNU/Linux is a scary prospect, a system only usable by hardcore geeks. Considering the history of Free Software and the tone with which its use is sometimes advocated, often using complex and obscure jargon, it is not entirely surprising that many ordinary computer users are still wary of trying it out. With the advances in Linux's user-friendliness in recent years and helpful guides like this one, this is no longer the case.

GNU/Linux is something of a DIY system and does demand a little more of its users than proprietary operating systems. However, the rewards are a deeper understanding of the processes involved in computing, with a much greater scope for customisation and creativity. GNU/Linux has developed into an operating system for business, education, and personal productivity. It is no longer the sole preserve of UNIX wizards hacking at their glowing consoles into the night. Free operating systems provide much more control over your working environment and a far wider choice of approaches. For some, that can seem an overwhelming embarrassment of riches; for others, it is simply nirvana.

Part of GNU/Linux's uniqueness is that it is a free implementation of UNIX. It was and still is developed cooperatively by a group of volunteers, primarily on the Internet, who exchange code, report bugs, and fix problems in an open-ended environment. Anyone is welcome to join the Linux development effort. This method of development makes it much easier for ordinary users to suggest changes or improvements and become involved in the development process. This is quite different from the paradigm of proprietary software, where you often don't know who wrote the program you're running, and would have no idea how to go about requesting changes.

This guide is aimed at creative desktop users, people who want to make art and freely express themselves using all the available media of the 21st century. Free Software has taken its time to come up with stable multimedia applications but now boasts an incredible range of software, which covers 2D and 3D graphics including animation and scanning, Desktop Publishing, web design, audio and video editing - along with more standard office productivity tools such as word processing and spreadsheets, web browser, e-mail, IM and FTP, along with a powerful command-line interface. Forget DOS, this BASH comes with colour highlighting and auto-completion; it works so well that some people use it as their primary means of getting work done.

This all comes as standard when you install 64 Studio, but further software packages can be installed and existing ones easily upgraded using the built-in Advanced Package Tool system, or APT. Using a friendly interface such as Synaptic, it is possible to upgrade the entire system to the latest versions directly from the Internet in only three clicks!

Four Freedoms

The unique cornerstone of a GNU/Linux operating system is Free Software. Free software is licensed in such a way as to allow users the freedom to run, copy, distribute, study, change and improve the software. More precisely, the term refers to four kinds of freedom for the users:

  1. The freedom to run the program, for any purpose (freedom 0).
  2. The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help your neighbour (freedom 2).
  4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

"Free" in this context generally refers to liberty, rather than price. Users are urged to think of "free" as in "free speech", not as in "free beer". We also think of Free as being this awesome human being who leads 64 Studio development and maintains our software repositories.

A program is free software if users have all of these freedoms. These freedoms are enshrined and protected in the various forms of the GNU GPL or GNU General Public License, the most popular of the many Free Software licenses available.

Although these freedoms may not appear to have such a great impact on the casual user, as soon as you start creating products, materials or new software the benefits of the free flow of information and the ability to interact with the development process start to make a significant difference.

What is the GNU project?

The GNU Project was launched in 1984 to develop a complete UNIX-like operating system which is free software: the GNU system. Variants of the GNU operating system, which use the kernel called Linux, are now widely used; though these systems are often referred to as "Linux", they are more accurately called GNU/Linux systems.

GNU is a recursive acronym for "GNU's Not UNIX"; it is pronounced guh-noo, like canoe. Geeks love recursive acronyms, they make them feel special.

Before you start

First, back up any existing data or documents on the hard disk on which you plan to install 64 Studio. It is a wise move to back up all essential information that is on the target machine before you do anything else. It is likely that you will need to re-partition your disk to make room for 64 Studio. Changing your partitions around can result in accidental data loss, no matter what program you use to do it. This doesn't mean that we think there is anything wrong with the installation software, just that if you delete the wrong partition, it could be impossible to get your data back. Making proper backups is such a sensible idea that we will recommend it time and time again. Even after backing up, be careful and think about your answers and actions. Two minutes of thinking can save hours of unnecessary work.

If you are creating a multi-boot system, make sure that you have the installation media of any other present operating systems to hand. It is possible that you will need to re-install all or part of your old system in order to get it to work properly again if the install doesn't go smoothly. Better safe than sorry.

Information is power

You will benefit from gathering as much information about your computer as possible and any needed documentation, before you start the installation. Make sure your hardware is set up correctly and that everything you are going to want to use (network, printers etc) is all properly connected. In many cases, the installer will be able to automatically detect your hardware, but it is worth knowing a few details, such as:

  • How many hard drives you have, what order they are connected in and how they are partitioned, including how much free space you have and what other operating systems you already have installed;
  • Monitor model & manufacturer, screen size, resolutions supported, horizontal & vertical refresh rate and colour depth if you can find that out;
  • Mouse type and port (ps/2, serial, PS or whatever), manufacturer and number of buttons;
  • Video card, model & manufacturer, resolutions supported, amount of video RAM;
  • Model & manufacturer of your network card, type of adaptor;
  • Printer model & manufacturer, print resolutions supported;
  • and finally your Processor type and speed.

This information can be obtained from a variety of places; the manuals or documentation that came with your hardware, the BIOS setup screens accessible during the power on self test (POST) at boot time by pressing the DEL, F1 or sometimes CTRL+ALT+ESC key combination. The System window in the Windows Control Panel or separate diagnostic utilities. You should also check with your system administrator or Internet Service Provider for the settings you will need to set up your networking and e-mail, these may include;

  • Your host name
  • domain name
  • your computer's IP address
  • netmask
  • the IP address of the default gateway
  • and DNS (Domain Name Service) server address.

If a DHCP server is available, you probably won't need this information. If you use a wireless network, you should also find out the ESSID of your wireless network and WEP security key (if applicable).

Driver support

While you are at it, you may want to check whether your hardware is supported by Linux drivers. Most types of hardware should work out of the box, but there can be problems with hardware that is Windows-specific and some very new models for which Linux drivers have not yet been written. Check out the Hardware-HOWTO for further information. It may be worth checking over your BIOS settings to ensure that you don't encounter unexplained problems during installation.

It is commonly said that you only need to install a Debian system once. It is increasingly rare to ever find yourself in a situation that actually requires re-installation of the entire system, indeed it is much more likely that your system can be repaired rather than replaced if things go wrong. Upgrades certainly never require a wholesale reinstall, it is always possible to upgrade a running system. Similarly, most configurations do not require rebooting, and it is rare that rebooting will ever solve any problems - in fact, sometimes it can make things worse. Generally speaking, you should expect to perform repairs, upgrades and configurations on a running system once you have completed the initial installation.

A word about partitions

You may need to create some extra space for 64 Studio on your hard disk. If you already have another operating system installed, you may want to split the disk up, which will involve resizing your existing partition and creating a new one. Tools like Fdisk or PartitionMagic are usually recommended for this task, you may also find suitable tools in collections such as the Ultimate Boot CD. If your machine has more than one hard drive, it is a good idea to install 64 Studio onto the second drive. As a general rule, Windows cannot cope with multi-boot installations very well, so if you want both Windows and 64 Studio installed on the same machine, you should install Windows first, and let 64 Studio's boot loader launch Windows for you.

The partitioning tool that comes with the 64 Studio installer is powerful enough to handle resizing FAT or NTFS partitions, so it is entirely possible that you may be able to avoid this step altogether. You should certainly let the installer create any further partitions that are necessary for the 64 Studio install, as the Linux partitioning tools will generally do a better job. For this first step, you just need to make sure you have some free space for the installer to work with.

Download the installer

Now it is time to get the install disk and any specialised driver files your machine requires. Go to the download page and choose either an amd64.iso or i386.iso depending on the architecture of your machine. The amd64 image is for 64-bit x86 compatible chips from both AMD and Intel, which include the Opteron, Athlon 64, Turion, newer Sempron, Core 2 Duo and newer Xeon CPUs. The i386 image is for all older and low-power CPUs, including the original Athlon, the older Sempron, nearly all the Pentiums, the Via C3 and the AMD Geode.

You can download the image using your web browser or use a command line tool like wget; but it is usually faster to use a download manager, such as bittorrent or jigdo. Be sure to download the files in binary mode, not text or automatic mode. Next, burn the downloaded ISO on to a fresh CD. I used K3B, but you can use whatever CD burning software you have to hand, so long as it lets you burn an image directly on to the CD. This isn't data or an audio file, we want the burning software to make an exact bit for bit copy of the ISO onto the CD without adding anything or taking anything away. If you have problems, check that you have downloaded the image without any errors, by comparing the md5 sum of your download with that published on the 64 Studio site. If you still have problems with the installer, try burning the CD at a slower speed.

Minimum system requirements

You will need at least a Pentium II or equivalent to run the 32-bit build of 64 Studio effectively. It is possible to install on older hardware, but the machine will struggle to run the more CPU-intensive programs. Here are some suggested hardware minimums for music production work, which depend on the kind of applications you want to run:

  • Basic MIDI use >= 400MHz CPU with 128MB memory
  • Audio recording with minimal DSP plug-ins >= 800MHz CPU with 256MB memory
  • Soft synths >= 1.0GHz CPU with 512 MB memory
  • Mixing and mastering with heavy DSP >= 2.0GHz CPU with 1GB memory

If you have less resources than this, try using an external MIDI device to generate audio instead of a soft synth, or on a low budget, a Sound Blaster type card that supports on-board soundfonts. A good video card is also reckoned to be an advantage, as the on-board video chipsets use up system RAM.

AMD chips are preferred to Intel CPUs by some 64 Studio users. AMD invented the 64-bit extensions to the x86 architecture, so these AMD64 chips have been supported under Linux for longer than their Intel equivalents. For maximum performance, a dual CPU or dual-core system is a great choice, although it may use more energy, require more cooling, and therefore be noiser than a single-core system. Some audio problems have been noted with cheaper VIA and SiS motherboard chipsets in the past.

Booting the installer

Now you are ready to put the new disk into the CD drive and reboot your machine. This should present you with the friendly graphical screen for the Debian GNU/Linux installer that 64 Studio uses, and the boot prompt.


Press F1 for help, or ENTER to boot:


Unless you know you need special boot options hit enter and wait for the selection screen with the blue background to appear. If the CD doesn't boot, check your BIOS settings. You may need to change the boot order so that your computer attempts to boot from CDROM before the hard drive. Information on available boot methods and on boot parameters which might be useful can be found by pressing F2 through to F7. If you add any parameters to the boot command line, be sure to type the boot method (the default is install) and a space before the first parameter (e.g., install debconf/priority=medium).

Sometimes this part of the process can bring other hardware issues to light:

"...This didn't go at all smoothly, and I found my problems with my CD player were getting worse in a kind of randomly degenerating manner. I got so sick of listening to my CD player thrashing about and generally not doing as it was asked, The rather arcane error messages I'd been receiving didn't make an awful lot of sense, but it was clear that my CD player wasn't able to receive the control messages it needed, so I thought I'd take a peek inside the case (again) just to see if there was anything completely obvious that I'd missed.

I noticed that the Hard Drive and CD were plugged into the same IDE port, I mean I'd noticed it before and wondered why the other one didn't get used and assumed blondly that there must be some good reason. Well, I guessed it might not hurt if I tried plugging the CD player into the second one and Joy of Joys, my BIOS instantly recognises what I've done and prints an understandable message. Hooray!"

Selection of installation language

A stripped-down version of Linux is loaded into memory and various bits of information will scroll past the screen. You probably won't need to worry too much about these messages, unless your machine mysteriously fails during the process. Eventually you will be presented with a simple blue screen, from which the installer will prompt you for various bits of information:

  • Choose Language

  • Please choose the language used for the installation process.


  • Choose Country

  • Based on your language you are probably located in one of these countries or regions.


  • Choose Keyboard Layout

  • Select a keyboard layout


Activating the Ethernet network connection

Once you've chosen your language, the installer will scan your system for information about your hardware, check the CD for packages and load additional components to facilitate the next stage of installation. In this stage the installer attempts to find your network hardware and configure it using DHCP. If you do not have DHCP on your network, you can configure the network manually after installation (System > Administration > Network in the Gnome menu).

The installer will go on to detect your disks and other hardware.

Partitioning the hard disk

The next stage of the installation is titled 'Select drive to install on.' Up to this point we haven't installed anything permanent yet. Now we are approaching the only scary part of the process. Getting your partitioning scheme wrong is one of the few reasons you may ever need to re-install. You backed up all your data already, right? So you've nothing to fear.

On Linux, disk drives correspond to files in the /dev directory, and are referred to like this:

  • Primary IDE device on the primary IDE controller = /dev/hda
  • Slave IDE device on the primary IDE controller = /dev/hdb
  • Primary IDE device on the secondary IDE controller = /dev/hdc
  • Slave IDE device on the secondary IDE controller = /dev/hdd

SCSI and SATA devices are listed differently. They are usually /dev/sda, /dev/sdb, etc. If you have installed Windows on this machine, /dev/hda will usually be what Windows refers to as the C:\ drive.

It is best to choose Erase the Entire Disk here, or use the largest continuous free space if you want to keep any pre-existing content on your drive. If you are planning on dual-booting 64 Studio with another operating system, it may be wise to install Linux on a separate hard drive, although it's not strictly necessary. If the available space is larger than 40GB you may want to further partition the space in order to give you more flexibility later on.

Partitioning Scheme

If you have no idea about this, or a really small hard drive, you may be better off choosing All Files in One Partition. However, the choice of separate /home, /usr, /var, and /tmp partitions can help increase security and stability. If you are installing into 20GB or more of space, this is a good option. Check the suggested partitioning scheme, the guided partitioning usually does the right thing here. If you choose manual partitioning, you can use the installer to re-size existing FAT or NTFS partitions to create room for 64 Studio.

Select the partition you want to change using the arrow keys on your keyboard, and hit Enter. You will be presented with a list of options. Most likely you will want to re-size the partition, if anything. You will be prompted to write out the partition table first and then be prompted to input the desired size; you can enter this either as a percentage of the available free space or as a fixed amount of Megabytes.

Next, the system will set set up the partitions and then perform the resizing operation. Remember, you must assign at least one partition for swap space and one to mount a partition on /, the filesystem's root. There is a useful help file available from this screen, which is well worth reading for additional information. Select Finish Partitioning and write the changes out to disk.

WARNING: This action is not reversible. It is worth making a note of the partition table using a humble pen and paper while you're doing this, it may save an awful lot of faffing around later.

That's it, you are now committed to installing 64 Studio, this is the point of no return. The installer will now create the filesystem for you and set up the clock.

Installation of the system

Next you will be prompted for:

* Root password

Root is the system administrator. Even if only one person uses the computer, you still need a separate password for this user.

* Main user name, and password

Choose your password sensibly; make sure it is something you will remember, and be aware that all passwords are case sensitive under Linux. Short passwords or dictionary words aren't very secure.

With all that out of the way, the installer will begin actually installing the Base System; this can take up to ten minutes or so. Next the installer will select and install all the rest of the software you will need. The length of time this takes depends on your system. It took me about 45 minutes on a 1GHz Celeron. Now may well be a good time to make a hot beverage and grab a bite to eat. The process of unpacking and configuring the rest of the software doesn't require any user intervention.

If you get especially bored while this is happening, it may amuse you to know that you can access two other screens during the installation process:

CTRL+ALT+F2 will give you a command line, which hopefully you'll never need at this stage
CTRL+ALT+F4 will show you a blow-by-blow account of what is happening during the install process

These messages can also be found in the file /var/log/messages. After installation, this log is copied to /var/log/debian-installer/messages on your new system. Other installation messages may be found in /var/log/ during the installation, and /var/log/debian-installer/ after the computer has been booted into the installed system.

Installing a boot loader

In order to let you choose whether to start up 64 Studio or any other system next time the computer boots, GNU/Linux takes control of loading the operating system, using a bootloader known as GRUB - the GRand Unified Bootloader. Check that the following operating systems have been discovered on your computer: includes any other operating systems you have installed. In which case, it is safe to say yes to overwriting the Master Boot Record. Next time you boot, GRUB will take over the boot process and offer you the choice of booting into 64 Studio or your other systems.

The installer will complete the installation once this is done, and eject the CD. Remove the CD from the drive and reboot. Assuming all has gone well, you have now completed the installation and are ready to use the system. Well Done!

If all hasn't gone so brilliantly, then you will need to get down and dirty, and do a crash course in GNU/Linux troubleshooting. GNU/Linux will often refuse to do anything meaningful unless it is configured correctly. While this can provide a bit of a headbanger for the new student, the payoff in system stability means it is well worth persevering with. Crashes and failures can often provide us with useful clues, and it is a good habit to copy or write down the error messages you get, verbatim, in case you need to search for further help on the Internet.

The Appendix pages provide trouble-shooting advice if your system refuses to boot the installer, and some guidance on what to do if you can't get a login screen immediately once you have completed the installation. We have also provided some links to various useful HOWTO guides and other resources mentioned in this text. Follow the instructions carefully and precisely, authors usually mean exactly what they say - trying to futz it from the bash prompt when you don't know what you're doing can often equal another few days of scorched frontal lobes. The good news is that you are far from alone, and there is a wealth of help and advice available - that said, it can be very useful to have access to another working computer that can access the Internet, especially if this is your first time installing GNU/Linux.

Appendix: Troubleshooting

The graphical interface fails to start

This is probably due to your video card not being properly detected. You may need to search the internet to find out if your video card is supported by X.org, and which is the right module (driver) for it. Note also that some NVidia and ATI cards need proprietary drivers to work with 3D acceleration, which you will need to install once the system is running.

Normally, after X setup has failed you will get a screen telling you that X failed to start and the option to view the error logs. Look for the lines marked 'E' - copy them out verbatim in case you need to search the internet for further clues. X.org can be reconfigured from the command line; you will need to log in as root, using the password you chose during installation. If your system is really wedged, you may need to reboot into rescue mode from the GRUB boot screen in order to do this. From the root prompt (#); issue this command:

# dpkg-reconfigure xserver-xorg

The configuration file is located at /etc/X11/xorg.conf - read this file well, you will probably need to modify it manually at some point. Also remember that if something has been modified manually you will then need to run the following commands in order to prevent your changes from being automatically overwritten by dpkg-reconfigure:

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
# sudo sh -c 'md5sum /etc/X11/xorg.conf > /var/lib/xfree86/xorg.conf.md5sum'
# sudo dpkg-reconfigure xserver-xorg

64 Studio cannot detect my DVD or SATA drives

This can happen with some DVD/RW drives and SATA hard disks. Check the settings in your BIOS; some people have found setting the SATA mode to "enhanced" instead of "auto" helped. Some BIOSes can be set to auto-detect your disks, you may also find setting the second IDE to "auto" rather than "CDROM" helps with DVD drives.

Configuration Guide

An introduction to the GNOME desktop, covering file management and launching applications;
system setup, including display resolution; printers and connecting to the internet via ethernet and wireless LAN. This chapter guides the user through loading the newly installed system for the first time and making some initial system settings.

Exploring the software

After your computer has booted, you should be presented with the graphic login screen. Enter the user name and password you chose during the install (or that your System Administrator gave you, if someone else installed it), and your new GNOME desktop should open up before you. The default screen may seem rather spartan, but it hides incredible power - all the tools you need to realise your creative projects sit before you. If the way it looks is not to your liking, you can customise almost every part of it - this is your desktop. Welcome.

Selections and Icons


When you have to choose an icon or menu item with the mouse, you may be told to select or to click or click on it. All these instructions mean that you should select an item with the cursor while depressing the left mouse button. Left-handed users may need to reverse this, naturally. Similarly, right click means to use the outside mouse button, while, middle click means to use the middle mouse button or the equivalent. Linux generally works best with a three-button mouse. If you do not have a middle mouse button, you can emulate three buttons by clicking the left and the right mouse buttons at the same time. Dragging is the action of moving the mouse whilst holding down the mouse button.

Some applications use a Windows or Mac style Clipboard, but there are also these things called the primary and secondary selections. The middle mouse button is nearly always configured to paste the primary selection, which is the bit you just highlighted with the mouse (just in case you were wondering).

The icons on the desktop open up file-browser windows when you double click on them: for the computer; your home directory; any mounted partitions and the wastebasket respectively. The main menu is located under the 'foot' icon on the extreme left of the panel at the bottom of the screen. On the right hand side you have a clock, volume control and desktop switcher. You have four independent desktops that you can spread your work over, and then easily switch between views by clicking through the squares on the right hand side of the panel.

Main Desktop Menu

If you are used to having icons for your most commonly used applications on the desktop, you can drag the entry from the menu on to the desktop or panel, where a link will be automatically created.

Administration

Most of 64 Studio's configuration tools are in the Desktop > Administration menu. You need to have root privileges to use most of these configuration tools. If you're not the person who deals with this stuff on your machine, you can skip to the end of the page.

If you find you have problems accessing these functions as root, receiving messages like "You are not allowed to access the system configuration" or "There was an unknown error communicating with the backends:", it is possible that you don't have the package libnet-dbus-perl installed / configured correctly. The fix for this is as follows:

# apt-get install libnet-dbus-perl
# /usr/sbin/64studio-config new

Networking

The installer should configure the network for you. If for some reason that hasn't happened, then you will need to configure the network by hand.

The network configuration utility can be accessed from the Desktop > Administration > Networking menu entry. You can also invoke it from the command line thus:

# network-admin

You will be prompted for the root password, then a window comes up listing all the available devices, You will probably want to select the Ethernet connection. Click the Properties button and check enable this connection. Choose DHCP under Configuration unless you know you want to use a static IP address. OK your settings.

Back at the main Network Settings window, click the Activate button and you should see the message that interface eth0 is now active. You may need to specify DNS addresses in the DNS tab if using a static IP address (DHCP connections should pick up DNS addresses automatically). These DNS addresses are stored in the file /etc/resolv.conf.

If you use dial-up or PPPOE (PPP over Ethernet) on an ADSL connection, use pppconfig or pppoeconf instead.

If you're on a laptop with a PCMCIA network card, you may need to configure pcmcia-cs before this will work. Common and well-supported PCMCIA network cards are usually set up automatically.

As this is a GNU system, there are several different methods you could use for configuration. If you have a preferred method of setting up your network, it should also be available, and you can always edit /etc/network/interfaces by hand. The information you need to do this is at:

# man 5 interfaces

The name of your computer is kept in the file /etc/hostname, check that is correct. If there are other machines on your network, you can list their hostnames and network addresses in the /etc/hosts file, so your machine can easily find them.

You can then bring the network up with:

# ifup eth0

And bring it down again with:

# ifdown eth0

or whatever interface you are using instead of eth0. You can also do this with the Activate and De-activate buttons in the Network Settings interface.

You can check whether the network is active by pinging a known address, such as a modem configured to act as a gateway:

$ ping 192.168.0.1

If it comes back with a list of times taken to get a response and 0% packet loss, you can be sure that the network is OK. If you are experiencing any degree of packet loss, then you need to delve deeper. System Tools > Network Tools provides a box of graphical tools for further investigating the network.

Wireless connections

Wireless network connections are set up in the same way as Ethernet, except there are extra fields to fill in with details of your access point. If you configure your wireless connection with the correct details but it does not work, you should search on the internet for information about Linux support for your specific hardware. You will need to make sure the wireless-tools package is installed before you can configure your wireless card, with applications such as iwconfig.

Printing

In order to set up a new printer, double click on the 'New Printer' icon. Follow the steps presented to you by the wizard. Choose the means by which the printer is connected, find the Manufacturer and model from the drop down lists, and click Apply. You should see your new printer appear in the Printers window. You can also configure your printer using your Web browser, go to http://localhost:631/ and follow the instructions. For command line queue management, read the manual pages of lpq(1) and lprm(1). See the links at the end of the page for further reading.

Services - Taming daemons

One of the common questions asked by new users concerns the various services that the computer keeps running in the background. Under Linux these are known as daemons. 64 Studio enables a limited set of daemons, so that your computer has more resources available for making music, editing video and other real-time operations. You probably won't need to worry about these initially, but they can be easily managed from Desktop > Administration > Services.

By default, you have running:

The configuration files for these services live in /etc/init.d/ and are started and stopped by means of links in /etc/rc2.d/, which can be updated via the update-rc.d command. Further information about what these daemons do can be found by looking up the respective man pages.

Users & Groups

When you installed 64 Studio, you will have created at least two user accounts: a regular user account for everyday computing, and a root account for system administration. Normally, you also want one regular user account for each person who uses the system. User accounts can be managed via System > Administration > Users & Groups.

In order to create a new account, click on Add User then Add the new username and password. You can have a random password generated if you want, but it's probably more useful to choose something memorable. You'll want to leave the advanced settings as they are unless you know what you're doing, but you may want to set various user privileges, such as being able to use audio devices and CD-ROMs.

For greater security, Linux makes strict use of accounts. Unlike some operating systems, you cannot bypass logging in to the system by pressing the Enter key. Most users have only limited access to files. Typically, only the root user (also called the superuser or system administrator) has access to all files. User accounts are organized into groups of accounts with similar access to the system. The software and the hardware you can use depends on the user account that you are using and the groups to which it belongs. One of the most common problems faced by new users is not being able to open files due to not having the right permissions.

Synaptic

Synaptic allows you to install additional software as and when you need it. You can find it on the System Tools menu. The software is organised into downloadable Packages, which can be further grouped into Tasks for ease of installation.

Upgrading: Click on the Reload button, Synaptic will download all the new package information available and then click on Mark all Upgrades. In the left-hand panel there are four buttons at the bottom, click on Custom Filters > Marked Changes to check what changes are being recommended. If you are happy with what you see (you can usually trust the APT system to do the right thing) then click on Apply. Synaptic brings up a summary screen to give you a last chance to change your mind, which if you confirm your choices, will fetch the necessary packages from the repository and install and configure them. Occasionally it may prompt you for some input, but mostly it will do it all for you. As soon as you exit Synaptic, the new applications should become available in your menu.

If you've just installed 64 Studio, the chances are there won't be all that much to upgrade just yet, so far so boring. However 64 Studio only supplies a limited set of applications (a measly 941, most of which you'll already have installed) and you may soon discover that you want other free software to run on your system. The good news is that there are nearly 17,000 more packages available from Debian, most of which will work well in 64 Studio.

First we go to Settings > Preferences; in the Distribution tab change Package Upgrade Behaviour (default distribution) to Prefer versions from: 64studio and click OK. Second, we open up Settings > Repositories and click on New. In the URI: field paste the address of your nearest Debian mirror, this can be found at http://www.debian.org/mirror/list, I put in ftp://ftp.uk.debian.org/debian/. In the Distribution: field you want to include the version of Debian closest to 64 Studio, at the moment this probably wants to be the stable branch (codename etch). The Section(s): field should contain at least main, but you can include contrib and non-free if you really need to. You will have to click on the Reload button again for your changes to take effect.




Now you have 17,000 more packages to choose from. Nice. If you want to find a particular package, use the Search dialog to find it, Synaptic will provide a filtered list with all applications that mention your search term in the package name or description. In order to install a package, right click on the entry and select Mark for Installation. Synaptic will probably come up with a list of recommended changes; it's usually best to accept them, unless you know better.

See also: Upgrading 64 Studio

Shutting Down

Eventually you realise that your eyes are beginning to fall out of their sockets from too much reading. It's probably time to switch the computer off for a bit and slip into something more comfortable, like sleep. Linux generally runs several processes at once, most of them in the background, where they are easy to forget. For this reason, shutting down the system properly is essential. If you do not shut down properly, you may damage the operating system or lose files. Although the ext3 journaling file system provides some protection against unexpected power loss, there's no need to risk possible system damage by reckless disconnnection. You can shut down safely from the menu, command line or log-in screen. In an emergency, such as a software crash, it is usually possible to get the machine to safely reboot using the Ctrl+Alt+Del key combination. As a general rule, so long as your keyboard still works (you can usually test whether the CapsLock or NumLock keys light up their respective LEDs) you have a chance of safely rebooting the machine.

Now you are ready to start personalising your working environment.
Next: GNOME Preferences

links

Jargon busting
There is a lot of jargon that goes along with Free Software - processes, packages, daemons, bash, HOWTOs and so on. The best resource to study is Eric Raymond's famous Jargon File and its print version, The New Hacker's Dictionary. You may find it useful to keep it open in another browser tab while you're reading this if you're new to Linux.

The Linux Documentation Project:
Linux Tutorial
Configuration HOWTO

Network config:
Debian Reference - Network configuration
The Network Administrators' Guide
Linux Networking-HOWTO

Printing
OpenPrinting - The Linux Foundation
CUPS Printing Setup Mini-HOWTO
Common UNIX Printing System

GNOME Preferences

The GNOME desktop is an infinitely customisable environment. The Desktop > Preferences menu provides the means to adjust the most commonly used settings. Here follow some suggestions on how to tweak GNOME appropriately for your own needs.

Accessibility

Assistive Technology Preferences: You may want to install additional software such as Orca and Gok for the latest features
You can configure assistive technology support such as the Gnome Screen reader, Magnifier or On-screen Keyboard, should they be required. You will need to log out and back in before these changes will take effect.

About Me

About me:
Fill in personal details. Most importantly, this dialog allows you to change your password if necessary.

CD Database Server

Configure the system to look-up and submit CD track listings.

Desktop Background

Desktop Background
You can choose one of the supplied images or import one of your own. The dialog allows you have the image fill the screen, centred, scaled, zoom or tiled as you choose. You can also choose to have a plain colour instead.

The process of creating a new desktop background is simple, just create a new folder called 'wallpapers' or something similar and save appropriate artwork into that. You can make wallpapers yourself quite easily using one of the graphics applications.

File Management

File Management Preferences
Configure the behaviour of nautilus, the file browser. Nautilus also controls the look and behaviour of your Desktop.

File Associations can be controlled by selecting Right-click > Properties from the File Icon's context menu. The Open With tab controls file associations and the Permissions tab controls, erm, permissions. So long as you own the file you should be able to edit as you see fit.

Files with names beginning with a dot (period) are hidden by default. Tick View > Show Hidden Files in order to view them with the file browser.

Font

Font preferences
Choose which fonts are used to display things on the desktop. Some users find larger fonts or a different style such as serif can make on-screen reading easier.

If you don't like the initial font selection in 64 Studio, you can get more fonts from the main Debian repositories. Search for "fonts" using the Search facility in Synaptic. Look for packages starting with "ttf" or "xfonts", there should be plenty to choose from.

Keyboard

Keyboard Settings: The button at the centre bottom of the dialog allows you to configure AccessX features such as sticky; repeat; slow; bounce; toggle and mouse keys.
Configure keyboard behaviour to suit your needs.

Keyboard Shortcuts (Hotkeys)

Edit your keyboard shortcuts
Many functions can be called using key combinations, as in other operating systems. Linux's equivalent of 'hotkeys' are called keybindings: there are two main conflicting standards - A sort of Windowsy one and the GNU-emacs standard (all that C-x C-c stuff you keep seeing) The good thing is you can usually define your own.

Login photo

Login photo
You can drag an appropriate image of yourself to be used on the GDM login screen. You need to use a theme that displays a list of users for this to work.

Menus & Toolbars

Menus and Toolbars
Configure the behaviour of Menus and Toolbars on a simple level.

Mouse

Mouse Preferences
Configure the mouse for left handed use, pointer themes etc.

Multimedia systems selector

Define the default plugins to use to play Audio and Video. You shouldn't have to mess with this.

Network Proxy

Network Proxy
If you don't know what one of these is, you probably don't need it right now. Your network administrator may require you to use a proxy to access the internet, if direct connections are disallowed.

Preferred Applications

Preferred Applications
Allows you to specify which Web browser, mail client and terminal application you want to use as default. For greater control over default applications, you need to use the command-line

# update-alternatives --all

This will take you through all the application types that have multiple posibilities and offer you the choice. If you don't know or care, you can press enter to choose the existing default.

Removable Drives and Media

Hardware Preferences: Drives, Cameras, storage devices, printers scanners etc.
Configure how the system deals with external drives and devices, like digital cameras, removable storage devices, PDAs, printers, scanners and the like.

Screen resolution

Screen Resolution
Adjust the screen resolution from your desktop.

Screensaver

Screen saver preferences
Choose screensaver themes and fine tune them. You can choose whether to lock the screen when the screensaver activates, this forces you to enter a password when you return to your computer before you are allowed back into your Desktop. It's enabled by default, but only really useful in multi-user situations.

Sessions

GNOME Session management
This allows you to save your session. Whatever applications you have open now will start up the next time you log in. You can manage your Current Session in the middle tab. Select any applications that you don't want to start up by default and click on the Remove. When you are happy with the list you have left click on Apply. You can configure which applications you do want to open up by default the next time you log in, by adding them to the list in the Startup Programs tab. Once you're satisfied with your choices you can click on the Save the current session button in the Session Options tab.

Sounds

Desktop Sound Theme preferences
Enables you to choose audible alerts and ear-candy themes. This is disabled by default in 64 Studio.

Theme

Visual theme preferences
New themes can be installed using Synaptic; go to Sections > GNOME Desktop Environment and select gnome-themes-extras for installation or choose one of the gtk2-engines-* packages. Alternatively there are lots of themes available online (see links below).

Themes, Icons and window borders can be installed by dragging and dropping them onto the theme manager.

It is possible to create custom themes by mixing and matching theme, icon and window border sets and it is also possible to edit your gtkrc file and make custom pixmap textures to create further variations.

Volume control

Volume controls
The default mixer for the audio system. File > Change Device allows you to switch between audio devices if you have more than one attached to your machine. Edit > Preferences controls which channels are visible.

Windows

Window behaviour
Hold down the ALT key whilst dragging with the mouse to move windows around.
The behaviour of windows can be further modified in Desktop > Preferences > Windows.

links

Accessibility
GNOME 2.14 Desktop Accessibility Guide
Linux Accessibility HOWTO
Desktop Themes:
http://art.gnome.org/
http://www.gnome-look.org/

E-mail and Internet

One of the first things you're going to want working on your new system is Internet access. This section walks you through the basic steps to get email set up, configure the web-browser and get chatting on IRC.

Configuring E-mail

Launch the default e-mail client from the main menu Internet > Icedove Mail Client
First you will be prompted to import Preferences, Account settings and Address Book. If this is a new install there will not be anything to import, so select Don't import anything and click Next. Icedove should open up with the New Account Wizard activated; you probabaly want to set up at least one email account. First you fill in the name you want others to see in the 'From' field when they receive your emails and the address that they will send emails to you by. Next choose whether you want POP or IMAP (POP mail is downloaded onto your computer and is the usual choice, IMAP reads mail from the server and requires being on line, this second option is less usual) and fill in your incoming and outgoing server with the addresses that were given to you by your ISP. Next, you need to fill in your actual user name as given by your ISP (this may be different from your Identity that you specified first). Lastly, you specify how you want Icedove to refer to this account. You can put whatever you like here, something nice and clear like Personal Email would work.



Assuming you have filled in all the details correctly, Icedove will immediately connect to your email server and attempt to download your emails. You will be prompted for the password given to you by your ISP.

Because of the problems of spam you may need to train Icedove to recognise junk. When you download your emails for the first time, Icedove will do its best to figure out what is spam, and what isn't. It is a very good idea to go through the mail once it has all been downloaded and correct Icedove's guesses. You will see that some mails have a junk icon in the 6th column, in between Sender and Date. Clicking in this space will toggle the setting. Once all the mails have been correctly identified, go to Tools > Delete mail marked as junk and move all the spam into Icedove's trashcan. If you are sure that you don't want to keep any of it you can get rid of it permanently by clicking on File > Empty Deleted.

Now might be a good time to consider signing up to the mailing list.

Make your web-browser use your email client



New users often find that clicking on email links in web pages brings up an unfamiliar interface. The fix for this is to set Iceweasel to mail links using Icedove. In Iceweasel, type about:config in the URL line and hit Enter. That results in a display of a long list of advanced preference settings. Then, perform these steps:

Right-click > New > String
in the dialog box, type network.protocol-handler.app.mailto and click OK
in the next dialog box, type /usr/bin/icedove and click OK

Finally, be sure there's a symlink at /usr/bin/icedove that points to your system's Thunderbird executable. Iceweasel's preferences are stored in /home/<username>/.mozilla/firefox/<profile>/prefs.js.

Configure Iceweasel to use ALSA

Edit /etc/iceweasel/iceweaselrc to include
# which /dev/dsp wrapper to use
ICEWEASEL_DSP="aoss"

Extending Iceweasel

Iceweasel's extensions are add-on programs which are installed within Iceweasel from the Mozilla web site. Extensions are available for Blogging, Web Developing, Dictionaries, Download Tools, Editing and Forms, Image Browsing, Languages, Message Reading, News Reading, Privacy and Security, Search Tools and lots more. To add an extension click on Tools > Add-ons to bring up the Extensions dialog.

Flash

Enabling Flash is now a simple job.
# apt-get install flashplugin-nonfree nspluginwrapper

The flashplugin-nonfree package is actually a wrapper which downloads the latest proprietary plugin from Adobe when you install it. You will need to restart the web browser before this takes effect.

You can test the plug-in by visiting a site that you know has flash content such as http://www.myspace.com/. If, for some reason installing the flash plug-in didn't work you have the option to click on the 'install missing plug-ins' button, which will appear at the top of the page, or you can also install it from the Tools > Add-Ons menu in Iceweasel, which will take you to the Firefox website https://addons.mozilla.org/firefox/plugins/

Flash player is in the plug-ins section. The link takes you to the Adobe site and you will want to download the .tar.gz file which will be something like http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_p.... Follow the instructions, extract the package and run the installation script as root. This will enable all users to take advantage of the plug-in. You will need to tell the installer where your copy of Iceweasel is located, which will be something like /usr/lib/iceweasel or /usr/lib/firefox if you're not using the Debianised version.

Firefox / Iceweasel what's the deal?

Iceweasel and Icedove are re-branded (i.e. Debianised) versions of Firefox and Thunderbird respectively. This is due to an ongoing argument over trademark issues, which I can't be bothered to go into here. We use Snowpigeon and Slushferret, or was that Frostchimp? If you don't like it, install something else. This is Linux, you're in control now, you'd better get used to it.

Chatting and Messaging

Messaging software can be found at Internet > Gaim Internet Messenger. Go to the Accounts menu and click Add/Edit. Gaim supports AIM/ICQ; Bonjour; Groupwise; IRC; Jabber; MSN; QQ; Simple and Yahoo. Gaim will then connect to the specified account and you can start messaging right away. This would be a good point to set up an IRC account. Just specify a nickname in the dialog provided in Accounts > Add/Edit with irc.freenode.net as your server. You don't need to create a password. Login to #64studio using Buddies > Join a Chat and say hi.

Next: Advanced configuration

Links

Mozilla’s Thunderbird 2 email application
Firefox Web browser
Pidgin - a multi-protocol Instant Messaging client
What is IRC?
Internet Relay Chat (IRC) help archive

Advanced configuration

Every creative user will quickly reach a point where the standard desktop utilities don't provide them with the options they're looking for. In this section we introduce some advanced tricks and tips which allow you to further customise your desktop.

The Command Line Interface

In order to get to grips with more advanced configuration of the system it will be necessary to familiarise yourself with the Command Line Interface. The CLI is much more flexible than you might think. It includes the abilities to cut and paste, to re-use previous commands using the Up Arrow key, and to auto-complete commands and addresses as you type them using the Tab key. Try it for yourself! The command line can be accessed from Accessories > Terminal in the main menu.


We use a few conventions in this manual when referring to command-line techniques.

$ - The dollar sign is the prompt for an ordinary user. You don't type this in, just everything after it.

# - This is the prompt for the root user, again type in everything after it.
In order to access this prompt you need to use the 'Switch User' command:
$ su
You will then be prompted for the root password. It is best practice not to stay logged in as root any longer than you need to in order to perform certain configurations. Heed these warnings and you will have a much easier time of it.

Many Linux system settings can be changed by editing a configuration file in a text editor, such as gedit or nano. These can both be launched from the command line.

Essential further reading on this subject is listed at the end of the page.

Getting information about your system's resources and processes

From time to time you will need more information about what processes are actually running on our system and how much processor power and memory they are using up. Right-click on the Panel and choose Add to Panel and select 'System Monitor' - this will add a little box that shows a graph of processor activity. It's quite useful to check whether your computer is actually doing anything. There is also a nice little graphical toolbox available from System Tools > System Monitor, which covers most of these functions.

In order to see what processes are currently running use
$ ps fax
The standard means for checking resource usage is
$ top
You can also check how full your hard-drives and partitions are with
$ df -h

You can list all your hardware devices and their addresses with
$ lspci -v
And you can check which driver modules you have loaded with
$ lsmod

You can view the boot messages (all that scrolling text you see when you boot up the machine) with:
$ dmesg
If you want a running commentary on what the system is seeing,
$ tail -f /var/log/syslog
can provide useful debugging output in many situations.

You can use these messages to help troubleshoot problems at boot-time and copy / paste the relevant error messages into an email if you need to ask for help.

GNOME Configuration Editor

GConf-Editor is a tool used for editing the GConf configuration database. It looks like a simplified version of the Windows registry editor, but don't let that put you off. It controls the entire GNOME configuration database and can often be a convenient way of adjusting advanced settings if you don't want to get your hands dirty with the command line. Gconf-editor does not come as standard in 64 Studio so you will have to install it:
# apt-get install gconf-editor


Adding custom shortcuts

You may want to bind an arbitrary keyboard shortcut to an action (eg. launching an application), but the default Gnome tool allows only a set of predefined actions. Here is the procedure to add custom actions to bind to a key combination. This is not the recommended way of setting desktop preferences, but it might be useful when the proper configuration utility for some software provides no other way of changing some option. First you must launch gconf System Tools > Configuration Editor.

Then you have to find the key apps > metacity > keybinding_commands > command_1 through the gconf tree. There you can specify (in the "value" field) the command to be launched (eg. xterm). You have now associated command_1 to the command xterm.

Now go on and define the key combination; go to apps > metacity > global_keybindings > run_command_1 and put in the "value" field the key combination you like (eg. <Alt>F1).

Now you should be able to launch the command xterm with Alt+F1.

Disabling printers

To disable printing and printing setup, set the following keys in gconf:
desktop > gnome > lockdown > printing
desktop > gnome > lockdown > print-setup

Controlling Icons and Panel configuration

To remove one or more of the default icons from the desktop, unset the appropriate key
apps > nautilus > desktop > *_icon_visible

To prevent the appearance of icons representing mounted media such as cdroms, unset the following key:
apps > nautilus > desktop > volumes_visible

To disable changes to the configuration of the panel, set the
apps > panel > global > locked_down key.

To disable certain applets from loading or appearing in the applet menu, you can specify which applets you wish to disable by adding the appropriate applet IID to the apps > panel > global > disabled_applets key.

Custom menus

<!--Your desktop menus can be customised by right clicking on the foot-shaped 'Main Menu' icon and selecting Edit Menus.--> If you want greater control over your menus it may be worth installing alacarte from the Debian repositories.


Sometimes new packages don't appear in the menus for one reason or another. It's worth knowing the
# update-menus
command for these situations. You can also run this as an ordinary user, it's worth reading the man page for this command first.

If you want to start creating your own custom menu entries by hand then you may need to read up on the FreeDesktop menu specification for all the gory details.

Accessing your other drives

You can access the data on other partitions and drives that were not configured when you installed 64 Studio, such as those belonging to other operating systems by editing the file /etc/fstab.
# gedit /etc/fstab
see man fstab for further instructions.

Configuring your soundcard

If your soundcard failed to configure on install, the first approach is to run alsaconf:
# alsaconf


If that fails you need to check out whether your card is supported by ALSA and whether you have the correct driver installed. There is a wealth of information on the ALSA websites listed at the end of the page, along with advice on how to test your soundcard, troubleshoot problems and lots of useful and intriguing HOWTOs.

Multimedia codecs

Every so often you will encounter media files that 64 Studio refuses to play. This is often because we cannot distribute codecs for certain patent-encumbered file formats. It is possible to access these additional codecs by adding another software source to your /etc/apt/sources.list.
# nano /etc/apt/sources.list

in the file add the following text:
#multimedia codecs
deb http://www.debian-multimedia.org/ etch main

I ended up with: ffmpeg; gstreamer0.10-ffmpeg-full; libavcodeccvs51; libavformatcvs51; libavutilcvs49; libdvdcss2; libdvdread3; libfaac0; libfaad0; libimlib2; liblame0; libmikmod2; libmikmod2; libxvidcore4; m4; mozplugger; msttcorefonts and w32codecs, which seemed to do the trick, but as they say, Your Mileage May Vary.

Audio latency

64 Studio comes with a realtime Linux kernel which helps avoid audio latency problems. The distribution includes a program called the JACK audio connection Kit (It's a recursive acronym, you'll get used to it) which routes audio between real-time applications. Check out Nate Figlar's excellent Jack Quickstart Guide if you want to jump straight into real-time audio operations.

SSH

If you want to be able to ssh into this machine you will probably need to edit /etc/ssh/ssh_config. SSH stands for Secure SHell and is a more secure alternative to telnet that you can use to remotely run commands on other machines over the network.

GRUB

Before you reboot your machine after all these changes, it's best to check that GRUB is configured correctly. GRUB stands for the GRand Unified Boot-manager and is the application responsible for booting up the Operating Sytem when you first turn your computer on. Many users have multiple operating systems or Linux kernels on the same computer. Using a boot loader, you can choose which operating system or kernel to start your computer with. You can edit grub to display any installed operating system or kernels. Your 64 Studio system also includes a single-user mode. The single-user mode starts the machine with a basic system that the root user can use for troubleshooting.

You can reconfigure grub by editing /boot/grub/menu.lst
# gedit /boot/grub/menu.lst

see the grub website for further information. You can also browse the documentation of GNU GRUB by typing
$ info grub
on the Command Line.

Links

Learning to use the Command Line Interface
Debian Install Guide
Debian Reference
Linux Tutorial

ALSA
Advanced Linux Sound Architecture
ALSA Wiki
Low-Latency HOWTO

Linux Audio
Sound & MIDI Software For Linux
Troubleshooting Linux Audio, Part 1
Troubleshooting Linux Audio, Part 2
Troubleshooting Linux Audio, Part 3a

GRUB
GNU GRUB Manual
GNU GRUB Legacy FAQ

Audio

Our Team are itching to get on with making some music. This chapter will take you through preparing drum tracks; MIDI sequencing with Rosegarden and some additional information about JACK Control.

This chapter is projected to include: Audacity, editing a radio show, podcast or live stereo stream. LADSPA effects. A beginners guide to Ardour, tracking a relatively simple project. Software synthesis, with amsynth and a MIDI input. Introducing audio mastering with Jamin, and burning audio to CD.

Jack Quickstart Guide

by Nate Figlar

Hello, and welcome to the 64 Studio Jack quickstart guide. Jack is a sound server typically used for audio production on Linux systems. Think of it as a glue that joins all of your audio applications together. In this guide I will be showing you how to get it running, and make use of it - so let's get started.

Jack can be controlled quite easily by a little program that you open called "Jack Control"; some other distributions might call it "qjackctl", but it's the same thing. In 64 Studio you open it via the Gnome "Foot Menu"; in the category called "Sound & Video" it should have a little quarter inch jack icon next to it. Click on that to run the program. You should get a window that looks like this:

jack stopped


Now before you hit the "start" button, let's get everything set up just right. Most importantly, making sure your sound card is opened by Jack and ready to go. That, again, is a fairly simple process that might take a little adjusting, but we'll get through it. Look at the far right buttons on Jack
Control and be sure to click the middle "Setup" button. Now another window should open that looks something similar to this:

jack setup


Keep in mind, especially in the Parameters section, that not all the numbers are going to look exactly like this. This picture was taken from my system and has been tuned from the defaults, but this is something to shoot for. First, make sure you have Realtime Mode checked in Parameters. Make sure the priority is set at 0 as well; this gives all the audio processes first priority and best performance for your production.

Next, let's make sure we have our sound card properly assigned. You will see in the Parameters section in the middle of the right hand column, "input device" and "output device". Or, you can select your sound card using the Interface setting. Also notice there are arrows pointing to the right on those areas. These drop-down menus should list soundcard(s) your system can use with Jack. For example, my system has 3 soundcards in total:

One is a built-in chipset which is noted as hw;1 VIA8237
My Revolution PCI card is hw;0 M-Audio
and my USB MIDI keyboard is hw;2 Photonx25

It's normally good to go with the setting that has the model name of the card, although you might have to use a different one in a section. You might have to experiment some if Jack won't start (that will be discussed later). If you don't see your sound card, it may not be ALSA compatible. In this case, try a different driver up in the Server section of the Setup panel (probably OSS). Most soundcards should be ALSA compatible and is recommended to go with ALSA unless you have a FireWire interface, in which case you would use the Freebob driver.

There is one more concept you need to keep in mind at this point, and that is the balance between latency and Xruns. The idea is to get Jack to perform as close to realtime processing as possible, which means the figure in the lower righthand corner labeled "Latency" should be as low as
possible. This is done by manipulating the Frames/Period setting in the centre column of the Setup window.

Now to throw a small wrench in the works - your computer may not be able to deliver the performace Jack needs to run at the latency you set, causing something called Xruns. Xruns are basically buffer underruns, causing anomalies heard in the audio. It is common to get some Xruns at the startup and shutdown of some applications, and maybe some more processor intesive functions like patch changes and such. If you can't hear these anomalies, then you should be fine. If you are worried about having glitches in a recording, then take latency up a notch. Ideally though, once you get Jack good and set, it should be able to stay at that latency figure.

You might need to experiment with these settings, but with these concepts in mind we should be ready to start Jack. Now let's click OK on the Setup panel and implement our settings. Since this is a first run of Jack we want to make sure all is working good, and if not, find where the problem lies. Go back to the main Jack control panel and far left on the middle panel is the button for "Messages". Go ahead and click it, and you should get a window like this:

messages


Again, this probably looks a little different to yours, due to the actual messages - this is where things like xruns and start-up errors show up. It might tell you "that soundcard is already in use", in which case you know some other application (like system sounds) might already be using the card. If you have an ever-changing list of Xruns then you know you've got performance tweaked too high, and so you should re-adjust as needed. Other than that, it should just tell you about changes in the server. Remember, occasional Xruns may not be a problem; just watch the messages at first when you start and run applications.

Now hit the start button, and if all is good, you will get a bunch of various messages and the window should end up looking like the frame above. Hopefully no Xruns, except maybe one or two. If all is good, then let's get started on making some apps work and making sure that sound will come out.

When starting a Jack app, make sure that the Jack server is already started; it will then pick up the app when that starts. A good start would be a synth program like ZynAddSubFx. Go to the "foot menu" then to "Audio & Video", and at the bottom of the list should be ZynAddSubFx. The program should prompting for a beginners or advanced selection. As I have chosen this program for a quick and easy check, if you chose beginners mode you get a nice virtual keyboard to check with. In 64 Studio, it automatically connects into Jack.

Now let's look at the Jack Control connections window, which is another important part of making Jack work. Remember when I said you can think of Jack as the glue to connect your audio applications? Well, this where it will come into play. If you look on the far left of the main Jack Control panel you will see it says "Connections". This button opens up a window like this:

Jack Control connections window


Again, keep in mind that if you had to use a Freebob or OSS driver the actual names in each panel may be different. In this case, the "alsa_pcm" on the left panel should be the recording input on the card you chose, or "input device" in the setting panel. The "alsa_pcm" on the right should be the output port on the soundcard you chose for your "output device". Now when we start ZynAddSubFx, the window
should change to this:

zyn connect


See the difference? Jack already added the application and connected it to the main output. If all is set OK, then click around on Zyn's keys and you should be able to hear sounds. Now check your messages and make sure there are very few Xruns, or that it isn't spitting out more and more. (By the way, if they do get too out of control, Jack normally stops with an error message). Since this connection was made automatically, I am going to hook into a midi controller to show how to manually connect Jack clients (the apps and devices used by Jack).

Even if you don't have a MIDI controller on your system, this example should show you the concept of how to manually manipulate connections in Jack. In the same panel as the Connection window you should see the MIDI tab. Click on it, and you should get something like this:

midi connection


Remember this is from my system, and I have an Alesis PhotonX25 midi controller keyboard. This will probably look different on your machine unless you have the same controller, but you should at least have the "Midi Through". With the Zyn synth it should look like this:

zyn midi connect


Now to connect by MIDI all you have to do is highlight the output of the Photon, highlight the Zyn input and hit the "Connect" button (it should become available then). Or you can drag and drop the line across to each. Like I said, if you have a different MIDI interface then whatever the name of the interface is should replace the "Photon X25" name. Once this is done, the window should look like this:

photon zyn connect


Now play your MIDI device, and it should play the corresponding notes on the Zyn synth. If you wish to disconnect, then just highlight the two items you wish to disconnect, and click the disconnect button.

Those are all the basics. From there, you can get creative about how you plug your apps in and out of each other. You can easily stack multiple synths for complex sounds. (Start two different Zyn synths and use different banks, they will show as two seperate clients.) Also keep in mind the other effects processors and how you can expand into various multichannel configurations that are available. In other words, now that you have the Jack basics, have some fun experimenting. See what some of these exciting applications can do. See how you can use Jack to interconnect your audio production tools in an efficient manner, and most importantly, have fun doing it.

Hopefully this guide has shown you just one aspect of what 64 Studio can do for your multimedia production needs in a free software environment.

JACK Audio Connection Kit

This chapter is intended to form the basis of a more in-depth look at the JACK server

Getting to Know JACK (QjackCtl)

Control Panel Connections

All internal Audio and MIDI connections and routing are controlled by the JACK Audio Connection Kit Control Panel (QjackCtl). These are flexible connections that can be made between all Audio/MIDI software programs, which are known as JACK clients.

The JACK GUI interface can be launched from Sound & Video > JACK Control. The connections can be viewed by pressing the Connect button.

All being well you'll see the word Started come up in the window with 0 (0) below it. The Connections panel should show alsa_pcm in both the input and output windows. If so, you're ready to make some music. This panel shows all Audio or MIDI signal sources in the left pane (Readable Clients / Output Ports) and all possible Audio or MIDI signal destinations in the right pane (Writable Clients / Input Ports).

Main JACK Control Window


Actual connections are established between source (Output Ports) and destination (Input Ports) by selecting one item in either side and pressing the Connect button at the bottom-left of the Connections window.

JACK connections


It is also possible to establish a connection by dragging an item and dropping it on to the other side (Note: it doesn't matter which side you start dragging from).

If it hass not all gone so smoothly, click on Messages, if you see anything much more complicated than:

20:19:41.579 Client activated.
20:19:41.583 Audio connection change.
20:19:41.617 Audio connection graph change.

then you're going to need to do some work to get the best out of this. If you only want to use one application at a time, you may not need to worry about JACK too much right now. However, if you want the full power of a Linux Audio system then it's worth taking the time to figure this out. The Status button also provides some slightly less verbose information.

I/O

To disconnect a currently established connection you proceed in similar manner: select each item on either side and press the Disconnect button. Actual and established connections are shown as coloured lines in between the two panes of the Connections window. Each color indicates a single and distinct source module (client) that is currently connected. It is possible to route all Audio and MIDI signals wherever you want this way.


JACK Patchbay

All connections made in the JACK Control interface persist as long as the JACK session lasts. To maintain a custom and persistent connection layout you'll have to edit and activate a patchbay definition profile. Patchbay definition profiles are connection models that are edited and created on the JACK Patchbay window, which is accessed via the Patchbay button on the main JACK control panel.

The JACK Patchbay window is very similar to the Connections one. However, it is here where you prepare and set your intentional persistent connections, not actual connections. When activated, this patchbay definition profile will keep all declared connections automatically, as long as the JACK Control Panel is kept active.

Following the JACK Patchbay model, you declare connections between sockets (clients). When two sockets are said to be connected, it is implied that each one of its plugs (ports) is declared to be connected in turn, one by one, on a one-to-one basis.

Take special note of the plug/port order in the socket plug list, as each plug and socket are connected in the order they are listed.

JACK Setup

The qjackctl settings panel is accessed from the Setup... button.

The Server Path should be set to jackd and the Driver to alsa. For Parameters you probably want to check Realtime for most work and Softmode to start with. Softmode means that JACK doesn't quit if you get odd xruns, obviously, you won't want this if you're recording. If you know your machine only works at 16bit resolution check Force 16bit. You'll probably want to leave most settings where they are.

If you're operating in realtime, your Priority should usually be 0, but some soundcards differ. Frames/Period is worth setting at the maximum to start and then working your way down. This setting affects your latency most directly, setting it too low will result in xruns. Sample Rate probably wants to be 44100 (CD quality) but some soundcards prefer 48000 (DAT quality). Periods/Buffer almost certainly wants to be 2, but again, your soundcard may vary. Interface probably should be hw:0 or whatever you specified in your ~/.asoundrc if you use one (it is not required). Audio try Playback only if you're having trouble, mostly you'll want full Duplex. Dither - Shaped is best but CPU hungry, Triangular gives a good compromise, you don't _need_ dithering, so None will do for now. Timeout and Start Delay might want to be increased in certain situations.

OK your new settings Stop if JACK is still running and Start again. You may need to play with the settings a bit to get satisfactory results.

Xruns - Overruns

During recording sessions, the Messages panel in Qjackctl may report xruns. Xruns are basically an indications that while Jack is running something gets in the way of it running correctly and it becomes unable to cope with the flow of data causing dropouts in the sound.

Interrupts

If some other card has a higher priority then when it generates an interrupt, if it's slow responding, then possibly Jack and the sound card cannot get their job done.

# cat /proc/interrupts

and

# lspci -v

will give you some valuable information here. Generally speaking, you want your soundcard to be in the highest priority slot (9 or 10) and not sharing with anything. Solutions mostly involve physically moving the soundcard up to a higher slot and/or disabling unused hardware in the BIOS.

Hard drive speed is too slow

You can test your hard-disk performance with:

# hdparm -tT /dev/hda

(or whatever drive you use for audio) A/DeMuDi installs with optimal settings for most drives. You shouldn't need to edit /etc/hdparm.conf unless you know you do. You can cause irreversible data corruption messing with these settings. Read:

# man hdparm

before you attempt anything.

For more information:

$ zcat /usr/share/doc/jackd/FAQ.gz

Make sure you have:

tmpfs /dev/shm tmpfs defaults 0 0

in your /etc/fstab - it makes a big difference!

links

JACK
http://jackaudio.org/
http://jackit.sourceforge.net/docs/faq.php
http://lau.linuxaudio.org/jack/

Linux and Latency
http://www.sabi.co.uk/Notes/linuxSoundLatency.html

Aeolus Quickstart Guide

by Steve A

Hello, and welcome to the 64 Studio quickstart guide for Aeolus, a sound application available in 64 Studio version 2.0. Aeolus is a synthesised pipe-organ instrument written by Fons Adriaensen. The default sounds have been skillfully programmed and are very realistic; this means that Aeolus can be very satisfying to play, or to listen with your favourite MIDI files. In this guide I will be showing you how to get Aeolus running with 64 Studio for the first time.

The first thing to know is that the 64 Studio version of Aeolus is configured by default to work with JACK, and this means that Aeolus will only work if the JACK server is started. So to begin, select "JACK Control" from the "Sound & Video" menu, and check that JACK is started.


jack started


Next, start Aeolus from the sound & video menu. Aeolus will take a few seconds to start, during this time each blue button will flash. When this process is complete, the Aeolus main window will be shown.


aeolus started


Next, connect a MIDI keyboard to your 64 Studio system, and select the instrument to play on the lowest-numbered MIDI channel. Please remember that some instruments number their channels from 0 to 15 and some number from 1 to 16. Select the lowest-numbered MIDI channel, (either 0 or 1).

If you don't have a MIDI keyboard, you could use VKeyBd from the Sound & Video menu. Within VKeyBd select View -> Controls.
This will allow us to set the MIDI channel used by VKeyBd. VKeyBd's channels are numbered from 0 to 15, so we will select the lowest channel which is 0.


vkeybd started


Next, we use JACK Control to connect the keyboard to Aeolus, and to connect Aeolus to the sound card. Switch to JACK Control and select Connect -> MIDI to make a connection between our MIDI keyboard and Aeolus.


connect MIDI


Then select the Audio tab and connect Aeolus outputs to the left and right playback channels of the sound card.


connect audio


Almost finished! Next go to the Aeolus main window. Notice that the window is divided into four sections (III, II, I, and P). We will experiment with these in more detail later. Click on the blue button labelled "Principal 4" in section "I". The button will be white when selected.


aeolus principal 4I


To recap, we have used JACK to connect our keyboard to Aeolus and to connect Aeolus to our sound card. We set our keyboard to transmit MIDI commands on the lowest-numbered MIDI channel and we have selected the sound called "Principal 4" from Aeolus section "I".

The final stage is to tell Aeolus that data received on the lowest-numbered MIDI channel should be played by Aeolus section "I". To do this, go to the Aeolus main window and select MIDI. Notice that Aeolus numbers the sixteen MIDI channels 1 to 16, not 0 to 15. We will simply connect the lowest MIDI channel (1) to section "I" ( which is labelled Keyboards "I")


aeolus MIDImap 1


Finished! Go to the MIDI keyboard and begin to play. Aeolus should make the wonderful sound of the "Principal 4". In fact, you can experiment with any of the sounds from section I.

Once you've got the instrument up and running, you can go on to the Aeolus primer.

Aeolus primer

by Steve A

Hello, and welcome to the 64 Studio Aeolus primer. To configure Aeolus for the first time please refer to the Aeolus quickstart guide. This primer contains more information about how Aeolus emulates a real pipe-organ's sound and controls.

Organ stops in Aeolus

An organ stop is the "patch" which makes a particular sound. In a real pipe-organ, a stop is a family of pipes which make the same sound. The organist has a switch near the keyboard which allows them to patch each stop into the sound when needed.

In Aeolus, organ stops are represented as blue buttons. Each button normally contains two pieces of information: the name of the sound, and a number. The number represents the physical length (in feet) of the largest pipe - the bigger the number, the lower the pitch of the sound.

For example "Principal 8" is the Principal sound where the longest pipe is 8 feet long. Principal 4 is one octave higher and principal 16 is one octave lower. Therefore if Principal 8 and 4 are selected, every time a note is played, the organ will play two notes, each one octave apart.

Some Aeolus stops have fractions in their numbers; these stops play notes less than one octave from the note normally played - for example Quint 5 1/3 plays 5ths. Also, Aeolus has stops which play several high pitched harmonics to add brightness to the sound. In Aeolus, these harmonic stops are called "Cymbel VI" and "Mixtur".


stop


Volume

Real pipe-organs cannot directly control the volume that each pipe produces. To overcome this limitation, organ builders will put some of the pipes in a special room with remotely controlled doors. The doors can be opened and closed to allow more or less volume to escape. The special room is called a "swell box" and the doors are controlled by a pedal at the organ console called a "swell pedal".

Aeolus controls volume through the "Instrum" window, or through the standard MIDI volume controller number 7 (see the MIDI section below).


volume


Divisions

Large pipe organs often have multiple keyboards, allowing the organist to rapidly switch between the different keyboards to vary the tone and volume of the performance. Aeolus models a large organ which has three keyboards and a pedal board. It is helpful to imagine Aeolus as four organs in one. The four separate organs are called divisions, and are seen in Aeolus main window labelled P, I, II and III.

Division I

The volume of these stops cannot be controlled; in a real pipe-organ, these are the pipes which can be seen. The keyboard would be used when playing loud passages.


division I


Division II

All of these pipes are enclosed in a swell box so volume can be controlled. The keyboard for this division would be the middle board.


division II


Division III

All of these pipes are also in a swell box. In Aeolus, there are two swell boxes modelled, one for Division II and one for Division III - each has a separate volume control and audio settings. This division would be controlled by the top keyboard in the stack.


division III


Division P - Pedal division

Pedal stops generally play the bass, and therefore tend to be the biggest pipes - so big that they are not normally put into a swell box. Due to the limited size of human legs, pedal stops are generally only the lowest two octaves.


division P


Couplers

To make a really big sound, it is possible to "couple" the divisions together. In Aeolus the couplers are coloured brown. For example, if the I+II coupler is selected, the division I and division II organ stops can be played together from the Division I keyboard.

In single keyboard configurations, it is often best to configure the board as Division I and then use the couplers to introduce the division II and division III sounds.


coupler


Presets

Just like a real pipe organ, Aeolus also supports presets, which allow stop settings to be stored and rapidly recalled during the performance. With Aeolus you can select presets through the "Recall" button on the main window, or through MIDI keys sent on a separate control channel (see MIDI config below).


presets


MIDI config

In the MIDI configuration window, three things can be configured:

Keyboards - which channel will receive the performance for each division

Divisions - which channels will contain MIDI CC7 (volume) to adjust the volume (swell) for division II and for division III

Control - which channel will receive notes 24 to 33 to recall presets 1 to 10

The Divisions and Control settings are optional.


midi settings


Acoustic parameters of the organ

Through the "Audio" window, Aeolus allows the sound qualities of each division to be separately controlled. This also allows the stereo positioning of each organ to be altered, which makes the performance from Aeolus very realistic.


audio settings


Further reading

www.kokkinizita.net/linuxaudio/
The Aeolus home page

www.geocities.jp/midi_organ_net/aeolus/
Musikun's excellent technical guide and sample performances

www.muse-sequencer.org/wiki/index.php/Aeolus
The Aeolus wiki

en.wikipedia.org/wiki/Pipe_organ
Background information from Wikipedia

Ardour

by Ben Powers

Introduction

Ardour uses the JACK Audio Connection Kit to route audio internally between tracks and busses, and externally to and from other software and hardware devices. Refer to the JACK Quickstart Guide if you don't have JACK set up already.

Starting Ardour and Creating a New Session

Make sure JACK is running at the sample rate you require for your project, and then launch Ardour from the Sound & Video menu. The session control window will appear and present you with a number of options. For now, just choose a name for your session and a directory to store it in. Your session will be saved as a collection of files and directories, inside the directory you just selected from the drop-down menu.



Figure 1: Ardour session control window: new session


It's best practice to keep your audio projects on a separate hard disc from your system disc. This is because the root filesystem is often accessed by the system, and when dealing with the large volumes of data you can expect to use in an Ardour session, throughput can suffer. Having said that, a single hard disc works fine for small to medium sized Ardour projects, as long as your system is fast enough.

The Main Menus

Welcome to Ardour's main window. Looks good, doesn't it? Even if you have little to no experience with recording, you'll notice some familiar features right off the bat. Along the top edge of the window is the menu bar.



Figure 2: Ardour's editor window (click for full size).


The Session Menu

The first item in the menu bar is the Session menu, which is analogous to the file menu in most other programs. Some notable differences in the session menu are snapshot, Add Track/Bus and Add Existing Audio. Snapshot will save a backup of your session; add track/bus and add existing audio are self-explanatory.

The Transport Menu

The Transport menu contains a variety of controls for the system's transport. You can move the playhead, enable recording, start and stop playback. It would be well worth your effort to learn some of the keyboard shortcuts in this menu. For example, Shift+R enables recording, and ctrl+space stops and forgets the last capture.

The Edit Menu

The Edit menu contains typical editing operations, as well as controls to position the edit cursor (more on that later) and work with regions. Take a look at the keymouse operations, they can save you time when using Ardour.

The View Menu

The View menu has items that control the layout and positioning of elements in Ardour's editor window. At the bottom of the menu you'll notice the "Show editor mixer" option. Click on that option now and notice the editor mixer strip on the left side of the window. This is a one-strip embedded mixer window that stays attached to the editor window and shows only the mixer strip for the currently selected track. We'll discuss the details of mixer strips more in the next section.

The JACK Menu

The JACK menu is next, and it allows you to disconnect or reconnect from the JACK server. This can be useful if you need to alter your JACK server settings, or if the JACK server crashes. There's another option in this menu called latency, which is the same thing as buffer size in Jack Control's setup window.

The Windows Menu

The Windows menu contains links to all of Ardour's windows. You can also maximize editor space from here, or by pressing F11. This has the effect of hiding the controls and lists, allowing you to focus on the canvas. The Options Editor is where you should go to set the outputs for the click and audition tracks, among many other things. The Track/Bus Inspector lets you examine all the ins and outs (not to mention redirects) of a track or bus in one window. You may like to enable the big clock as well, to get a clearer view of the session's timing.

The Options Menu

The Options menu contains various options which go beyond the scope of this tutorial. Consult the Ardour manual for more information on each one.

The Help Menu

Lastly, the help menu provides a link to the about box. When the Ardour manual is complete, it may be referenced here as well.

To the right of the menus are various numerical indicators showing (from left to right) your sample rate, latency, playback and capture buffer sizes, processor load, amount of audio recorded for this session and time of day.

The Controls

The Transport Controls

Directly below the menus are the main transport controls, including the fast forward and rewind buttons; the jog/shuttle controls; the play loop, play range/selection and play from playhead buttons; the stop button and the record enable button (the big red button). Play around with these if you aren't sure what any of them do.



Figure 3: Transport controls.


The Main Clocks

Next to the transport controls are the main clocks. Clocks in Ardour can display time in four formats, which can be accessed by right-clicking on the clock face and selecting a mode. As you become more experienced with audio, you will learn the advantages and disadvantages of each format. For now, leave them on the defaults. We'll go over what some of those do later on. You can float the main toolbar into its own window by clicking on the small chevron in the top right corner of the window.



Figure 4: Ardour's main clock.


Auxiliary Controls

New in Ardour 2.0 are the edit mode selector, the cursor selection buttons and other controls below the transport controls. We'll go over some of these in a later section. To the right of the cursor selection buttons is the edit clock, which shows you the position of the edit cursor.



Figure 5: Edit, cursor, and snap mode selectors; and the edit clock.


The Rulers

Below the controls are the rulers. These thin horizontal bars display the timelines which help you see when exactly a region or sound starts or stops. Also displayed with the rulers are the meter and tempo markers, the location markers, the range markers and the loop/punch ranges.



Figure 6: Rulers (click for full size).


The tempo and meter markers help you define the speed and structure of the session's rhythms. The location markers are how you generate index marks for a CD, as well as place markers at important moments in your session. The range markers allow you to bounce or export any section of the session to an audio file. The loop/punch ranges are last; they allow you to either loop a certain section of the session or define punch ranges.

The Canvas

The largest and most important section of the editor window is the canvas. This is where all your recorded audio will go, and where you will spend most of your time moving, shaping and editing regions. The canvas, as you can see, is divided in columns by bar, beat, etc. It is also, as you will soon see, divided in rows by tracks.

Tracks

Tracks are where your audio goes. Each track has one or more inputs which receive audio signals and one or more outputs which transmit audio signals. Before you can record or playback any sounds with Ardour, you'll need to add at least one new track.

Tracks have controls, which appear in the track list to the left of the canvas. More information about tracks and track controls is presented in the chapter on tracks later.

Regions

Regions are how audio is arranged in your tracks. Each region corresponds to a single audio file, but one audio file may have many regions associated with it.



Figure 7: An example region


Regions are what you will do your editing and arranging with, so it pays to get to know them. See the chapter on editing later for more information

The Notebook

The notebook is the name for the collection of lists on the right side of the editor window. The notebook automatically "takes notes" on everything that you've done so far. Every region, track or bus, snapshot, group or chunk that you've created or used in a track will be represented in the notebook, even if it is not displayed in the mixer or canvas. The notebook is comprised of five tabs.



Figure 8: The notebook showing the region list

Region List

The region list shows all the regions associated with the session. By right-clicking a region in the list, you can hide, audition or remove a region. Removing a region does not destroy the recorded audio on your disk, though. You can also import external audio through the region list's context menu. More on importing is in the chapter on importing audio.

Tracks/Busses List

The tracks/busses list displays a list of all tracks and busses in your session. You can show or hide tracks or busses by clicking the check-boxes to the right of their names. You can also rearrange tracks in the canvas by dragging the track names in the track/bus list.

Snapshots List

If you make any snapshots of your session, they will appear in this list. Clicking on a snapshot will load it immediately. You can rename or delete snapshots as well, by right-clicking.

Edit Groups List

In the edit group list, you can see all the edit groups you've created. Edit groups work like selections in that you can use them to perform operations on multiple tracks at once. Edit groups are going to be phased out in upcoming versions of Ardour, to be replaced with something called "named selections".

Chunks List

Chunks are sections of a playlist that you define. For instance, you may create one chunk for the verse and another for the chorus. This allows you to edit your session on a grander scale with greater ease. Chunks contain regions and silence, and can optionally span multiple tracks. Chunks don't have a visual representation, they only appear in the chunks list.

Now it's time to get better acquainted with the mixer strip that we enabled earlier on by examining each of its components. If you have disabled the editor mixer, re-enable it now by pressing Shift-E.

The Mixer


Figure 9: Mixer strip

Mixer Strips

Ardour's mixer has a very efficient and well-built design. It's interface graphically represents the signal path of each track. Imagine the audio signal flowing downward from the input to the output, through the various widgets present in the mixer strip. Each track and bus has its own mixer strip.

Mixer strips appear by default in the order in which you create them. You can rearrange mixer strips by dragging their titles in the mixer window's track list, to the left of the mixer strips.

At the very top of each mixer strip are two buttons that hide and minimize the mixer strip, respectively. In between these two buttons is an area which clearly shows the track's colour. The button directly underneath shows the name of the track, and lets you rename, switch polarity, or assign a MIDI controller ID number.

Pre-fader Sends

Audio signals flow downwards from the input button to the pre-fader sends list. This is where sends, inserts and plugins are added (these will be discussed later). Directly below the pre-fader sends are the mute and solo buttons. Next, the signal goes through the fader.

The Fader

The fader is the primary level control for the selected track. You can adjust the fader bar with your mouse, or input a specific numerical amount in the small box directly above the fader. To the right of the fader is the meter, which will show you when your levels are peaking. The number above the meter tells you the maximum value that the track's level has reached. You can reset this counter by clicking on it. It's a good idea to keep levels below zero to prevent clipping and distortion. Below the fader, the small "M" button changes the automation mode on the selected track (more on that later).

Going down the mixer strip, the group and metering mode buttons are next. With the group button, you can assign tracks to groups to simplify editing operations on multiple tracks. The metering mode button toggles between post, pre and input modes. In post mode, the meter will display the level of the track's output, after being processed by the pre-fader sends, fader and post-fader sends. In pre mode, the meter will display the level of the track after the pre-fader sends, but before the fader. In input mode, the meter will show the level of the track's input, prior to pre-fader sends.

Post-fader Sends

After the fader comes the post-fader sends list. This one works just the same as the pre-fader sends list, only it affects the signal after it has passed through the fader. We'll get into specifics about how to use the pre- and post-fader sends lists later.

Panning

These panning controls are fairly simple to use. In a stereo track, the top controller pans the left channel, and the bottom controller pans the right channel. Mono tracks have just one controller, at the top. You can adjust the panning by dragging the green bar through the panner. The small triangular wedges at the top of each panner are bookmarks for left, right and centre panning; click on them to send the channel's panning to that location.

The link panning control button which looks like a double arrow (⇒) causes both the left and right channels to change simultaneously. Activate it and drag one of the panners back and forth to observe this effect. Now try changing the panning link direction with the arrow-shaped button to the right of the link panning control button.

The small "M" button operates in the same way as the one for the fader in controlling automation modes. We'll discuss automation more later.

Our signal's voyage through the mixer strip is soon to end. The output button controls the track's output and operates in a similar manner to the input button. Below the output button is the comments button, which you can click to leave helpful reminders on your track's comment sheet.

Signal Path Summary

Ardour's signal path is summarized in the figure below from the Ardour manual, designed by Sampo Savolainen.





Figure 10: Ardour 2.0 signal path diagram by Sampo Savolainen (click for full size).

Now that we are a bit more acquainted with the mixer, it's time to create a track.

Mastering your final mix

Mastering is about the presentation of a mix.
The importance of full range, low distortion speakers and D to A converters for monitoring is critical. Mastering is mostly done by listening for and then fixing distractions. This can be tonality, dynamics, noises or distortion. My view is that mastering should not call attention to its self.

Bob Olhsson - Georgetown Masters

Just like playing a musical instrument, mastering is not impossible to do, and with a little practice you can do it yourself.

After a spate of recent loudness war victims (Death magnetic a good example) care should be taken not to master music too loudly only because other people do it that way. More info Here

Before we start:

  • Mastering is as much about the fresh set of ears as it is about all the rest. It is therefore recommended to use someone else to master your own work.
  • The word mastering originates from the process that was taken to prepare the final mix for duplication on the media of choice.
  • Disclaimer - the process described below is not the only method to master music.

Preparation
In able to create a master that will translate well to most playback systems you have to make sure that you are able to hear everything that is going on in the final mix. You need:

  • Exceptional hearing: If you have gaps in your hearing, or limited range to your hearing, mastering is best done by someone that can hear the complete mix. Complete CDs have been recalled because a band, mixer and mastering engineer missed an annoying high pitched whine on the master...
  • A set of studio monitors, that are revealing enough to reveal problems, yet has a wide and flat frequency response to showcase to complete mix in the entire audible range. The quality and range of the speakers and the D/A converters leading to them are absolutely critical.
  • Large quiet room, treated for any unwanted frequency nodes.
  • Accurate dB SPL meter.
  • Calibrate your monitors to ensure the optimal playback of the mix. This will be outlined below
  • Time to get to know the monitors. Listen to a lot of well mastered reference material, and train your ears to the sound. This is the most time intensive step.
  • Playback system should be able to truthfully reproduce 24bit depth fidelity from the final mix supplied by the mixer.
  • Software as required

Calibration
After getting all the hardware required, it is time to calibrate the system.

  • Start Jack and open Ardour.
  • Completely turn down the volume of each monitor and make sure they are off or muted
  • Load the 14dBFS-Pink wav file into ardour, and play out to the monitors. Be sure to leave the faders at 0dB positions on ardour and the playback hardware if applicable
  • Place the dB SPL meter to measure exactly in the spot where your head would be while seated at the mastering rig.
  • Unmute or switch on the first monitor and increase it's volume until the SPL meter reads 83dB. Mute again.
  • Complete the previous step on all monitors, one at a time

Done.
83dB SPL is the highest continuous sound pressure level, scientifically shown not to cause excessive fatigue and hearing loss while exposed for prolonged times. As an audio engineer, your hearing is quite important to you... better keep it protected.

Software
Most of the applications needed are installed during your 64 Studio installation. Here is a list of the most important applications needed to create a master CD from a 24bit final mix:

  • Jack and qjackctl
  • Ardour
  • Jamin
  • jkmeter - compile from source : Download page
  • meterbridge
  • gcdmaster

Ear Training
After the hardware has been calibrated, you should train your ears.

  • Start jack, and using terminal: jkmeter -type k14 -V -C
  • Play back reference material, known to be good masters, preferably not from compressed media. and connect the player to jkmeter via jack as well as the output
  • During playback, make sure that the average levels stays around the 0dB level in jkmeter, on the louder sections of the music, if applicable. Adjust the software playback volume down if required.

This is required to be able to use your ears while mastering. Your ears are your most important asset, and during mastering, jkmeter should be used as a reference only.

Mastering
After taking all of the above preparations, it is time to look at the mastering process itself. Before starting to master, the final mix should comply to the following to enable you to master it correctly:

  • it should be at the same sample rate as tracking took place in.
  • 24bit depth or higher preferred. Even if capture took place at 16bit, the mix has much more fidelity than 16bit because of summation effects.
  • No clipping allowed! To be sure specify that the mix should not have a peak higher than -1dB.
  • Supplied either non compressed, on in a lossless compression format

If all or most of these points are satisfied, continue to master the mix.

  • Start jack, ardour, jamin (jamin -p) , jkmeter (jkmeter -type k14 -V -C)
  • Import the mix to be mastered into ardour as a track, and connect its outputs to jamin from within ardour.
  • Create a new stereo bus, called mastering, and connect its inputs to jamin, and outputs to the ardour master bus.
  • Also connect the outputs from the "mastering" bus to jkmeter from within ardour. (connections from within ardour gets saved with the project)
  • In Jamin, make sure all compressor ratios (r) are at 1, and filters and other settings zeroed.

Now the fun begins. The section that follows is all about listening for, and removing or hiding distractions in the material.

  • listen to the track, specifically listening for frequency problems in the sonic field.
  • The first thing to correct is the stereo field. Listen to each of the three subsections below (using solo, and while playing, move the spacial correction slider slowly until the sound feels right, for each section. (Hard to explain)
  • Listen to the whole again, and identify areas in the frequency domain that needs enhancement or damping, and by using a combination of eq and compression fill in the frequency field. Take note that compression decreases dynamic range, and that compression ratios should be kept as low as possible to preserve the punch of the music.
  • Use the bypass button regularly, and try to compare it with comparable volume levels to prevent the placebo effect.
  • play with the settings available, see what they do, and how it influences the sound. Experiment a lot. It is your master.
  • Now, look at jkmeter while playing the track. The average loudness (loudest section) should hover around the 0dB mark in jkmeter. If it does not, use compression and boost to move the average up or down. Do not use the limiter too much, because the limiter has a distortion like effect on the audio, best left alone if possible.

After each track on an album is prepared, the comparative playback volume for each should be adjusted so as to place the tracks in the same relative space. This is needed to ensure coherence of the album as a whole.

Making the red book master CDR
When the master is completed, and you are happy with the sound, and the average levels in jkmeter did not move too far of base, you are ready to make the master disk.
Please follow the CD master burning how-to : http://www.64studio.com/manual/audio/ardour/cdmarkers

Red book export from Ardour for GCDMaster

You have your recording in Ardour. Mixed to perfection, tracks lined up in the correct order. Now you want to export you stuff to a Red-book CD for mastering, or if you did the mastering yourself, for duplication.

Here are the steps to follow...

1. Mark your tracks.

In the editor viewer, there is a bar, marked "CD Markers" Click and drag to mark your tracks, one by one, making sure they don't overlap...

2. Edit track details

Under the "Windows" menu, click "Locations". The following should appear:

Edit your track information for the CD-text functionality

3. Export your stuff.

In the "Session" menu, select "Export" and then "Export session to audiofile"

As in the image above, make sure you have dithering activated. Also, select the source of your export. It would normally be your "Master" channel, as in the image. Hit export, and wait.

4. Open GCDMaster, and click "Open"

In the dialogue that opens, browse to your Ardour project folder. in that folder should be an "export" folder, and in there should be the .wav export plus your .cue or.toc file created with the export. Click on the .cue or .toc file and click "Open".

Your project should load into GCDMaster, and the track markers should be visible. You can check your Project data...

5. Burn.

Click the "Record" button, select your device, select "Burn" in the radio button interface, and hit the big "Start" button. Wait. Serve hot...

Hydrogen

Our fictional flightless friends, Pengwyn Parc are in the studio preparing for their forthcoming single release.

"We should work on the drum parts first," says Tabitha,

"We've got to get the drum track right - it's the basic groove of the song."

Baz agrees, for once "Yeah, it's common practice in multitracking situations to record the drums first, otherwise it all gets out of time really quickly."

"I've done stuff where I recorded the guitar first, then keyboards and overdubbed some percussion as an afterthought." muses Kenny.

"I bet it was a mess." sniggers Baz

"You could just as well start with a rhythm and build it all up from that." Tabitha re-iterates.

Ashlee doesn't know, "It is not a hard and fast rule, it depends on the mood of the piece you are trying to create, surely?"

The crew have to agree to disagree on that one and get on with recording, this time they'll start with the drum track. They have decided to work on one of Kenny's songs that has been going well in rehearsal, while Tabitha and Baz search for a suitable application to use for writing the drum part, Kenny strums through the song on his guitar, noting down in his creative diary how many bars each verse and chorus take, not forgetting the intro and outro and any bridge sections.

And the beat goes on

Baz and Tabi decide on Hydrogen. Its main stated goal is to provide professional yet simple and intuitive pattern-based drum programming. Sounds good enough.

Tabitha immediately gets to work in the Pattern Editor sub-window. Down the left-hand side is the list of the various components of the drum kit with an empty four-beat timeline in the main part of the window. Along the top are various boxes, which allow us to alter different parameters of the riff: The first box allows us to cycle through the patterns listed in the Song Editor and the contents of the second box change accordingly. The size box allows us to choose the pattern length, slightly confusingly in eighth notes, so the default setting of 8 gives us a 4/4 bar. Setting it to 7 would give a 7/8 bar, setting to 10 gives a 5/4 bar, go figure. Tabitha sets it to 16, which creates a double 4/4 bar pattern effectively. Resolution affects the quantisation, i.e. the number of playable beats in the bar expressed as note-length values. Tabitha chooses 16 to allow 16th notes to be played. It is also possible to select triplet quantisation, so 16T actually divides a 4 beat bar into 24. This is probably obvious to anyone who has learned to read music, but Tabitha, who plays by ear, thinks it's a bit daft.


The last panel is the recording panel. There are two ways to record into Hydrogen, real-time or by hand; for real-time work you probably want the three buttons engaged - Hear Notes, Record and Quantise - if you don't have a MIDI keyboard attached to your set-up, you can use the keys of your ASCII keyboard, if you are entering notes using the mouse then you probably don't want these functions.

Laying down the groove

Tabitha starts by laying down a basic beat; eighth notes on the closed hi-hats, bass drum on beats 1, 3, 5 and 7 and snare on 2, 4, 6 and 8. This gives a rugged, but rather basic beat, which allows Tabi a chance to check the tempo. This she does by getting Kenny to play along on his guitar while she taps the backslash key repeatedly in time with the song until they agree on the timing they want. Hydrogen then sets the BPM of the track accordingly and displays that information in the BPM indicator on the bottom bar of the main window along with the Transport controls. The BPM can be altered using the mouse wheel for incremental fine-tuning.


Next, she adjusts the pattern to fit Kenny's playing better. To start with, she thins out the hi-hats to four in a bar, adds a few grace notes and open hi-hats, and then changes the timing of one of the bass drum beats to give the second bar a bit of a 'push'. Being a drummer, Tabi knows that not all beats in the bar get the same weight, so she edits the velocities displayed along the bottom of the Pattern Editor sub-window, by clicking and dragging them to more appropriate values. Right-clicking on any of the instruments in the Pattern editor sub-window presents a sub-menu of helpful options to Mute, Lock, Solo, Fill and Clear notes relative to the grid resolution set and create pseudo-random velocities for that particular instrument. The Lock function locks the instrument belonging to a drumkit on that pattern even if you change drumkit, which allows you to mix and match drumkits. Tabitha tries playing around with random velocities.


Chaining it together

When she's got a pattern she's happy with, Tabitha saves the song in Hydrogen's native .h2song format. So far we have a good basic beat, but this song has some odd timing changes and needs fills, so Tabi moves over to the Song Editor sub-window. The song editor lists the patterns in the left margin with the main window being a matrix-grid timeline. This allows you to arrange the patterns in sequence. At the top of the left margin is a row of buttons that control: completely deleting all patterns, creating new patterns, reordering the pattern list and switching between selection (to allow copying, pasting and moving) and draw mode. Right-clicking on the pattern names in the left margin gives you the further choices of editing the pattern in the Pattern Editor sub-window, copying and deleting the pattern, filling or clearing bars of the song sequence with that particular pattern and editing the pattern's name via the Properties option. Tabitha changes 'Pattern 1' to 'Main Riff' and then copies it to 'Main Fill 1' and 'Main Fill 2', remembering to select the pattern she wants to edit before continuing.


In order to hear how all the patterns work together it is necessary to switch to song mode using the mode selector on the transport bar. By switching backwards and forwards, copying and altering sections, Tabitha soon builds up enough parts for a complete verse and chorus. She realises that she's forgotten to make an intro bar, so she copies the bridge pattern, renaming it to 'Intro' and edits it, removing everything but the final fill. She now needs to move the pattern sequence along by one bar. By going into selection mode it is possible to click and drag to select an area of patterns and then click and drag them to the desired position.

Selecting the right sounds

Tabitha is bored with the default drum sound, she needs something with a more 60's feel. The Drumkit Manager can be accessed from the View > Show drumkit manager menu entry and provides a range of alternative drumkits, which can be loaded while the song is playing to allow you to easily preview the sounds. The drumkits vary quite widely in sound and can strongly affect the final feel of the track.


Next Tabi wants to add some effects to give the track some atmosphere. Effects are controlled via the Mixer sub-window.

The main part of this window is laid out rather similarly to an analog mixer, each component of the drumkit gets its own strip with controls to preview, mute, solo and pan the sound, four rotary pots to control FX volume and a vertical fader for the overall volume.

The interesting controls are on the right-hand panel. Next to the Master Fader that controls the overall volume, are the Humanize functions and two buttons - the top one toggles the peak level meters on and off and the lower brings up the FX panel.

Here we can have some fun. We have four effects channels available to us, Tabitha clicks on the Edit button of the first, which brings up a LADSPA properties window. She clicks on the Select FX button, which brings up a further selection window with all the possible LADSPA effects listed in the left-hand window. She selects TAP Reverberator and then turns it up using the first FX pot on the mixer strip of the snare and cymbals, leaving the bass drum dry. Less is more, exponentially so with reverb.


For an added touch of realism, Tabitha plays around with the Humanize function. It is possible to randomise the velocity and timing of each note played and also specify a swing factor - the amount of bounce or 'dottedness' applied to the rhythm, this can be essential for some swing jazz, reggae and hip-hop feels. Careful use of these controls can really bring a drum track alive and make it sound almost organic.


For more fine-grained control of the sounds, Hydrogen provides the facility to edit the individual components of the kit. View > Show instrument editor. Using this interface it is possible to create your own custom drumkits with up to 16 layered samples and apply an ADSR envelope, filter and pitch effects for each instrument.


Cutting the rug

In order for this drumtrack to be useful to other applications it is necessary to export it as a stereo audio file, in fact the only choice here is .wav. Hydrogen will export the file at whatever sample rate it is currently running at. Go to the Audio System tab of the File > Preferences dialog if you want to change settings. This same dialog allows you to control MIDI settings and the visual appearance of Hydrogen. File > Show song properties brings up a dialog that allows you to name the song and add comments. Once all the details are set, File > Export song brings up a file browser dialog where you can give it a name and then click on the Export button and wait for the progress bar to reach 100%. It is also possible to export the track as a MIDI file or hook Hydrogen up to an external MIDI source directly, so it can be run synchronously with other sequencers or multitrack recorders.


links

Hydrogen
http://www.hydrogen-music.org/

Jackbeat
http://www.samalyse.com/jackbeat/

Drum Patterns
http://www.linux-france.org/prj/drumpatterns/index-en.html

Smack
http://smack.berlios.de/

Getting started with LinuxSampler

by Kevin Donnelly

Install LinuxSampler (package linuxsampler) and the frontend Qsampler (package qsampler). Download and unrar (package rar - rar -e rarball.rar) Mats Helgesson's Maestro Concert Grand piano sample from the LinuxSampler site - http://www.linuxsampler.org. It's a 337Mb download, and unrars to 939Mb! Start JACK, and then Qsampler, which will also start LinuxSampler itself.

Go to View -> Instruments and click the New Instrument icon. Browse to the location of the Maestro sample and load it (it will go into Program 1). Close the Instrument dialogue by clicking the x in the corner.

Go to View -> Devices. Click on Audio Devices in the left-hand panel, choose JACK as the driver from the drop-down in the right-hand panel, and then click Create. A new entry, Audio JACK device 0, should appear under Audio Devices. The MIDI Devices entry can be left alone, since it shows only ALSA as the driver.

In QJackCtl, go to the Connections window. In the Audio tab, connect the LinuxSampler entry to alsa_pcm. In the MIDI tab, connect Rosegarden to LinuxSampler. Connect your input keyboard to both Rosegarden and LinuxSampler.

In Rosegarden, select the track to be recorded onto. In the Playback parameters drop-down of the Track Parameters section of the left-hand pane, select the proper entry for LinuxSampler from the Device drop-down. It may be labelled as something like "out 4 - MIDI output system device", but once you have the right one, it will show up as something like "132:0 LinuxSampler: Port 0" in the Instrument Parameters section. Press the red Record button, and play something on the keyboard.

MIDI Sequencing with Rosegarden

Having successfully mastered drum programming, the next task facing our make-believe multimedia moguls is to create some believable synthesiser parts. The ability to sequence MIDI to professional standards is relatively new in the Linux arena, this may come as some surprise to veteran computer bashers who fondly remember knocking up tunes on old Ataris running Neanderthal versions of Cubase. One might ask why it has taken so long for Linux Audio Developers to crack this field, considering that the MIDI protocol is so old, well established and some might say awful, that it should by rights have been deprecated years ago?

The answer may lie in the fact that Linux tries too hard to be all things to all people on all systems. If Operating Systems could be compared to cars, Linux would be a Volvo; sturdy, reliable and built like a tank, a good all-rounder but pretty useless when it comes to speed. In the musical realm, any delay greater than about 5ms will not only be noticeable, but in itself can be enough to render a musical instrument unplayable or a piece of music unlistenable. Most people who have ever tried to make music on a PC will have come across the term 'latency'; it's the time difference between you hitting a note on the keyboard and it coming out of your speakers, it is the last thing in the world you want when making music, next to digital feedback, but it is an inevitable consequence of the original design of PC hardware and the Linux kernel.


Much work has been done to integrate the Advanced Linux Audio System into the 2.6 kernels and introduce measures to defeat latency, thanks to constant pressure and input from Linux Audio Developers. It is finally possible to get smooth real-time performance out of an unmodified Linux kernel, this is largely achieved by prioritising the audio signal at every point in both hardware and software and making all other processes wait their turn. For this reason many musicians like to use a separate, specially set-up machine for making music as this kind of configuration can interfere with networking or graphic performance.

New arrangements in the Rosegarden

When it comes to writing synth sequences there are two major players in the Linux speaking world, MusE and Rosegarden. There are other smaller sequencing applications such as the interestingly simple Seq24, which some pundits swear by for basic sequencing.

MusE is a MIDI/Audio sequencer with recording and editing capabilities written by Werner Schweer. MusE aims to be a complete multitrack virtual studio for Linux. It has among other things, support for MIDI sequencing, Audio sequencing, JACK, LASH and ALSA.

Rosegarden is a professional audio and MIDI sequencer, score editor, and general-purpose music composition and editing environment. It is an easy-to-learn, attractive application that runs on Linux, ideal for composers, musicians, music students and small studio or home recording environments.


Attracted by the promise of substantial new features in Rosegarden 1.4.0, Ashlee decided to give it a trial run. It starts up with a nice new splash screen, much better than the old picture postcard thingy and it doesn't seem to mind whether you're running JACK or not. Which is nice. The initial window presents a slightly bewildering display of icons and choices, this is the window where the arrangement of the piece is set out in segments. Happily, the online tutorial is comprehensive and readable and it didn't take Ashlee long to start making progress.

The first thing she realised is that Rosegarden doesn't make any sound itself but relies on being plugged in to an external synth, software synth or one of its own DSSI synth plugins. Once she had figured out how to assign the tracks to different instruments by right clicking on the track title in the main window, the task of creating music seemed relatively intuitive with a choice of using either the piano-roll style Matrix, traditional Notation, Percussion or Event List editors. Notes can be entered through a variety of means including using the mouse or external MIDI keyboards.

Importing the drum track

The first thing Ashlee wanted to do was to import the drum track we recorded in the previous chapter. It was not immediately apparent how to do this. After some gnashing of teeth, cursing and fishing around in the online documentation she found out that it is necessary to import the audio file into Rosegarden before it can be used; via Segments > Manage Files Associated with Audio Segments. This brings up a dialog window which allows you to import the audio file using the File > Add Audio File function. Back in the main Rosegarden window, right click on the channel you wish to use for audio and Select Audio > Audio #1, drag the Audio File into place on the main window or Action > Insert into Selected Audio Track (assuming you have one selected) and the audio file should show up on the appropriate audio track.


The drum track was recorded at 136BPM so we need to synchronise Rosegarden's sequencer. We can set the tempo using one of the methods in the Composition > Tempo and Time Signature menu. It took quite a lot of fiddling around to get the tempo to fit properly, Ashlee used the Set Tempo to Audio Duration function to get a rough idea of whether the audio track was actually playing at the correct tempo and then discovered that by selecting the drum track and pressing ALT + the right and left arrow keys it was possible to nudge the beats into alignment with the bars of the track.

Writing our first tune

In order for your soundcard to actually produce some recognisable noise it is necessary to plug a synth in. Ashlee starts up Amsynth, the simplest free standing softsynth, and uses Aconnectgui to check that the MIDI connections are all made properly. It is possible to administer the MIDI connections from inside Rosegarden, using Composition > Studio > Manage MIDI Devices to connect up the devices; in the Play Devices window set the General MIDI Device to amSynth MIDI IN and it should be possible to play the synth from the Matrix Editor's keyboard. AmSynth can also be played from an on-screen virtual keyboard.


AmSynth's Preset > Randomise function can be useful to provide a starting point for new sounds and then the settings can be fine tuned using the array of knobs and switches provided on the synth. To save your experiments; first change its name in the Preset box and then press the Save Changes button. Ashlee manages to come up with a suitably cheesy synth sound within a few minutes of experimentation.


Ashlee right clicks on the actual track in the main window and selects Open in Matrix Editor from the context menu. The Matrix editor displays a grid with a keyboard down one side. The instrument settings for this track are on the right-hand panel. Set Grid and Quantise to 1/16 or whatever resolution you want, it may be best to keep them the same as each other for most things.

The quickest way to start composing is probably entering notes by hand using the pencil tool. The eraser, move and resize tools also do what it says on the tin. The Adjust and Tools menu have plenty of editing functions to offer and it is entirely possible to build up entire compositions this way, it is painstaking work, however, so most musicians prefer to use an external MIDI keyboard. To record a track it is necessary to go back to the main window, click on the recording light so that the led is lit on the track you wish to record, and hit the red button on the transport bar. It will almost certainly take several takes to get anything useable. Remember that the beauty of MIDI is that your mistakes are correctable, to a degree.


Ashlee gets down to creating a sequence. She decides she likes the notes she has just put in, but wants the pattern to be played at twice the speed, so using the select tool (the arrow) she selects all the notes and selects Adjust > Double Speed from the menu, then copies the pattern using Edit > Copy and positions the cursor with the left mouse button on the ruler at the point of bar 3 then Edit > Pastes the new notes into place.


The View > Show Velocity Property Ruler allows you to edit the velocities of the notes, adding degrees of light and shade or correcting misplayed notes. The Quantise function is also useful for correcting timings. Once Ashlee is happy with the first part she adds more tracks following the same process or copying and pasting sections over to new instruments. She finds out that you have to be careful whilst pasting to make sure you have selected the right track and have the cursor in the right place by clicking on the track ruler. She also noticed that tracks were prone to mysteriously disappearing whilst being moved. Fortunately Rosegarden keeps a long undo history.


JACK Control

Ashlee decides she wants some other sounds apart from the silly synth noise she created on amSynth. In order to do this, we have to restart Rosegarden with JACK running, which involves starting up JACK control from the desktop menu. For more information see the JACK Quickstart guide or the JACK Audio Connection Kit manual page.

If you need several audio applications to be able to access your soundcard at once then it's worth getting to know the Jack Audio Connection Kit properly. You may need to play with the settings to get the best results, although the defaults often work fine. OK your new settings and restart JACK if it is still running.

QSynth


Next Ashlee starts up Qsynth, a front end for fluidsynth. It should automatically connect to the JACK server, but in order to get some sound out of Qsynth we still need to feed it a soundfont. These can be downloaded online relatively easily, then we need to make Qsynth aware of it by hitting the Set-up button and choosing the Soundfonts tab, then browsing for the soundfont you just downloaded. Check the Instrument Parameters tab, The MIDI connections are managed in the same way as before via Composition > Studio > Manage MIDI Devices to make sure the instrument settings are all correct. The soundfont provides a wide range of standard sounds that Ashlee can choose from and introduce different instrumental colours to Pengwyn Parc's debut tune.


Creating a take

The final piece can be captured using any recording software that is able to plug into JACK. Ardour would be a great choice if your system will run it alongside Rosegarden and a couple of softsynths. Ashlee decides to opt for Timemachine, a simple instant recorder, which is much easier on the system resources. Timemachine needs to be connected by hand from the Connect panel in JACK control, then just hit the big green button and start recording. Unless given other instructions by creating a configuration file in your home directory, Timemachine will dump the recordings rather unceremoniously in your home directory labelled tm-<timestamp>.w64 you'll probably want to move and rename the takes you want to keep before it all becomes horribly confusing.


It could take months to master all the possibilities provided by this application but it is still simple enough for Ashlee to immediately get on with writing tunes, while Kenny prepares to start recording guitar and vocals.

links

Rosegarden
http://www.rosegardenmusic.com/
http://rosegarden.sourceforge.net/tutorial/

MusE
http://www.muse-sequencer.org/
http://www.muse-sequencer.org/wiki/index.php/Manual

amSynth
http://amsynthe.sourceforge.net/amSynth/

Hammersound (Soundfonts)
http://www.hammersound.net/cgi-bin/soundlink.pl

Timemachine

by Kevin Donnelly

JACK Timemachine, by Steve Harris, can capture whatever is going to the JACK server - it therefore acts as an instant sound-recorder.

The key point about Timemachine is that it does not start recording once you hit the button. It has already recorded the previous ten seconds in a pre-recording buffer, and will include those seconds in the recording as well. This means it is good for catching those fleeting moments of inspiration that you can't recreate - just click the button and they get recorded to a file retrospectively.

By default, Timemachine records in w64 format, supported only by libsndfile at present. Sweep and Audacity support libsndfile, so they can open these files for editing and convert them, but Rezound uses libaudiofile, so it doesn't. W64 format is used because it better handles long or multichannel files.

Timemachine can also record in wav format, but note that this is WAVE_FORMAT_IEEE_FLOAT, and not the more common WAVE_FORMAT_PCM. Most players (except sndfile-play) will therefore refuse to play this format until
you convert it.

If you want something other than the default settings, start Timemachine with
some arguments:

$ timemachine -f wav -p /home/myuser/music_takes -t 30

To retain these settings, use something like:

alias timemachine='timemachine -f wav -p /home/myuser/music_takes -t 30'

in your ~/.bashrc file. The above line uses -f to specify a .wav file (instead of the default w64), -p to specify a location for the recording (instead of the default home directory), and -t to specify a pre-recording buffer of 30s (instead of the default 10s).


Timemachine in waiting mode



Note that JACK must be running before you start Timemachine. Once started, you need to go to the JACK connections (in JACK Control, for intance), and manually connect the output of the desired sound-playing app to the Timemachine input. So if you have ZynAddSubFX as the client, connect it to Timemachine. Then start playing the sound-creating app, and when you want to capture some sound, click on the big green Timemachine button (it will turn red). You should see the meter levels below the button rising and falling. When complete, click the red button to stop the recording.


Timemachine in recording mode



The recording will be saved to your home directory (change this with the -p switch - see above), under a filename beginning tm-, followed by a timestamp in ISO-8601 format (note that the timestamp reflects the pre-recording buffer, and not the time you clicked the record button).

VST and VSTi How-to (for 32-bit systems)

VST and VSTi support can be hit and miss on free software systems, but some of the most popular plugins can be made to work well. In this how-to I describe installation of the Native Instruments B4 II Hammond organ emulator. The plugin is stable and CPU usage averages around 15% on a low-end Turion CPU, which is acceptable for a soft synth.


Controlling the B4 II plugin via the ALSA sequencer with output to Jack

Here's what to do on a 32-bit (i386) system. (Getting this to run smoothly on a native AMD64 install is going to take some work, but we're looking at it.)

1. Remove any current B4 installation, if you've used Wine or VSTs before. The B4 II is a great improvement over the original B4.

2. In Synaptic, open the Settings -> Repositories window and check you are using the 64 Studio testing branch, version 2.1~pre1 or later. Click 'Mark all upgrades', then 'Apply'. Then install the wine, wineasio and msttcorefonts packages. Once the installation is complete, close Synaptic.

3. As your normal user, not root, run these commands in a terminal:

# regsvr32 wineasio.dll
# winecfg

In the winecfg window that appears, click on the Audio tab, unselect OSS and select ALSA. There is no need to click the Jack option, even to use Wine with Jack (go figure).

4. We need a host application to sit between the plugin and the ASIO driver - in this example we're using VSTHost by Hermann Seib, which comes in both donationware and LGPL versions. To use the donationware version, which has more features, unpack http://www.hermannseib.com/programs/vsthost.zip under ~/.wine/c_drive/Program Files/

5. VSTHost requires a standard Microsoft library to run, which does not have an equivalent in Wine. Copy MSFC42.DLL from a Windows XP system to ~/.wine/c_drive/windows/system32/ or download it from http://activex.microsoft.com/controls/vc/mfc42.cab and use http://packages.debian.org/etch/cabextract to unpack it.

6. Download the B4 II demo from the Native Instruments site at http://www.native-instruments.com/index.php?id=b4ii (requires registration, if you haven't got one on their site already). Unpack it under ~/.wine/c_drive/Program Files/ and right-click on the installer icon. Choose 'Open with Wine'.

7. Run through the B4 II install, accepting all the defaults. When install completes and you are asked if you want to install the NI Service Center, say yes (the plugin won't run without it). When installation of Service Center completes, choose the option to run Service Center now.

8. Use the same username/password in Service Center that you registered with on the NI site. Then enter your B4 II serial number to unlock the full version, otherwise it will run as a demo.

9. Start the Jack server in Jack Control.

10. Right click on the VSTHost icon in the Program Files directory, and choose 'Open with Wine'. After a few seconds, it should start up (it will start quicker next time). Go to the Devices menu -> MIDI -> MIDI Input Devices. Select your hardware interface MIDI input port, or MIDI Through to use a software controller. Then go to Devices -> Wave and set the Output Port to ASIO.

11. Go to the File menu of VSTHost and select 'New Plugin'. Locate the VSTi version of the B4 II under its installation directory and click OK to load it. A small box will appear in the VSTHost main window, representing the plugin. Clicking the very small buttons in this box will bring up various options, one of which is the plugin GUI.

12. Go back to the Connections window of Jack Control and check that the audio outputs and MIDI inputs of VSTHost are connected to your interface. You should now be able to play the B4 II. If you can't, try clicking the organ keys in the B4 II GUI to see if any sound is produced.

2D Graphics

This chapter of the Creative Desktop will provide a gentle introduction to: Bitmap editing with The Gimp; Importing images from a digital camera or scanner; Photo management with gThumb or similar; Vector artwork and illustration with Inkscape and Font management and creation. Everything you need to know to get you started on the path to producing professional quality photos and graphics.

The Geeks shall inherit the mirth

The first challenge facing us is that what it takes to be creative can seem almost diametrically opposed to the usual geek logic prevalent in Linux-using circles. For many people, creativity begins in blue-sky or cloud-gazing mode. So we shall begin by taking a break from the computer and indulging in a gentle 'mind-shower' or 'brainstorming' session. The time and effort spent reading online manuals, reconfiguring your soundcard or kernel or whatever is all time lost for staring out of the window and thinking brilliant creative thoughts. Sometimes the embarrassment of riches offered by Linux can be the very thing that gets in the way of this.

My favourite tool for this job is the creative diary, for which I like to use a physical A4 book with lined pages and an analogue inscription tool (aka: a pen). Computers tend to force the mind to work using rather linear, granular logic. It is useful for the creative process to get away from this for a moment. Open up a blank page and start writing. Write anything you like, your exact thoughts precisely as you think them, disable your internal editor for now and simply fill up three A4 sheets or the equivalent with mental verbiage. Close, file and forget.

This is a very useful exercise first thing in the day or whenever you need to clear your mind. The usefulness of this technique will become apparent the more you do it. The most important part is to get into a flow with it and not worry about the results or try to edit your thoughts in any way. In its purest form you would never look at these notes again and possibly destroy them immediately. That is one approach, I like to use my diary as a store of useful ideas that I can draw upon later in the creative process.

Working up the fluff

This is where we define our project and indulge in the flights of fancy and other emotional predilections that give our project meaning. Too many technology driven projects suffer from being proof-of-concept pieces. This is a worthy exercise in itself, but we need to focus on our final product, music CD, game, cartoon series or whatever and the message that we want to get across. Firstly the project needs at least a working title, as well as a central character or two and some sort of seed plot or motivation behind the story. Did I mention fun? One of the most important reasons for using Linux creatively is not only that you can control every aspect of the project without having to ask anyone's permission, which in itself is pretty cool, but also that it is simply great fun.


For the purpose of this series we need a pretty broad-based project to use for our examples. I propose an all-singing all-dancing anthropomorphic gang of Linux advocates who are preparing to storm the world with open-source multimedia joy. For want of a better moniker we shall call our mythical multimedia production crew Pengwyn Parc. Great. They are all set to make it big on the international circuit now. They've got the songs written and rehearsed, they've got the dances choreographed, the video storyboarded and the penguin costumes. All they lack is a production budget. Inspired by the thought that it's possible to get a number one hit without the backing of a major record company these days, they've holed themselves up with a computer they saved from the skip and installed a whole load of free software on it in their hastily converted bedroom studio. Now they are ready to unleash the potential of open source software on the world, but where to start?

The GIMP

Preparing graphics and photos is probably one of the most common tasks you will need to deal with, so the GIMP is an appropriate place to start our adventure into the creative side of Linux. The application itself is one of the oldest flagships of creativity, without which our screens would be drab places indeed. Despite the awful acronym, it has become the primary graphical manipulation tool on the Linux desktop and in many cases it is just the tool for the job. Once you realise that everything you see on your screen can be manipulated using The GIMP, its omnipotence in the visual realms becomes very relevant.

So, let's fire up The GIMP from Graphics > GIMP Image Editor and get to work.

Preparing Graphics

If you have never used The GIMP before you'll need to go through the User Installation dialog. It is normally fine to click Continue on each of the panels, when it is done The GIMP should boot up nicely and you will be presented with the two vertical toolbars and the Tip of the Day panel, get rid of the Tip of the Day for now, you can always read that later. At the top of the main column, which will probably be on your left, are three menus: File, Xtns and Help. Select File > New ... and you should be looking at a dialog called Create a New Image. From the drop down box marked 'Template' We're going to choose Web banner common 468x60. One day I'm going to find a use for the US standard Toilet paper setting I'm sure. Click OK and you will be presented with a nice blank banner ready for your smart new logo.



Back on the main column, you will see an icon panel beneath the main menu, this is your Toolbox, click on any of these and the various associated options will be shown in the bottom half of the column. We're interested in the Text tool right now, which appropriately looks like a T, and sensibly, this is also the keyboard shortcut. If you place the cursor over your new banner it will turn to an I-beam indicating that it is ready to insert text. If you click on your blank canvas, somewhere to the left I'd recommend unless you're writing in Hebrew, the GIMP text editor should appear. Type in some words. Great, now something should show up on your new canvas.


Going back to the Tool options on the bottom half of the main column, we can now adjust the text properties, find a nice font, resize and colour it to taste. You will notice an interesting option at the bottom of the list - Create path from text - click on it now. If you look over at the second column the Layers,Channels,Paths dialog should be prominently displayed. You will see that the GIMP has created a new layer for your text leaving the background blank. This is good. This dialog has four tabs which allow you to access the Layers (what you are looking at now), Channels, Paths and Undo history. Let's look at the Path you've just created by clicking on the Paths tab. You should see the path listed in the dialog box. By clicking on the blank space furthest to the left it is possible to view the path. Bear in mind that the path, similar to making a selection, won't affect the image itself unless you do something with it. The simplest thing to do is to use it to create an outline for the text. If you right-click on the entry in the dialog box it will bring up a context menu from which we want to select Stroke Path ... Give it a line width of 1 pixel (1px) and apply. This should create a black border round your text. If you are not happy with your results you can always Undo (Ctrl+Z or the first item in the Edit menu) and reapply. Try experimenting with different foreground colours and line widths until you are happy.

Before you go much further save your work. Get into a habit of doing this every time you sit back from the computer and think 'What next?'. You will thank yourself for saving often. Save it as a .xcf - the native GIMP format while you are working on it, we can export it later.

You may want to experiment with the move tool (the arrow-headed cross icon or M key) to position the text where you want it, you can also use the arrow keys on your keyboard for this. Next we're going to need a cute anthropomorphic penguin character (of course). I've got one, but it's part of another picture. No problem, we can open up the image in the GIMP and cut around the image using the intelligent scissor tool, the scissors with a wiggly line icon that is labelled Select shapes from image. You will notice that all these tools have keyboard shortcuts too, this one is I. Once we have the shape outlined by clicking on various points around it, clicking in the middle of the shape selects it. From here we can Edit > Copy and Paste as New from the menu and save that as a separate image for now. You may want to use the Eraser tool to clean it up a bit. I generally prefer a small hard-edged circle 3 pixels wide and enable the Hard edge option for cleaning up work.


Let's leave that open and go back to our logo. This is where we have to start remembering which window we have in focus, which layer we are working on and what we have selected because changes only affect the selection on the active layer. If we right-click on the layers dialog again this time we can select New Layer ... it should be the same same size as the image by default and we want the Layer Fill type to be Transparency. Now our changes will only affect the New Layer. Now we can go back to our penguin picture and Copy it. It may be a good idea to resize it before we do that, bearing in mind that this banner is only 60 pixels high. Image > Scale Image ... will bring up a suitable dialog. If you leave the x and y coordinates locked, then changing one will automatically adjust the other. Then Select > All and Edit > Copy. Bring the banner back into focus and make sure the New Layer is still selected. Edit > Paste and then use the Move tool to position it where you want. You can then either right-click in the layers dialog and Anchor Layer or click in the image when you get the anchor cursor. Don't forget to Save.


For a final touch we want to brighten up the background, for which we're going to use a pattern fill. Select the paint bucket (Shift+B) from the toolbox and choose Pattern fill from the options underneath. Select a suitable pattern, I chose 'Pool Bottom' for this, now go back to the layers dialog and select the background. This step is very important, we don't want to wipe out what we've already done. Then you can click almost anywhere on the canvas and flood it with the chosen pattern.

I'm not happy with the contrast so with the background layer still selected I go to Layer > Colours > Hue-Saturation ... and play around with the values. I give it Hue +30 and Lightness -70 Leaving the saturation alone. Much better.



We now have a basic logo, which will serve us for now. We can export it using the File > Save as ... dialog and selecting a file type of something like PNG image. This will render it into a format usable by other applications. You will be prompted for various options, the defaults are probably going to be fine for most purposes.

links:

http://docs.gimp.org/
http://gimp-savvy.com/BOOK/

Inkscape

Manipulating pixmaps is all very well, but when it comes to creating original, scalable graphics we need to investigate Inkscape's vector drawing, bézier curves and calligrapy tools. This is a gentle introduction to the art of editing SVGs with a little bit of ImageMagick thrown in for good measure.

Ink blots in the copybook

The creative path rarely runs smooth. Pengwyn Parc had a project meeting and decided that they don't like their new logo after all and nobody likes the penguin suits. Faced with a problem like this, they have no choice but to think laterally. Perhaps we shouldn't worry too much about coming up with a complete new image or even a new logo, instead we will look at other ways our team might create alternative designs that could be incorporated into a new logo. These designs could be used in various different ways, on the website and in the product itself, so it will pay to think ahead.

There are several classic approaches to lateral thinking. The first is to write down the problem in your creative diary. Stick a 'Do not disturb' sign on your door, give yourself time to ponder and let your mind wander. Often the process of defining the question, as most programmers know, will give rise to the answer. If not, allow yourself time to chew it over and to consider the ridiculous and apparently impossible. Remember, the editor is banned from creative diary sessions. If that still doesn't help you may want to try some random advice, such as drawing one of Brian Eno and Peter Schmidt's Oblique Strategy cards. If you find yourself coming up against a brick wall, stop going forwards and start looking for ways around the problem.

Our design team disappeared clutching their creative diaries and agreed to meet up in an hour's time. Ashlee managed to come up with some dubious potential project titles: "A little something for the weekend, Reverend?" and "Kneel in Respect (before Pengwyn Parc)". Baz reckoned they should simply call the project "Headache", his idea didn't seem to go down too well with the others. Kenny got some ideas for a rap and Tabitha ended up with a page full of doodles. The doodles aren't really good enough to scan in, they want smart computer graphics, preferably in a format that can be easily resized.

Baz snorts; "I bet Linux doesn't have anything like Corel Draw?"

"No," Tabitha replies thoughfully, "but it does have Inkscape." She clicks on the appropriate menu entry and a new document opens up.

As you can see, our little brainstorming session hasn't got us much closer to a new logo or indeed any semblance of a plot, but we now have some main characters, potential titles and a different approach to making new graphics. Lateral enough for you? Let's see what Inkscape can do for us now.

The Great Inkscape

Inkscape is well documented, start at Help > Tutorials > Inkscape: Basic and work your way through. The tutorials themselves are in SVG format, so you can try things out as you read them. There is a satisfying recursiveness about this. The learning curve for Inkscape is nice and gentle, the tutorials can be worked through in a day, by which time you will already have come up with some pleasing designs and have gained enough confidence to develop your ideas through further experimentation.

SVG stands for Scalable Vector Graphic, which is a standardised format based on XML, so it can even be edited using a text editor if need be and is immediately usable outside of Inkscape. It can also export to PNG and a few other useful formats. Most of the commands are available through logical keyboard shortcuts. You don't have to learn all the shortcuts at once as all the commands are available from menus too. Once a particular tool is selected, all its parameters show up in the controls bar beneath the menus. This can be great for quick edits or putting in specific values.

Like the GIMP, Inkscape has a variety of pre-formatted document sizes including standard paper sizes, CD covers and icons. It also has a nice selection of pre-formatted shape tools that will satisfy the five-year old in most of us and provide a useful way to start playing around with the possibilities of this application. The shapes can be manipulated via their handles, square ones for resizing and round ones for reshaping. The star tool is rather cool and as warned, somewhat addictive. You can make all sorts of shapes from mandalas to randomised ink-blot shapes as well as conventional stars. It is possible to achieve many different effects purely using Inkscape's powerful shape tools.


If the effect you want requires more complex editing you can convert the shape to a path (menu: Path -> Object to Path), which allows you to edit the bézier curves more precisely. Editing bézier curves is a slightly peculiar process if you are not used to it, but it is well worth becoming acquainted with this art if you want to create smart computer graphics. If you click on one of the square nodes, its 'handles' will be displayed along with those of the adjacent nodes either side. By experimenting with pulling out and adjusting these handles, pretty much any shape you imagine can be produced with a little practice.

The calligraphy tool is another great source of immediate gratification. For actual calligraphy, it is useful to provide yourself with some guide lines, which can be pulled out of the rulers on the top and left hand side of the document just as you would do in the GIMP. The tutorial recommends the use of a graphics tablet if you are really serious about your calligraphy, but for the dabbler, the mouse will do just fine. Once you are done, the results can be filled and stroked and the curves edited the same as with the shapes.


Alternatively text can be created using the text tool. Whilst still in text mode it is possible to alter the kerning of the whole text or individual pairs of letters or move them up and down relative to the baseline, which can produce some interestingly funky effects. The text can also be made to follow a path or flowed inside a text box and of course converted entirely into a path. It is useful to remember that SVGs will use the fonts that are installed on the system, so this may change the look of the final design on different systems that don't have the same fonts installed. Converting the text to paths will get round this problem and also allow you to make further transformations.

Format Conversions

Once you are happy with your design save it and you're done, the SVG format can be used in many contexts within Linux. Sometimes you may need to save in other formats or export the image. What's the difference and why are there so many different formats? Let's start by looking at File > Save As... This offers us the opportunity to save as SVG, SVGZ, PS, EPS, EPSI, POV, AI, PDF, DXF or TEX formats, these options save the vector information into formats useable by other applications to varying extents. Exporting is the process of rendering the image into a static bitmap: File > Export Bitmap... The dialog allows you to select a particular area of the image or part of the page and allows you to specify the bitmap size. Best to let Inkscape automatically work out the dpi (dots per inch) unless you really know better. The format you choose is up to you, Inkscape can export to a wide variety of formats. If the graphic is going to be used only within Linux then PNG is probably the best choice. PNG is also a good substitute for the awkwardly licensed GIF on webpages. BMP is the Windows standard as TIFF is for Macs, you don't really need to know about any other formats unless you know you do.


If Inkscape can't handle the conversion you can always import the bitmap into the GIMP and perform further alterations before saving it into the wide array of formats that the GIMP supports. You can even save it as an ASCII art file in TXT format if you really want! If you want to apply the same operations to many images or repeat a specific operation at different times to the same or different image, it is worth knowing about ImageMagick. This allows you to do neat stuff like converting all your screenshots into a directory of numbered thumbnails using one single command:

$ convert '*.png' -resize 100x100 thumbs/%03d.jpg

The documentation for ImageMagick is pretty comprehensive, in combination with Inkscape and the GIMP it should be possible to realise any static 2d image you can imagine. It shouldn't take long before you are able to produce suitable images to brighten up your webpages and promotional materials. I have only given the briefest of introductions here, over time you will discover the wealth of functions these applications have to offer.

Of course, Pegwyn Parc are impatient; Baz is already designing a 3d role-playing adventure game in his head; Ashlee thinks they should do a Flash animation for one of their songs; Kenny wants to broadcast their next gig on the internet. Tabitha reminds them that they have a lot to learn before they are ready to launch a full-scale multimedia production. However, if they take it step by step, building on the knowledge they already have, they should be able create something usable and professional looking without having to get bogged down in details.

Happy Creating!

links

Oblique Strategies
http://music.hyperreal.org/artists/brian_eno/oblique/oblique.html

Inkscape documentation
http://www.inkscape.org/

ImageMagick
Introduction to ImageMagick
Command Line tools

FontForge

Font management and creation is a subject which has long been shrouded in mystery. This chapter hammers out the truth about typefaces and guides us into our first foray with fontforge

Fontology for the lazy existentialist

Tabitha sits back from the screen and screws her face up again. "I don't like any of these fonts!". She has been wrestling with the design of Pengwyn Parc's new home page all morning.

Baz looks over her shoulder, "We could download some new ones off the Internet, there are loads of free fonts out there."

Tabitha tuts, "Yeah but most of them are reverse-engineered rip-offs of someone else's design."

"So what?" Baz retorts "Fonts should be free."

"Yeah, but we don't want to be using the same typeface as everyone else. Why don't we design our own? Then it would always be unique."

"Can you make your own fonts using Linux?" asks Ashlee, suddenly interested in the conversation. "Having our own designer typeface for our promo graphics would be really cool!"

"Yeah sure," sighs Baz, "Using FontForge, it's not that hard to actually do, but it is very time-consuming. And then you have to install the flipping things. Why don't you just use Tahoma or Verdana or something?"

"I'm already using Bitstream Vera Sans for the text, that's fine, and there's always Nimbus or Luxi, so there's no need to use awful fonts like Helvetica or Arial ever again!"

Ashlee makes sicky noises at the mention of Arial while Tabi continues enthusiastically; "I want something new for the headlines and titles and I just don't like any of the fonts we've got installed. I bet we can get our heads around it if we take it step by step"

Baz shakes his head in disbelief.

"What's a typeface?" asks Kenny.

Inspector Vector decodes the magic glyphs

A typeface is a collection of fonts with a similar or compatible visual style. A font is a collection of renderable glyphs organised into characters and a glyph is made up of the contours and shapes that represent a character, the same character can be represented by several different glyphs. Computer fonts must also contain information on how to map an input string of bytes into an output display of visual glyphs. This mapping is called an encoding. A font may also contain information on how to compose ligatures and accents.


The study of fonts and typefaces can become quite complex and esoteric, but fortunately it is not necessary to get involved in too much detail in order to get started. In this article we will be taking it nice and easy. That said, in order to produce results that look professional, clean, beautiful and comfortable, it is worth learning a little more about how fonts are displayed. The documentation that comes with FontForge is pretty extensive and comprehensive, so we'll just deal with the basics here.

Fonts are stored using various different File types:

  • PCF is a Binary bitmap font compiled from BDF, with a platform and endian independent representation. Bitmap fonts are occasionally used for screen display, they do not resize well;
  • PostScript fonts are vector fonts designed primarily for printing, developed by Adobe. PFA files refer to Type 1 PostScript font in text format and PFB is a Type 1 PostScript font in binary format. These outline vectors require an accompanying AFM or PFM file, which contains the font metrics;
  • TTF files are TrueType fonts - single file vector fonts for screen display, developed by Apple and supported on Linux by the FreeType library. TrueType fonts usually print well too and it is the most universal format nowadays, although a few applications still do not support it;
  • There are many other font formats, which can mostly be ignored for now, apart from mentioning MetaFont, which is useful for TeX users.

The size of a font is usually measured in points, which are print dots, there are exactly 72 points to an inch. Ordinary text is usually between 9 and 12 points, headline fonts can be up to 72 points and larger. Pixels are screen dots, screens can vary in resolution from 72 to 96 dpi and beyond. Printing is usually done at upwards of 300 dpi. It is important to understand the differences between the available mediums.

The team spend the rest of the afternoon drawing alphabets in their creative diaries with a variety of black felt-tips.


"Make sure you leave enough space between the lines and keep the letters well separate, because we will need to be able to cut them out individually." Ashlee points out.

Tabitha scrumples up a page of her diary and starts again. By the end of the afternoon after several false starts, they each have a potential alphabet designed. They all agree that Kenny's is the neatest, so they put it in the scanner and import it into GIMP using the File > Acquire > XSane > Device dialog and following the instructions. If you don't have a scanner set up there are many ways of creating your letters, including directly in FontForge using your mouse and bézier tools, so don't despair!

Forging ahead

FontForge is George Williams' free Open Source UNIX-based font editor for type 1 and TrueType fonts, previously called Pfaedit. It also does TrueType collections (TTC) and opentype fonts. When we open up FontForge from the desktop applications menu we are presented with an Open Font dialog. Click on New and you will be presented with an empty font view window. Double-clicking on a glyph will bring up an outline glyph window. This is where you edit the bézier splines that make up the individual contours. We can give our new font a name by clicking on Element > Font Info... We can also set a copyright notice here and rather a lot of other information which affects the whole font. The defaults are suitable for PostScript fonts, so we will accept them for now. TrueType fonts may benefit from different settings, but fortunately FontForge usually manages to do the right thing. You may also wish to use Encoding > Reencode to change what characters are available in your font. FontForge generally creates new fonts with an ISO-8859-1, which contains (most of) the characters needed for Western Europe.

Tabitha found that simply copy-pasting the letter shapes from GIMP into FontForge didn't really work the way she had hoped, so she had to split them up into separate files using the GIMP and then import them individually into FontForge using the File > Import... function. The internal text format for fonts is called SFD. It is a format that is acceptable for communicating and storing fonts. Now would be a really good time to save your work in that format (File -> Save).

Editing the font images

Now we need to resize the bitmaps to fit. Double-click on one of the glyphs again and select Back from the Layers palette, this will enable the background to be edited. You can then drag the image around so that it sits on the baseline and fits inside the 1000x1000 box in an appropriate manner. If you are working from scratch it is recommended to create a base glyph with all the lines your letters will need using the bitmap editor, a circled cross is often a good starting point, and then edit that to create all the letters you require, starting with A, R. O. H & T. You will notice that many of the letter shapes are related to one another, so new glyphs can be created by flipping shapes on the horizontal or vertical axes. This technique can be used to fill in glyphs that are missing from the original design and will produce consistency in the final look of the font.


If you have the autotrace program installed you can generate an outline from the image using the menu entry; Element > AutoTrace. Otherwise you will have to add the points yourself. Make the Foreground layer active and select the curve point tool from the Tools palette (The round circle on a line). Click around the shape on the corners and straight lines, preferably in a clockwise fashion, making sure you close the path by adding a new point on top of the old start point. It is then possible to fine tune the contours using a combination of the Points menu and dragging the control points around with the mouse. Remember to select the Pointer tool for this bit. The representation of the glyph will change in the font view window as you edit, so you can easily check your progress.


Note that the glyph for 'O' has two contours: the inner and outer circles. If all you see is a big black dot it is most likely to be because the inner contour is going in the wrong direction in relation to the outer contour. This is easily solved by flipping the direction of the inner contour. Within FontForge all outer boundaries must be drawn clockwise, while all inner boundaries must be drawn counter-clockwise. This condition applies to any glyphs involving enclosed spaces. The command Element > Correct Direction can be used to automatically correct this kind of error.

Spacing and Kerning - Font Metrics

Once you have created the glyph shapes, the next task is to specify the spacing between the glyphs. The metrics window can be brought up from Window > New Metrics Window. From here you can adjust the spacings of each letter relative to the others either by typing values into the text fields below or dragging the shapes and lines into the desired positions. The widths of the glyphs and the kernings can be set automatically from the Metrics menu, but this can produce some alarming effects. Kerning is the process of setting the spacing between specific pairs of letters. This can take quite a bit of fiddling around and it is best to get the individual glyphs the right width before attempting to set any kernings.


FontForge also has facilities to create hints to help the font renderer find horizontals and verticals, and produce consistent serifs and stem widths at small point sizes. It is possible to create ligatures, accents and alternative glyphs as well. It can also deal with right-to-left and vertical alignments and most conceivable encodings. It can handle Chinese, Japanese and Korean fonts as well as Arabic type styles.


In order to make your font usable, you first need to save it in a standard font format (File > Generate Fonts...). Although it seems like there are a bewildering array of choices, in fact you want to Choose PS Type1 or TrueType in most circumstances. The default setting will serve us perfectly well for now.

Installing your new fonts

Create a new directory for your fonts. Fonts appear to be stored in an alarming array of places, these can vary from distro to distro, so it's best to check your documentation for this. Be aware that some of these instructions may have to be carried out as root.


Don't touch the usual directories under /usr/share/fonts/, which contain the base X11 fonts and instead create two new directories for selected TrueType and Type 1 fonts, for example /usr/local/share/fonts/type1/ and /usr/local/share/fonts/truetype/. You can also put private fonts in ~/.fonts/ if you want.

Now, either copy all the TrueType fonts (*.ttf) that you need into the truetype/ directory or copy the Postscript fonts (*.afm and *.pfb) into the type1 directory. Next, we need to tell X about your fonts. The process is slightly different for each format.

The old way of installing TrueType fonts involved entering the following commands in sequence from a terminal window:

cd /usr/local/share/fonts/truetype/
ttmkfdir > fonts.scale
mkfontdir

PostScript fonts used the type1inst command instead of ttmkfdir.

If you view the directory you should now see two new files among the truetype fonts - "fonts.scale" and "fonts.dir". These files simply contain a list with the full font names for each TrueType font.

Now we need to add these new directories to the font server path - the list of locations which XWindows will search for fonts. Edit the X configuration file (/etc/X11/xorg.conf) and find the "Files" Section; in most standard versions of this file it will be near the top. In this Section is a list of FontPath entries. All we need to do is add our new directory to this list, by adding a couple of lines like this:

FontPath "/usr/local/share/fonts/truetype"
FontPath "/usr/local/share/fonts/type1"

64 Studio users can regenerate all the necessary files simply using fc-cache with the -f option. Should that fail you may have to edit the file /etc/X11/xfs/config, find the line which starts with "catalog=", and add your directory at the end of the list, separated by a comma. There may be other files that you need to edit in order to make the fonts fully available to all applications. The fonts for OpenOffice.org usually need to be configured separately. You really must check your documentation for this part.


You will probably need to restart the font server for it to register the new fonts. The easiest way to do this is to log out and back in to your desktop. You may need to run xset fp rehash as well. You can also easily add the new font paths to the running instance of the X server with the xset utility, like this:

$ xset fp+ /usr/local/share/fonts/truetype
$ xset fp+ /usr/local/share/fonts/type1

Once you've done this you can use xset q to verify that the new path exists in the running server's font list. You can test it now by running the xfontsel program from the terminal, or run the Font Selector program from the Utilities menu in GNOME. You should immediately see the name of your new font in the list. Your work is done and your new font is now ready to use.

links

FontForge
FontForge - An Outline Font Editor
Tutorial
Frequently Asked Questions

Frequently asked questions about fonts
Fonts FAQ