Welcome to the Mstation
Music Apps CD users manual

document prepared by Patrick Shirkey <kotau@bigfoot.com>

Contents
License
Forward
Some good places to start:
A bit of Linux history
Some basic tips for using Linux
Some of the more useful Linux commands are:
Netiquette
Useful howtos for musicians
The list of music apps on the Mstation CD

License
The text and format of this document is released under the terms of the GNU General Public License V2, the terms of which are already in your machine.

GPL
Forward

Hi and welcome to the world of making music with Linux.

The concept of this CD is that it's a collection of music making and playing applications that have been tested to ensure that they run and provide useful functionality. They are in RPM format and are for glibc environments. We've included the packages rpm and glibc. RPMs are pre-compiled and are therefore extremely easy to install.

You will find the apps on the CD under RPMS/apps. In addition there are some download busters in RPMS/extras. These include an early version of XFree86-4, abisuite (a word processor that will import word docs), and some other bits and pieces.

To install programs just use rpm -ivh program.rpm (install) or rpm -U if you have an earlier version of the program already.

If you have sound going already on your Linux box and you're not using the ALSA drivers then the next decision is whether to try them. Read the ALSA related docs - the issues you will face relate to your soundcard. There's not much to do ... run snddevices after the drivers are installed and then decide whether you want the modules loaded manually or automatically, and follow the instructions.

Next comes the fun part - making some music! There are a variety of tools here that don't necessarily need gobs of RAM and disk space but both those things are helpful... along with a reasonable CPU. You can get away with something like a Pentium 133 with 32 Meg of RAM but you will need patience and inventiveness in assembling the small pieces you will be able to make at one time. Some of the apps (eg Mixmagic and DAP) don't stream from disk and only use RAM, so the more RAM you have, the bigger the bits can be that you can play around with.

MIDI is an easier proposition and if you have a soundfont capable soundcard you can get a variety of sounds with quite low system overhead. This can be true of trackers too if you aren't using too many big audio files.

We have software keyboards as well. With Smurf you can load and play different soundfonts and with clavier you can (in ALSA with a little fiddling) record the keyboards output to a synth such as jazz++.

You can then play MIDI tracks while recording the audio data and then add FX to them ... either in real time if you have the system facilities or in non-realtime (with Ecasound or broadcast 2000) and then you can mix the tracks down to stereo and make mp3's.

For mp3's we have an encoder and a GUI app that uses it (Krabber). If you find you couldn't quite get the mp3 tags to your liking with those then we've included Easytags to edit the tags and then icecast to broadcast your mp3's.

Have fun!

And visit http://Mstation.org for music news and info.
John Littler <jlittler@mstation.org>

This manual will be brief but factual. If you think you need to know more then the Linux howtos are the place to look.

The Linux Documentation project
The Howto index

Some good places to start:
The Mstation web site
The ALSA web site
The Linux Audio Dev Mailing List website
Sound and midi software for Linux
BACK TO TOP

A bit of Linux history.

"Linux. Designed for hackers by hackers." - Anon

Linux is the kernel of operating systems that look like and perform as well or better than the famous operating system from AT&T Bell Labs. Linus Torvalds and a loosely knit team of volunteer hackers from across the Internet wrote (and still are writing) Linux from scratch. It has all of the features of a modern, fully fledged operating system: true multitasking, threads, virtual memory, shared libraries, demand loading, shared, copy-on-write executables, proper memory management, loadable device driver modules, video frame buffering, and TCP/IP networking.

Most people, however, refer to the operating system kernel, system software, and application software, collectively, as ``Linux,''. Linux was written originally for 386/486/586-based PC's, using the hardware facilities of the 80386 processor family to implement its features. There are now many ports to other hardware platforms.

The Linux kernel is distributed under the GNU General Public License.

BACK TO TOP

Some basic tips for using Linux.

The linux environment is very flexible. All programs can be accessed via a text terminal/console. Many of the programs can also be started with a mouse click. Depending on your level of expertise you may prefer point and click. The terminal is very similar to dos in the Windows operating system only much more powerful. As you become more comfortable using Linux the terminal will become your most powerful friend. From here you can do anything with the computer. Provided you have the right passwords. There are many commands that can be typed into the terminal which can save a lot of time. To see the full list available open a terminal and press the Tab button. This will give you an option type y and a full list will appear before your eyes.

Some of the more useful commands are:

	cd - this changes directories (dir) 
	eg. cd /usr will put you into the directory called usr

	ls - this prints a list in the terminal of the files and directories in the
	current dir.

 	man - this prints a manual for the program if it has been installed in the
	/usr/man directory   
	eg. man ls prints a manual in the terminal for the ls command. Just press q to
	close it.

	mkdir - this creates a directory.
	eg. mkdir /home/newbie/music creates a dir called music in the ~/newbie directory.

	cp - this copies a file from one place to another on your system.
	eg. cp /home/newbie/music/song.mp3 /home/newbie/music/album/ copies the file
	named song.mp3 into the dir called album.	

	ln - this creates a link from one file to another. 
	eg. ln -s /mnt/DOS_hda2/music /home/newbie/album creates a symbollic link between
	the ~/music dir on your Windows partition and the ~/album dir on your linux
	partition. In laymans terms this means all the files you write to the ~/album dir
	will actually be written to the ~/music dir on your windows partition. Now you can
	read them from both operating systems. Be careful though. Due to a bug in the older
	linux kernels, reading and writing to Windows partitions too much could result in a 
	corrupted harddrive. This is now fixed but only in kernel 2.4.x.

* flags are very useful additions to a text command. eg. ln --help or ln -h will

print a help message for the link command. This will give you all the commonly used flags available for the command too.

BACK TO TOP

Netiquette

Firstly. If you want to learn how to use linux like a guru you need to be willing to do 2 things. One is read every bit of information you think may be relevant. The other is be prepared to invest a lot of time. At first this may seem like a big task but the more you learn the better the results. With Linux you are the one in control. You have to be prepared to get your hands dirty and in the process you will learn why so many people invest long hours of there spare time working for free to contribute to the Linux community.

Once you have done that the next thing you will probably do is join a newsgroup. The main thing to remember is that Linux is a community. The people who contribute to Linux projects are often very busy. They contribute because they want to. Many people do so simply because they enjoy the kick from getting something to work. No one is under any obligations. If you do join a newsgroup allow a little time to get a feel for the people you will be communicating with. Often reading the archives will give you a good idea. Don't spam (repeat messages) Don't expect instant answers and be prepared to be the only person with a "My x won't...". However, if you are willing to put in the effort to solve your problem, then more often than not there will be someone who can help. After a while it might even be you. Before you send in questions make sure that you have read all the documentation that came with x program. If you still can't figure it out then the newsgroup is your next best bet.

Useful howtos for musicians

If you are new to linux we recommend doing a basic tutorial for linux at this point. The best place to start is the Linux Users Guide.

The Linux users guide

After that, or if you are already familiar with using Linux you may want to read some of the following documents and howtos. We have provided them as part of the documentation for Mstation.

The ALSA FAQ
The ALSA HOWTO/book The Audio Quality howto
The Sound howto
The Sound Playing howto
The Audio Quality howto

BACK TO TOP

The list of music apps for Mstation apps CD v1.0.

ALSA - Advanced Linux Sound Architecture

Alsa-driver
Alsa-lib
Alsa-utils
Alsamixergui
Awesfx
Bladeenc
Broadcast 2000
Brainstorm
Ceres3
Clavier
CSound
DAP - Digital Audio Processor
EasyTAG
Ecasound
Freebirth
Grip
Icecast
Jazz
Ladspa-sdk
Libmikmod
Libsndfile
Mammut-linux
Mix2000
Mixmagic
Mpg123
MusiXTeX
Noteedit
Pmidi
Pmx
Rosegarden
Smurf
Snd
Soundtracker
sox
Spiral Synth
Sweep
TiMidity
TSE - the open source sequencer
Wmcdplay
XMMS
Xphat

ALSA - Advanced Linux Sound Architecture

The Advanced Linux Sound Architecture project is being developed in the Linux operating system and is released under version 2 of the GPL (GNU general public license) and the LGPL (GNU library general public license).

Primary goals: 

    1.Create a fully modularized sound driver which supports kerneld and kmod. 
    2.Create the ALSA Kernel API which surpasses the current OSS API. 
    3.Maintain compatibility with most OSS/Lite binaries. 
    4.Create the ALSA Library (C, C++), which simplifies ALSA application development. 
    5.Create the ALSA Manager, an interactive configuration program for the driver. 

The project needs programmers willing to work on audio applications for Linux and programmers who can port low-level drivers from OSS/Lite and/or work on the ALSA Kernel/Library API. If you are an interested developer, please subscribe to alsa-devel mailing list. We welcome all ideas!

Alsa-driver

The ALSA driver replaces the OSS/Free driver. The OSS/Free driver is present in current Linux kernels (2.2). Since version 0.4.0, ALSA has supported only 2.2+ kernels. The 2.0 kernels are no longer supported. You must compile the kernel with sound support (you do not need to select any of the other sound modules apart from sound support).

To use ALSA you need the alsa-driver package. It is also advisable to have the alsa-lib and the alsa-util package that is most current at the release of the alsa-driver package.

Alsa-lib

This package contains the ALSA API specification which many applications; audio and video, can use for calling the alsa PCM interfaces natively. ALSA incidentally through this API provides functions and interfaces for the legacy OSS/FREE sound drivers. ALSA through this API has also provided support for kernel merge when (not if) it will get merged with Linux kernel.

Alsa-utils

This package contains the most up to date native applications.These include alsactl, amixer, alsamixer, aplay, arecord. Use alsactl to adjust the settings for your soundcard including storing and restoring the mixer levels. Command line mixers - amixer is for old school programmers and alsamixer is the more modern version. See the website for GUIs. Aplay and arecord provide command line control of playing and recording files. There are many other useful programs which do this too.

Homepage

Alsamixergui

Alsamixergui is a FLTK based frontend for alsamixer. It is written directly on top of the alsamixer source, so it should provide the same functionality.

Homepage

Awesfx

The awesfx package contains necessary utilities for the AWE32 sound driver.If you must use an AWE32 sound driver, you should install this package.

Homepage

Bladeenc

Bladeenc is an mp3 encoder.

homepage

Broadcast 2000

Broadcast 2000, the realtime, non linear audio and video editor for Linux. This software is licensed under the GPL. You can now integrate audio with video, capture, render, edit, and play back your dream movies and mp3s faster, with complete individual freedom!

Homepage

Brainstorm

Brainstorm is a small program for recording MIDI data. It has no user interface at all; rather it automatically decides when to start and stop recording, when to save files and what to do with them. This is similar in concept to a dictation machine.

Homepage

BACK TO LIST

Ceres3

Ceres3 is a cut-and-paste spectral editor with musically enhanced graphic control over spectral activity of a sound file. It is a free educational program with no other aims, and it owes most of its framework to Oyvind Hammer's Ceres and Jonathan Lee's Ceres2. It has an X-window Motif/Lesstif based GUI, organized around four principal menus with simple keyboard shortcuts. It has been tested on IRIX6.5 with Motif-1.2.4, RedHat Linux 6.1 w. lesstif-0.89.9 and LinuxPPC1999 with KDE and Motif-2.1.30 so far. Homepage

Clavier

Clavier - this program consists of a little keyboard you can click on. It then sends according MIDI messages to something else, e.g. an external synth of yours. You can also use the keys on your computer keyboard, like in a tracker program. It is written by Simon Kågedal and uses the GTK+ toolkit.

CSound

CSound is a language for computer generated music.

Homepage

DAP - Digital Audio Processor

DAP is a comprehensive audio sample editing and processing suite. DAP currently supports AIFF, AIFF-C, WAV and RAW audio files, 8 or 16 bit resolution and 1, 2 or 4 channels of audio data. Note however that compressed AIFF-C files are not currently supported, only non-compressed AIFF-C files.

The package itself offers comprehensive editing, playback and recording facilities including full time stretch resampling, manual data editing and a reasonably complete DSP processing suite.

Homepage

EasyTAG

EasyTAG is an utility for viewing, editing easily and quickly the ID3 tags of your MP3 files, using a nice GTK+ interface.

Features: * View, edit, write MP3 tags (ID3v1 and ID3v1.1 specifications), * Auto tagging: parse filename and directory to complete automatically the fields (using masks), * Process all mp3 of the selected directory, * Ability to browse subdirectories, * Recursion for tagging, removing, renaming, saving..., * Can choose to write ID3v1 or ID3v1.1, * Can apply a field (artist, title,...) to all other files, * Rename mp3 file (using masks), * Read MP3 header informations (MPEG 1, 2, 2.5) and display them, * A tree based browser, * Simple and explicit interface!, * Menu bar and shortcuts, * State messages in statubar, * Written in C and uses GTK+ 1.2 for the GUI.

Homepage

Ecasound

Ecasound is a software package designed for multitrack audio processing. It can be used for simple tasks like audio playback, recording and format conversions, as well as for multitrack effect processing, mixing, recording and signal recycling. Ecasound supports a wide range of audio inputs, outputs and effect algorithms. Effects and audio objects can be combined in various ways, and their parameters can be controlled by operator objects like oscillators and MIDI-CCs. As most functionality is located in shared libraries, creating alternative user-interfaces is easy. A versatile console mode interface is included in the package.

Homepage

Freebirth

Freebirth is a free software bass synthesizer/ step sequencer/ sample player for the linux operating system. It consists of a bass synthesizer vaguely 303ish but in my opinion, it has much more sonic capability such as:

      three oscillators (saw, sin , sqr) 
      phase offsets for each oscillator. 
      separate filter and amplitude envelopes. 
      seperate tuning for each oscillator 
      two effects busses (reverb and delay) 

The purpose is not to emulate the 303 or rebirth but to find a newer less trendy sound. The bass synthesizer is integrated with a step sequencer ala 606 which is also capable of triggering 5 other samples.(There is no reason that 5 was chosen other than interface considerations, eventually we hope to provide access to triggering as many samples as your machine can handle). Currently the samples represent an analogue drum kit with a spurious vocal sample thrown in the mix. Freebirth is a Gtk application and thus requires the appropriate libraries to be present and working on your system. Freebirth is distributed under the Gnu General Public License.

Homepage

BACK TO LIST

Grip

Grip is a gtk-based cd-player and cd-ripper. It has the ripping capabilities of cdparanoia builtin, but can also use external rippers (such as cdda2wav). It also provides an automated frontend for MP3 encoders, letting you take a disc and transform it easily straight into MP3s. The CDDB protocol is supported for retrieving track information from disc database servers. Grip works with DigitalDJ to provide a unified "computerized" version of your music collection. GCD is the cd-player only version of Grip (for those who aren't interested in track ripping/encoding).

Homepage

Icecast

Icecast was created in January of 1999 by Jack Moffitt and Barath Raghavan to provide an open source audio streaming server that anyone could modify, use, and tinker with. It is developed under the GNU General Public License by many people scattered around the globe.

Homepage

Jazz

JAZZ++ is a full featured, audio capable midi sequencer for Linux and Windows. JAZZ++ offers a lot of functions normally only found in expensive sequencer software, and is used by professionals and hobby musicians all over the world.

Homepage

Ladspa-sdk

There is a large number of audio synthesis and recording packages in use or development on the Linux platform at this time, many written with radically different ways of working. LADSPA provides a standard way for `plugin' audio processors to be used with a wide range of these packages. For instance, this allows a developer to write a reverb algorithm and bundle it into a LADSPA plugin library. Ordinary users can then use this reverb with a range of LADSPA-friendly audio applications without recompilation.

Homepage

Libmikmod

A portable sound library for Unix and other systems, capable of playing samples as well as module files, on a wide range of sound devices.

Homepage

Libsndfile

Libsndfile is a C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface. It is released in source code format under the Gnu Lesser General Public License.

Homepage

Mammut-linux

Mammut is a program which analyzes the frequency of signalssupplied by an AIFF file. Frequencies can be filtered, shifted or otherwise modified and the file can be resynthesized and saved. The stock Linux version is not 64-bit clean. It requires libaudio.

Homepage

Mix2000

Yet another mixer for Linux. Controls master, bass, treble, line, dsp, fm, cd, mic, simutaneous inputs, up to 4 channels fine adjustment through cursor keys.

Homepage

Mixmagic

MixMagic is a hard drive sound mixing program for Gnome, it can handle large (larger then system memory) samples. MixMagic is able to mix as many waves as your CPU can handle.

Homepage

BACK TO LIST

Mpg123

Mpg123 is a fast, free and portable MPEG audio player for Linux/UNIX. It supports MPEG 1.0/2.0 layers 1, 2 and 3 ("MP3" files). For full CD quality playback (44 kHz, 16 bit, stereo), a Pentium CPU is required. Mono and/or reduced quality playback (22 kHz or 11 kHz) is possible on 486 CPUs.

For information on the MP3 License, please visit the MPEG website.

Homepage

MusiXTeX

TeX extensions for music typesetting. The package allows you to use TeX to write polyphonic, orchestral or instrumental music. MusiXTeX is growing up from MusicTeX and has advantages both in set of macros and qaulity of output. The Package contains source files (macros, styles), fonts (mf, tmf), documentation and the MusiXTeX+plain format.

Homepage

Noteedit

A note editor for linux. Create an orchestra in your box.

Homepage

Pmidi

A straightforward command line program to play midi files through the ALSA sequencer. As you can specify the client and port to connect to on the command line it is also useful for testing ALSA or clients that need to receive sequencer events. This program does not have a graphical display, if you require one then you can use pmidi in conjunction with Takashi Iwai's aseqview program to display the song being played.

Homepage

Pmx

PMX is a preprocessor for MusiXTeX that produces nearly professional-looking scores and parts with far less effort than would be required using MusiXTeX alone.

PMX can help you typeset a musical score if you have a reasonably up-to-date version of MusiXTeX. The goal of PMX is to facilitate the efficient production of scores and parts that have an almost professional appearance. It can do all the work involved in setting up \notes-\enotes groupings, selecting groups of notes to be beamed, defining beam heights and slopes, spreading the entire piece evenly over specified numbers of systems and pages, and inserting extra spaces where needed to make room for accidentals, flags, dots, and new clefs.

Homepage

Rosegarden

Rosegarden is an integrated MIDI sequencer and musical notation editor. It is free software for Unix and X, running on machines such as SGI IRIX workstations and Linux PCs, and now also OpenVMS.

Homepage

Smurf

Smurf is a GTK based sound font editor. Sound font files are a collection of audio samples and other data that describe instruments for wavetable sound cards. Smurf currently supports the AWE 32/64 and has limited support for the GUS/SoftOSS driver which can use any OSS supported 16 bit sound card.

Homepage

Snd

Snd is a sound editor modelled loosely after Emacs and an old, sorely-missed PDP-10 sound editor named Dpysnd. It can accomodate any number of sounds each with any number of channels, and can be customized and extended using guile and guile-gtk. Snd is free(LGPL).

Homepage

Soundtracker

Soundtracker is a module tracker for the X Window System similar to the DOS program `FastTracker'. Soundtracker is based on the XM file format. The user interface makes use of GTK+, and, optionally, GNOME.

Homepage

SoX

SoX is a player and converter of sound files. It will play and convert just about any file known to humanity.

Homepage

Spiral Synth

Spiral Synth is a physically modelled polyphonic analogue synthesizer for Linux or Free/Open/NetBSD.

It is capable of creating the kind of sounds made by hardware analogue synths, the noises used in electronic music. You can also use it to make stranger sounds too. Midi is supported, including velocity detection, mapped to the volume of the oscillators (you can also use the PC keyboard to play the synth). Spiral Synth uses the standard OSS/Free sound output (/dev/dsp). This should work on ALSA too. You can save and recall your sounds using the 100 patch save slots, and render Wav files directly to disk.

Homepage

BACK TO LIST

Sweep

Sweep is an editor for sound samples. It operates on files of various formats such as .wav, .aiff and .au, and has multiple undo/redo levels and filters. It supports audio filter plugins from the LADSPA project.

Homepage

TiMidity

TiMidity is a MIDI to WAVE converter and player that uses Gravis Ultrasound(*)-compatible patch files to generate digital audio data from General MIDI files. The audio data can be played through any sound device or stored on disk. On a fast machine, music can be played in real time. TiMidity runs under Linux, FreeBSD, HP-UX, SunOS, and Win32, and porting to other systems with gcc should be easy.

Homepage

TSE - the open source sequencer

TSE3 is a powerful open source sequencer engine written in C++. It is a 'sequencer engine' because it provides the actual driving force elements of a sequencer but provides no form of fancy interface. Sequencer applications or multimedia presentation packages will incorporate the TSE3 libraries to provide a user with MIDI sequencing facilities.

TSE3 is a mature library based on a lot of experience.Whilst not providing the user interface, it provides a lot of assistance to a UI,attempting to provide as much funcitonality as possible inas generic a manner as possible. TSE3 is intended to be platform independent. Contributors are encouraged to provide ports to other platforms. TSE3 is based on mature technology. Versions of TSE have already been in use for a number of years.

Homepage

Wmcdplay

Wmcdplay is a CD player applet designed for the Windowmaker dock.

Homepage

XMMS

XMMS is a sound player for linux. It uses the WinAmp GUI so it can support skins for winamp. It supports various file types including mp3s, mods and other formats.

Some of the latest features include:

Streaming/Shoutcast(1.0/1.1)/Icecast support, Fast jump in playlist, Scroll wheel support, Save to wav option, Saves http streams to HD, HTTP authentication, Plays mpeg layer 1/2/3 also wav and formats supported by mikmod, Proxy authentication support, Compiles on other systems (FreeBSD, Solaris, LinuxPPC, AIX, Irix)

Homepage

Xphat

Xphat is a program that provides the functionality associated with MIDI slider/fader boxes such as the Peavey PC-1600 and the Phat Boy. Its a device for controlling other MIDI devices that respond to MIDI messages in useful ways. Such devices could include external MIDI synthesizers, soundcard-based synthesizers that can be controlled via MIDI, MIDI effects processors, MIDI software tools, software sequencers such as Rebirth or Softwerk; basically, any MIDI device.

Homepage

BACK TO LIST

BACK TO TOP