Product SiteDocumentation Site

Fedora 18

Musicians' Guide

Audio creation and music software in Fedora Linux

Edition 1

Fedora Project Contributors


Legal Notice

Copyright © 2013 Fedora Project Contributors.
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. Use the JACK Audio Connection Kit
2.3.1. Install and Configure 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. Use Software from Planet CCRMA at Home
4.3.1. Install the "Planet CCRMA at Home" Software Repository
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. Run Audacity for the First Time
5.3.2. Configure 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 a Previously-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. View Requirements and Install
8.1.1. Knowledge Requirements
8.1.2. Software Requirements
8.1.3. Hardware Requirements
8.1.4. Other Requirements
8.1.5. Install
8.2. Configure Qtractor
8.2.1. Use Qtractor with JACK (QjackCtl)
8.2.2. Change Audio Options
8.2.3. Change MIDI Options
8.2.4. Configure MIDI Channel Names
8.3. Use Qtractor
8.3.1. Use the Blue Place-Markers
8.3.2. Use the MIDI Matrix Editor's Tools
8.3.3. Export a Whole File (Audio and MIDI Together)
8.3.4. Miscellaneous Tips
8.4. Create a MIDI Composition (Tutorial)
8.4.1. Inspiration
8.4.2. Get Files for the Tutorial
8.4.3. Prepare Qtractor
8.4.4. Import the Audio File
8.4.5. Mark the First Formal Area
8.4.6. Create a 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 FluidSynth (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. Install FluidSynth
10.2.3. Install with Qsynth
10.2.4. Install without Qsynth
10.2.5. Install SoundFont Files
10.3. Use FluidSynth in a Terminal Emulator
10.4. Configure Qsynth
10.4.1. Start FluidSynth
10.4.2. Configure the SoundFont
10.4.3. Configure JACK Output
10.4.4. Configure MIDI Input
10.4.5. View all FluidSynth Settings
10.5. Assign Programs to Channels with Qsynth
10.5.1. Change the Number of MIDI Input Channels
10.5.2. Save and Reuse Channel Assignments
10.6. Use 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.3.1. Learn about Frescobaldi
12.3.2. Requirements and Installation (for Frescobaldi)
12.4. Configure Frescobaldi
12.5. LilyPond Basics
12.5.1. Letters Are Pitches
12.5.2. Numbers Are Durations
12.5.3. Articulations
12.5.4. Simultaneity
12.5.5. Chords
12.5.6. Commands
12.5.7. Source Files
12.5.8. How to Avoid Errors
12.6. Work on a Counterpoint Exercise (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.6.5. Format the Score
12.7. Work on an Orchestral 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.8. Work on a Piano Score (Tutorial)
12.8.1. Files for the Tutorial
12.8.2. Start the Score
12.8.3. Adjust Frescobaldi's Output
12.8.4. Input Notes
12.8.5. Troubleshoot Errors
12.8.6. Format the Score (Piano Dynamics)
13. GNU Solfege
13.1. Requirements and Installation
13.1.1. Hardware and Software Requirements
13.1.2. Other Requirements
13.1.3. Required Installation
13.1.4. Optional Installation: Csound
13.1.5. Optional Installation: MMA
13.2. Configuration
13.2.1. When You Run Solfege for the First Time
13.2.2. Instruments
13.2.3. External Programs
13.2.4. Interface
13.2.5. Practise
13.2.6. Sound Setup
13.3. Training Yourself
13.3.1. Aural Skills and Musical Sensibility
13.3.2. Exercise Types
13.3.3. Making an Aural Skills Program
13.3.4. Supplementary References
13.4. Using the Exercises
13.4.1. Listening
13.4.2. Singing
13.4.3. Configure Yourself
13.4.4. Rhythm
13.4.5. Dictation
13.4.6. Harmonic Progressions
13.4.7. Intonation
A. Contributors
B. Revision History