From Fedora Project Wiki
m (added SuperCollider, removing its sub-categories)
m (modified for consistency with drafts page)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
(1.) Topics marked as "optional" will be completed as time permits, during project weeks 9, 10, and 11.  See the proposed schedule for details.
== Linux Audio Basics ==
* [[User:Crantila/FSC/Sound_Cards|Sound Cards and Digital Audio]]
* [[User:Crantila/FSC/Sound_Servers|Understanding Sound Servers]]
* [[User:Crantila/FSC/CCRMA/Everything|Planet CCRMA at Home]]
* [[User:Crantila/FSC/Real Time|Real-Time and Low Latency]]


(2.) Where possible, I will avoid replication of material by referring to existing Fedora Project documentation.
== Audio and Music Software ==
=== System Tasks ===
* Simple Recording
* Understanding Sound Cards
** What Is a "Sound Card?"
** How Do I Find Information about my audio interface? (optional)
** How Do I Find Information about my MIDI interface? (optional)
** How Do I Know Which Input/Output Port to Use?
* Understanding Sound Servers
** What a Sound Server Is
** Advanced Linux Sound Architecture (ALSA)
*** What ALSA Is, and Why It Exists
** [[User:Crantila/FSC/SoundServers/Pulse|PulseAudio]]
*** What PulseAudio Is, and Why It Exists
*** Knowing When to Use PulseAudio
*** How to Disable PulseAudio
*** How to Remove PulseAudio
** [[User:Crantila/FSC/SoundServers/JACK|JACK Audio Connection Kit]]
*** What JACK Is, and Why It Exists
*** Knowing When to Use JACK
*** How to Setup Your System for JACK (will refer to kernel section, later)
*** Controlling JACK with QjackCtl
** Phonon
*** What Phonon Is, and Why It Exists
*** Knowing When to Use Phonon
* Planet CCRMA at Home
** What Planet CCRMA Is, and Why It Exists
** Knowing Whether You Should Use Planet CCRMA (including risks & benefits of third-party repositories)
** [[User:Crantila/FSC/CCRMA/Repositories|Using Planet CCRMA Software]]
* Optimizing the Linux Kernel for Audio Applications (optional, but highly desired - at least CCRMA)
** What Is a Realtime Kernel? (including "What is processor scheduling?")
** Using a Pre-built Realtime Kernel from Planet CCRMA (including "Planet CCRMA's kernels may be older than Fedora's")
** Building Your Own Audio-Optimized Kernel (of course, with appropriate disclaimers)
** Other Possible Optimizations (this will primarily be the removal of unused device drivers)
 
=== Audio Tasks ===
* Recording
** Knowing Whether to Use Audacity or Ardour
** [[User:Crantila/FSC/Recording/Audacity|Audacity]]
** [[User:Crantila/FSC/Recording/Audacity|Audacity]]
<!-- *** Requirements and Installation
* [[User:Crantila/FSC/Recording/DAW_Common_Elements|Digital Audio Workstations]]
*** Configuration
** [[User:Crantila/FSC/Recording/Ardour|Ardour]]
*** Recording a Session
** [[User:Crantila/FSC/Sequencers/Qtractor|Qtractor]]
*** Saving and Exporting
** [[User:Crantila/FSC/Sequencers/Rosegarden|Rosegarden]]
*** Using Simple Effects -->
* Synthesizers
** Ardour
** [[User:Crantila/FSC/Synthesizers/FluidSynth|FluidSynth and Qsynth]]
*** Requirements and Installation
** [[User:Crantila/FSC/Synthesizers/SuperCollider/Main|SuperCollider]]
*** Configuration
*** Recording a Session
*** Saving and Exporting
*** Something Complex
*** Something else Complex
* Synthesizers and Sequencers
** [[User:Crantila/FSC/Synthesizers/SuperCollider|SuperCollider]]
** FluidSynth
*** What Is FluidSynth?
*** About SoundFonts?
*** Requirements and Installation
*** Configuration
*** QSynth: Introduction and Installation
*** Using JACK with FluidSynth
*** Redirecting Output for Recording
** Qtractor & Rosegarden: These will be in separate sections, but I'll need to learn the programs better before deciding what to do.
* Typesetting
* Typesetting
** [[User:Crantila/FSC/Typesetting/LilyPond|LilyPond]]
** [[User:Crantila/FSC/Typesetting/LilyPond|LilyPond]]
<!-- *** What LilyPond Is
** [[User:Crantila/FSC/Typesetting/Frescobaldi|Frescobaldi]]
*** How LilyPond Works (and "LP is best used with other programs to help it")
*** Installation (and Configuration, if Required)
*** A Brief Introduction to LilyPond Syntax
**** Working on a Counterpoint Exercise (this is a simple score)
**** Working on a Piano Score (these can get quite complex; we'll focus on issues unique to piano music)
**** Working on an Large Ensemble Score (probably a work for orchestra; we'll focus on issues unique to large ensemble music) -->
** [[User:Crantila/FSC/Typesetting/Frescobaldi|Frescobaldi]] <!-- (N.B. this is a modified text editor for use specifically with LilyPond files)
*** What Frescobaldi Is, and How It Can Help
*** Installation and Configuration
*** The Basic Features of Frescobaldi
*** The Advanced Features of Frescobaldi -->
* Aural Skills Training
* Aural Skills Training
** GNU Solfege
** [[User:Crantila/FSC/Solfege|GNU Solfege]]
*** I haven't used this in years, and it has changed quite a lot.  I'll have to re-learn the software, then decide what to do.
* Webcasting (highly optional - would make a great addition)
** Darkice or Darksnow
** Icecast Server
** If I end up covering these applications, tutorial topics can be decided later.
<!--
== Proposed Applications ==
* Sound Servers (Covered in varying detail, as required):
** <code>ALSA</code>, because you can't escape it
** <code>PulseAudio</code>, because it's difficult to escape
** <code>JACK</code>, because you can't escape it (if you're using audiophile software)
** <code>Phonon</code>, because KDE users wonder about it
* Recording:
** '''Audacity''', because it's well-known, relatively simple, and doesn't 'require' advanced configuration
** '''Ardour''', because it's similar to a well-known commercial DAW, and should be used with advanced configuration
* Synthesizers  and Sequencers:
** <code>SuperCollider</code>, because it's text-based, it gives a reason to introduce <code>Planet CCRMA</code>, it's full of features but relatively simple, and I know it better than <code>Csound</code>
** <code>FluidSynth</code> with '''QSynth''', because it's graphical, works with <code>JACK</code> and other programs, and '''Rosegarden''' more or less needs it
** '''Qtractor''', because it is an upcoming "major player" for MIDI and audio together
** '''Rosegardn''', because it is the current "major player" for MIDI
* Typesetting:
** <code>LilyPond</code>, because it's the gold standard for typesetting in Linux
** '''Frescobaldi''', because it increases productivity with <code>LilyPond</code> by quite a lot
* Training:
** '''GNU Solfege''', because it's the only FOSS program of its kind (I think?)
* Webcasting:
** '''Darkice''' or '''Darksnow'''
** <code>Icecast</code> server
 
== What Testing May Need to Be Done ==
*test on i686, x64 (I can do this)
*test in KDE, GNOME, and XFCE (I can do this)
*test in VirtualBox virtual machines (I shouldn't bother with this - volunteers can do it)
*test with single and multiple sound cards (I can do this)
*test with USB and FireWire sound cards (I can do only USB)
*test efficacy with "computer experts" and "non-experts" (I can't do this)
-->

Latest revision as of 01:24, 25 July 2010