Music

A fast computer and a keyboard controller can be an excellent musical instrument, capable of any theoretically possible combination of sounds. Rendering need not always be in real time, but even a slow processor can calculate any waveform given time enough. Practically though, the more powerful the machine, the better.

A midi controller keyboard attached to a late model computer should be all you need.

Here are some very rough notes and some links.

Audio hardware

Setup of audio on a Linux machine takes some time because it requires some configuration. Some detailed information is at http://lau.linuxaudio.org/ or http://linux-sound.org/.

There are two widely-used driver sets, called "OSS" and "ALSA". OSS is included in the standard Linux kernels since version 2.2. However, for some audio cards you can find newer versions than are included in the kernel releases. You can get ALSA from http://www.alsa-project.org/ .

ALSA is able to emulate OSS, so that you can usually run Pd using the default "OSS" settings even if it's actually ALSA that's running. ALSA is newer, hence less stable and harder to use, than OSS. Installing ALSA can be tricky and/or confusing.

By default, Pd uses OSS. If you are running ALSA, Pd will use ALSA's OSS emulation. To make Pd use ALSA "natively", i.e., the way ALSA is designed to be used, include the "-alsa" flag in the command line or bang on the "media" menu items.

instructs Pd to offer the 'loupgarou' audio device in the Audio Settings panel.

/created /etc/modprobe.conf per instruction in /usr/share/doc/alsa-base/driver# view ALSA-Configuration.txt

see notes on kernel configuration there.

ALSA project homepage is at http://www.alsa-project.org

ALSA Bug Tracking System

https://bugtrack.alsa-project.org/bugs/

ALSA Developers ML

mailto:alsa-devel@lists.sourceforge.net

alsaconfig can be used to configure your sound card, You need to be root to do this command.

modprobe snd_usb_audio can attach a midi-usb device. You need to be root to do this command.

Alsa-base on the emu10k1 ...recommends this for starting jack: /usr/local/bin/jackd -R -dalsa -r48000 -p64 -n2 -D -Chw:0,2 -Phw:0,3 -S

amixer (command line)

aconnect

aconnectgui (same as aconnect, but with a gui)

alsamixer

alsaconfig

tk707 (connect midi devices.)

Jack

jack http://jackaudio.org/

documentation at http://jackaudio.org/documentation

Note from jack faq:

How do I install JACK?

Prerequisites * 2.4, 2.5 or 2.6 series kernel with tmpfs turned on (CONFIG_TMPFS) * Shared memory file system mounted on /dev/shm. add the following to /etc/fstab to get it mounted at boot: shmfs /dev/shm shm defaults 0 0 (Note: you may have to make the /dev/shm directory) Once you have the correct shmfs support, you should be able to build jack with the following sequence of commands: sh ./autogen.sh ./configure make make install Good luck!

bitscope

dssi-host-jack

jamin

DAW

Muse

Playback

ReZound

glame

Audacity

XMMS

lmms - no help. Demos ntg.

ardour-gtk

Helix

Listen

Recording

Audacity, Sound Recorder, ReZound and others can record.

Sound File Editing

ditto.

Converter

lame

snd

sox

Midi Player

To pay midi files, you need a sound font. (They are available for download.)

timidity, unlike Rosegarden, can play midi files without a problem.

aplay

seq24

tse3play

Kmidi - need to recompile it for a soundblaster. It needs (proprietary) Qt libraries and they must exactly satisfy other dependencies. Carefully read the install notes. I didn't complete this. Anyway who needs the proprietary hooks. There are too many good choices in free software.

Midi Sequencer

Rosegarden is the most complete sequencer, but for my debian version requires kernel modifications. For one thing, Rosegarden complains that the kernel timer is set too low, but I am using it with ZynAddSubFX. For Rosegarden to render midi as audio modifications to the kernel seem to be necessary. (It quits and says that kernel timer resolution is too low.)

Rosegarden can easily be used along with synthesizers, but with a standard kernel, it warns that the timer setting is too low. The kernel needs recompile for this.

Notation

Denemo -

Noteedit -

ABC abc is a textbased music notation

abcm2midi to convert abc notation to midi

abc2ps to convert abc to postscript

abc2mtex

Midi Keyboard to score

Rumor (http://www.volny.cz/smilauer/rumor/rumor.html)

Printing

Musictex

Lilypond

Education

GNU Solfege

Metronome

Gtick

Drum Machine

Hydrogen - nice drum sounds. midiable.

Accompany

mma - nice python code.

also there is a conversion routine for bb.

Karaoki

pykaraoki

Dehiss or Declick sound file

gwc

Keyboard

vkeybd is a virtual keyboard which allows you to play music without the benefit of an actual piano-like keyboard. You can either do it with the mouse or with your standard keyboard. For best results, you need a midiable keyboard.

Synthesize

AMS - is a graphically driven synthesizer. I would hope to see csound driven with such an interface.

ZynAddSubFX is impressive. It can be driven with polyphonic midi commands. The drum sounds are not too good so I redirected the midi stream to Hydrogen instead. Sounds good.

fluidsynth -

fluidsynth -a alsa -m alsa_seq "/home/vogelrl/sharedfiles/soundfonts/GeneralUser GS 1.4.sf2"

spiralsynth

Bristol - can emulate traditional synthesizers. It even looks like them. Make bristolengine a suid-root executable.

pd - a graphical programming language and computer music system. http://puredata.org

Documentation

http://crca.ucsd.edu/~msp/Pd_documentation/

The pd documentation has some notes about soundcards:

SuperCollider http://en.wikipedia.org/wiki/SuperCollider

Chuck See http://chuck.cs.princeton.edu/

or this comparison of synthesizers

http://en.wikipedia.org/wiki/Comparison_of_audio_synthesis_environments

Sound Font

swami - soundfont editor uses fluidsynth for software synthesis.

Display

zgv

gwenview

kuickshow

Experimental Stuff:

sfront - Structured Audio decoder.

You need to look at this one.

See http://sound.media.mit.edu/mpeg4/

Csound: extensively documented in "the Csound Book" edited by Richard Boulanger.

Cecelia is a front end for Csound.

freewheeling

midish

You can add ALSA devices by name on the Pd command line:

pd -alsaadd loupgarou

Links

VisualMusic.org

64studio

Bibliography

The Theory and Technique of Electronic Music a freely available book by Miller Puckett is on-line at http://crca.ucsd.edu/~msp/techniques.htm

Home