theover Linux Audio activities


A not overly long page on some recent things I did wit Linux audio, meaning programs I run on Linux which produce, process or render audio, I being Theo Verelst.


I used Fedora 12/64bit on a Pentium D930/3GHz (1GB, Nvidia GF9500/512M prop. driver, TOS audio output to Lexicon converter, Cuda) for most of the subjects on this page.

I use quite an extensive self built audio setup at the moment see for isntance this page about my buiding acitivities of some time ago. My main amplification system, also suitable for quite high quality small PA work was demonstrated at the Audio Engineering Society end-of-year meeting, where I used a HD notebook running Fedora 8 (and XP pro) and a Lexicon 24 bit studio converter to demonstrate it:




Recent LinuxSampler + impulse convolutions + effects experiments

Like in the traditional studio history of the greater names, I've been interested in interesting signal paths to make instruments sound interesting or in certain ways in a mix, and so I made some traditional effects (LADSPAs using jack-rack) work on Linuxsampler and mixed the samped sounds with analog synthesizer simulation (from Zynsubaddfx), added impulse responses (using jconvolver) for cabinet and reverberation space, a mastering multiband compressor/1024 band equalizer effect based on FFT (Jamin), and special tricks for acoustics and P.A. simulation and mix preparation, see below.

Mind you the guitar sounds here are ALL sampled, played by a Yamaha S90 synthesizer acting as Usb Midi board only (which works good on all fedora systems I use) and I use ONLY Linux based synthesizer and effect sounds for these demos not anything else!



wasbbaswbasssetupflange1.flac

A internet found big ( half a gig!) bass guitar sample played with effets and a cabinet impulse.




telecasbasssetupsynthflange2.flac

similar setup but a guitar sample (undistorted sample), and I added a synt simulation, and Jamin multicompression/equlisation




fsjagubasssetupsynthflange4.flac

similar



brassbasssetupsynthflange5b.flac

more exiting: a feed-around with jamin around the convolver. This can give very interesting and elaborate sounds, I've tried it before, but this is using a cabinet smulation, which gives sort of a spoiled acoustic feedback sound.



mandopad2impjam1.mp3

here, two convolutions are used on a mandolin sample + synth pad sound, one cabinet and a reverb based on a Lexicon impulse measurement (not mine), where both are fed in a feedback loop with jamin, which gives P.A. type of space sounds.



mandokotopadcabijam690_6c.flac

Similar, two sampled instruments.

A scientifically oriented advanced sound application: rendering sound from mathematical formulas

The most fundamental way of creating artifical sound has got to be generating it, or in this case samples of it, by strict mathematical formulas.

In my combined Maxima / BWise / Tcl / Fortran / C application I start with a mathematical formula defined in the mathematical algebraic manipulation package Maxima (based on Lisp) of which a version with a nice interface on Linux (and windows, but linux runs nicer) is wxMaxima.

For instance a sine wave of full volume and 440 Herz frequency would be defined as

   1*sin(440*2*%pi*t)

where %pi stands for PI. Maxima can use such type of algebraic formulation in very complex forms and can fairly efficiently perform all kinds of transformations on such formulas from brace replacing to formal derivatives. My approach lets Maxima make a Fortran version of the wave (it can't create a C version..) which I link with a C program which runs over some amount of time to create a number of samples from the formula, for instance a number of seconds CD quality (mono).

BWise is my block (network) editor program which for this application can build Maxima (or other types) formulas by connecting blocks together in the desired structure, for instance an addition block with some sine blocks for additive synthesis.

Tcl can automatically get the BWise generated formula to maxima (using the Run and Make buttons below), and creats the desired C program and even run it as a jack-output , alsa midi input polyphonic sound module with sounds exactly made according to the formulas (even in 64 bits real time accuracy).



The above is an addition terms like appear often in EE computations about circuits, an exponent multiplied with a sine wave. Remember: the whole graph was automatically generated, but can be fully modified: all block functions can be edited graphically, and all connections too.


The approach can make quite complicated oscillators:



This is a 100 operator FM sound, which plays only a few notes at a time in realtime, but it works great, and can be completely modified, at any accuracy, even more 64 bits because of the "infinite" accuracy numbers of maxima.

The approach, minus the real-time Midi sound app and BWise, is also available from my web server (running Fedora 8/64), using a secure tcl script which includes interaction time compilation, latex processing, etc.

For EEs needless to say: I wil also use the differential equaltion solver of Maxima, and the possibilities to compute in the  Fourier domain. In fact, this approach allows complex symbolic matrix solutions, too which is great for circuit simulations.

Most of this can be used on other OSes too, without changing the designs!

Others

An existing Linux audio application I made in france years ago mentioned on the Linux audio page: additive synthesis with tcl/tk and C.




Of course I use Rosegarden and occasionally Ardour for recording and mixing, too.




I'm also developing a Linux-powered analog audio mixer with ethernet control from a tcl/tk program (with silders), where a high quality analog volume chip can be set to a certain volume using a fpga connected to a ACME Linux board with (Linux compiled) Linux on it, and Tcl, talking to ethernet parties and driving the FPGA and to set volumes in the connected chips, which have been tested to act as audio mixer of much higher quality than most analog 'normal' mixers or digital ones (which always need to convert analog signals twice).




Another audio related Linux activity I recently took up: 22 hours of High Definition Video put on a 300Gig disc partition per fragment as I recorded it with the Sony HC3 HD cam, using dvgrab version 3, and using ffmpeg to render pictures per minute or at the beginning of each fragment, automatically, using a tcl/tl script. So now I can pick fragments for movie parts I'm preparing. Using Mplayer (cvs version) with VDPAU (NVIdia) these 1920x1080 recordings look great on a 1080+ screen, and Cinelerra (precompiled 4.2 works on Fedora 12 it seems) I used for effects and editing and aligning audio tracks before (see as example: youtube theover2 "tipatina").

See also my wiki for some sound pages.

A fortune ?