Product SiteDocumentation Site

Fedora 15

Musicians' Guide

Audio creation and music software in Fedora Linux.

Edition 1.0

Christopher Antila

Fedora Documentation Project

Legal Notice

Copyright © 2011 Red Hat, Inc. and others.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
For guidelines on the permitted uses of the Fedora trademarks, refer to https://fedoraproject.org/wiki/Legal:Trademark_guidelines.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
All other trademarks are the property of their respective owners.
Abstract
This document explores some audio creation and music activities possible with Fedora Linux. Computer audio concepts are explained, and a selection of programs are demonstrated with tutorials that show their typical usage.

Preface
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
2. We Need Feedback!
I. Linux Audio Basics
1. Sound Cards and Digital Audio
1.1. Types of Sound Cards
1.1.1. Audio Interfaces
1.1.2. MIDI Interfaces
1.2. Sound Card Connections
1.2.1. Integrated into the Motherboard
1.2.2. Internal PCI Connection
1.2.3. External FireWire Connection
1.2.4. External USB Connection
1.2.5. Choosing a Connection Type
1.3. Sample, Sample Rate, Sample Format, and Bit Rate
1.3.1. Sample
1.3.2. Sample Format
1.3.3. Sample Rate
1.3.4. Bit Rate
1.3.5. Conclusions
1.4. Other Digital Audio Concepts
1.4.1. MIDI Sequencer
1.4.2. Busses, Master Bus, and Sub-Master Bus
1.4.3. Level (Volume/Loudness)
1.4.4. Panning and Balance
1.4.5. Time, Timeline, and Time-Shifting
1.4.6. Synchronization
1.4.7. Routing and Multiplexing
1.4.8. Multichannel Audio
2. Software for Sound Cards
2.1. How Linux Deals with Audio Hardware
2.2. Sound Servers
2.2.1. PulseAudio
2.2.2. JACK Audio Connection Kit
2.2.3. Phonon
2.3. Using the JACK Audio Connection Kit
2.3.1. Installing and Configuring JACK
2.3.2. Using QjackCtl
2.3.3. Integrating PulseAudio with JACK
3. Real-Time and Low Latency
3.1. Why Low Latency Is Desirable
3.2. Processor Scheduling
3.3. The Real-Time Linux Kernel
3.4. Hard and Soft Real-Time
3.5. Getting a Real-Time Kernel in Fedora Linux
4. Planet CCRMA at Home
4.1. About Planet CCRMA at Home
4.2. Deciding Whether to Use Planet CCRMA at Home
4.2.1. Exclusive Software
4.2.2. Security and Stability
4.2.3. A Possible "Best Practices" Solution
4.3. Using Software from Planet CCRMA at Home
4.3.1. Installing the Planet CCRMA at Home Repositories
4.3.2. Set Repository Priorities
4.3.3. Prevent a Package from Being Updated
II. Audio and Music Software
5. Audacity
5.1. Knowing When to Use Audacity
5.2. Requirements and Installation
5.2.1. Software Requirements
5.2.2. Hardware Requirements
5.2.3. Standard Installation
5.2.4. Post-Installation Test: Playback
5.2.5. Post-Installation Test: Recording
5.3. Configuration
5.3.1. When You Run Audacity for the First Time
5.3.2. Configuring Audacity for Your Sound Card
5.3.3. Setting the Project's Sample Rate and Format
5.4. The Interface
5.5. Recording
5.5.1. Start to Record
5.5.2. Continue to Record
5.6. Creating a New Login Sound (Tutorial)
5.6.1. Files for the Tutorial
5.6.2. Scenario
5.6.3. Align Tracks
5.6.4. Stretching Tracks
5.6.5. Adjust the Volume Level
5.6.6. Remove Noise
5.6.7. Fade In or Out
5.6.8. Remove Some Audio
5.6.9. Repeat an Already-Recorded Segment
5.6.10. Add a Special Effect (the Phaser)
5.6.11. Conclusion
5.7. Save and Export
5.7.1. Export Part of a File
5.7.2. Export a Whole File
6. Digital Audio Workstations
6.1. Knowing Which DAW to Use
6.2. Stages of Recording
6.2.1. Recording
6.2.2. Mixing
6.2.3. Mastering
6.2.4. More Information
6.3. Interface Vocabulary
6.3.1. Session
6.3.2. Track and Multitrack
6.3.3. Region, Clip, or Segment
6.3.4. Transport and Playhead
6.3.5. Automation
6.4. User Interface
6.4.1. Messages Pane
6.4.2. Clock
6.4.3. Track Info Pane
6.4.4. Track Pane
6.4.5. Transport Controls
7. Ardour
7.1. Requirements and Installation
7.1.1. Knowledge Requirements
7.1.2. Software Requirements
7.1.3. Hardware Requirements
7.1.4. Installation
7.2. Recording a Session
7.2.1. Running Ardour
7.2.2. The Interface
7.2.3. Setting up the Timeline
7.2.4. Connecting Audio Sources to Ardour
7.2.5. Setting up the Busses and Tracks
7.2.6. Adjusting Recording Level (Volume)
7.2.7. Recording a Region
7.2.8. Recording More
7.2.9. Routing Audio and Managing JACK Connections
7.2.10. Importing Existing Audio
7.3. Files for the Tutorial
7.4. Editing a Song (Tutorial)
7.4.1. Add Tracks and Busses
7.4.2. Connect the Tracks and Busses
7.4.3. Add Regions to Tracks
7.4.4. Cut the Regions Down to Size
7.4.5. Compare Multiple Recordings of the Same Thing
7.4.6. Arrange Regions into the Right Places
7.4.7. Listen
7.5. Mixing a Song (Tutorial)
7.5.1. Setting the Session for Stereo Output and Disabling Edit Groups
7.5.2. Set Initial Levels
7.5.3. Set Initial Panning
7.5.4. Make Further Adjustments with an Automation Track
7.5.5. Other Things You Might Want to Do
7.5.6. Listen
7.6. Mastering a Session
7.6.1. Ways to Export Audio
7.6.2. Using the Export Window
8. Qtractor
8.1. Requirements and Installation
8.1.1. Knowledge Requirements
8.1.2. Software Requirements
8.1.3. Hardware Requirements
8.1.4. Other Requirements
8.1.5. Installation
8.2. Configuration
8.2.1. Audio Options
8.2.2. MIDI Options
8.2.3. Configuring MIDI Channel Names
8.3. Using Qtractor
8.3.1. Using the Blue Place-Markers
8.3.2. Using the MIDI Matrix Editor's Tools
8.3.3. Using JACK with Qtractor
8.3.4. Exporting a Whole File (Audio and MIDI Together)
8.3.5. Miscellaneous Tips
8.4. Creating a MIDI Composition (Tutorial)
8.4.1. Inspiration
8.4.2. Files for the Tutorial
8.4.3. Getting Qtractor Ready
8.4.4. Import the Audio File
8.4.5. Marking the First Formal Area
8.4.6. Creating our Theme
8.4.7. Repeat the Theme
8.4.8. Compose the Next Part
8.4.9. Qtractor's Measures 52 to 75
8.4.10. Qtractor's Measures 75 to 97
8.4.11. Qtractor's Measure 97
8.4.12. Qtractor's Measures 98 to 119
8.4.13. Qtractor's Measures 119 to 139
8.4.14. Qtractor's Measures 139 to 158
8.4.15. Qtractor's Measures 158 to 176
8.4.16. Qtractor's Measures 177 to the End
9. Rosegarden
9.1. Requirements and Installation
9.1.1. Knowledge Requirements
9.1.2. Software Requirements
9.1.3. Hardware Requirements
9.1.4. Other Requirements
9.1.5. Installation
9.2. Configuration
9.2.1. Setup JACK and Qsynth
9.2.2. Setup Rosegarden
9.3. Rosegarden and LilyPond
9.4. Write a Song in Rosegarden (Tutorial)
9.4.1. Start the Score with a Bass Line
9.4.2. Add a Percussion Track
9.4.3. Spice up the Percussion
9.4.4. Add a Melody
9.4.5. Possible Ways to Continue
10. FluidSynth
10.1. SoundFont Technology and MIDI
10.1.1. How to Get a SoundFont
10.1.2. MIDI Instruments, Banks, Programs, and Patches
10.1.3. MIDI Channels
10.2. Requirements and Installation
10.2.1. Software Requirements
10.2.2. Thare Are Two Ways to Install FluidSynth
10.2.3. Installation with Qsynth
10.2.4. Installation without Qsynth
10.2.5. Installation of SoundFont Files
10.3. Using FluidSynth in a Terminal
10.4. Configuring Qsynth
10.4.1. Starting FluidSynth
10.4.2. SoundFont Configuration
10.4.3. JACK Output Configuration
10.4.4. MIDI Input Configuration
10.4.5. Viewing all FluidSynth Settings
10.5. Assigning Programs to Channels with Qsynth
10.5.1. Changing the Number of MIDI Input Channels
10.5.2. Saving and Reusing Channel Assignments
10.6. Using Reverb and Chorus with Qsynth
10.7. Multiple FluidSynth Instances with Qsynth
11. SuperCollider
11.1. Requirements and Installation
11.1.1. Knowledge Requirements
11.1.2. Software Requirements
11.1.3. Hardware Requirements
11.1.4. Available SuperCollider Packages
11.1.5. Recommended Installation
11.2. Using GEdit to Write and Run SuperCollider Programs
11.2.1. Enable and Configure SCEd in GEdit
11.2.2. Enable SuperCollider Mode and Start a Server
11.2.3. Executing Code in GEdit
11.2.4. Other Tips for Using GEdit with SuperCollider
11.3. Basic Programming in SuperCollider
11.3.1. First Steps
11.3.2. Variables and Functions
11.3.3. Object-Oriented SuperCollider
11.3.4. Sound-Making Functions
11.3.5. Multichannel Audio
11.3.6. Collections
11.3.7. Repeated Execution
11.3.8. Conditional Execution
11.3.9. Combining Audio; the Mix Class
11.3.10. SynthDef and Synth
11.3.11. Busses
11.3.12. Ordering and Other Synth Features
11.3.13. Scheduling
11.3.14. How to Get Help
11.3.15. Legal Attribution
11.4. Composing with SuperCollider
11.4.1. Files for the Tutorial
11.4.2. Inspiration
11.4.3. Designing the First Part
11.4.4. Designing the Second Part
11.4.5. Creating Ten Pseudo-Random Tones
11.4.6. Scheduling the Tones
11.4.7. Optimizing the Code
11.4.8. Making a Useful Section out of the Second Part
11.4.9. Joining the Two Parts
11.5. Exporting Sound Files
11.5.1. Non-Real-Time Synthesis
11.5.2. Recording SuperCollider's Output (Tutorial)
12. LilyPond
12.1. How LilyPond Works
12.2. The LilyPond Approach
12.3. Requirements and Installation
12.4. LilyPond Basics
12.4.1. Letters Are Pitches
12.4.2. Numbers Are Durations
12.4.3. Articulations
12.4.4. Simultaneity
12.4.5. Chords
12.4.6. Commands
12.4.7. Source Files
12.4.8. How to Avoid Errors
12.5. Work on a Counterpoint Exercise (Tutorial)
12.5.1. Files for the Tutorial
12.5.2. Start the Score
12.5.3. Adjust Frescobaldi's Output
12.5.4. Input Notes
12.5.5. Format the Score
12.6. Work on an Orchestral Score (Tutorial)
12.6.1. Files for the Tutorial
12.6.2. Start the Score
12.6.3. Adjust Frescobaldi's Output
12.6.4. Input Notes
12.7. Work on a Piano Score (Tutorial)
12.7.1. Files for the Tutorial
12.7.2. Start the Score
12.7.3. Adjust Frescobaldi's Output
12.7.4. Input Notes
12.7.5. Troubleshoot Errors
12.7.6. Format the Score (Piano Dynamics)
13. Frescobaldi
13.1. Frescobaldi Makes LilyPond Easier
13.2. Requirements and Installation
13.3. Configuration
13.4. Using Frescobaldi
14. GNU Solfege
14.1. Requirements and Installation
14.1.1. Hardware and Software Requirements
14.1.2. Other Requirements
14.1.3. Required Installation
14.1.4. Optional Installation: Csound
14.1.5. Optional Installation: MMA
14.2. Configuration
14.2.1. When You Run Solfege for the First Time
14.2.2. Instruments
14.2.3. External Programs
14.2.4. Interface
14.2.5. Practise
14.2.6. Sound Setup
14.3. Training Yourself
14.3.1. Aural Skills and Musical Sensibility
14.3.2. Exercise Types
14.3.3. Making an Aural Skills Program
14.3.4. Supplementary References
14.4. Using the Exercises
14.4.1. Listening
14.4.2. Singing
14.4.3. Configure Yourself
14.4.4. Rhythm
14.4.5. Dictation
14.4.6. Harmonic Progressions
14.4.7. Intonation
A. Revision History
Index