Linux Audio Monthly Round-Up #5 – December 2010

Dear all,

A bit late because of the Holidays here in the Netherlands, but it's here nonetheless, the Linux Audio Monthly Round-Up #5. Again I had some really positive feedback which is very gratifying of course and it powers the drive to continue writing these round-ups. Back to business, what was November all about?



1. Linux audio news
2. Music made with Linux
3. New versions, new projects

Linux audio news

Going to keep it short, for the sake of I-need-to-publish-this-asap. Leigh Dyer published his second Seq24 tutorial and also some interesting articles on convolution reverb and jconvolver. An alpha release of Ardour3 should be coming soon. And then there was the “200 Line Linux Kernel Patch That Does Wonders” which of course was discussed on the LAU mailinglist and quickly more or less demystified regarding real-time audio processing. Filipe Coulho (aka falkTX) cooked up some 32 and 64 bit binaries of the Togu Audio Line VST plugins. And last but not least I got the news that L2Ork might be coming to Europe, and maybe even to the Netherlands, in May next year.

And yes, many thanks go out to the LinuxMAO crew, their editorial should be up by now too.

Music made with Linux

Modlys - Velkommen igen Guds engle små
A remake of an original Danish Christmas carol. Very well produced and well balanced and it will most certainly appeal to people who like to chill back during Christmas time.

Soda P – Icon of Your Time
For those about to indie-math-noise-rock, we salute you. Hope you like some trancy Tiësto-like strings too. If you think those two things are incompatible then give this song a listen.

chr15m – Oval BA
Mr McCormick strikes again pushing his Garage Acid Lab to the max! Man, I love this stuff. I've got all his Android apps and if they wouldn't lock up my phone I bet they would be amazing. Chris, consider my purchases as donations for your amazing music.

New versions, new projects

November 2: gjacktransport 0.4.4
* dedicated icon for gjackclock
* build-system cleanup
* added debian packaging

November 4: Rosegarden 10.10
* Several fixes to behaviour of track program/bank change sends in save/load and in interaction with percussion check-box (Julie Swango)
* Permit shift-click on a track header to toggle selection of segments on that track without effecting other selected segments (Yves Guillemot)
* Improve key highlights in matrix view so as to reflect current segment properly (Julie)
* Add support for basic LADISH level 1 (Felipe Lopes)
* Substantial fixes to audio file handling code to fix a number of problems with the wrong audio clip being played (Julie)
* Fix crash in some cases when opening file dialog if not using default Thorn style (Chris Cannam and D. Michael McIntyre)
* Fix incorrect behaviour of frequency-range parameters in LADSPA and DSSI plugin editors (Chris)
* Fixes to missing-audio-file location logic (Chris)
* Shorten the factory autoload, removing the duplicate sets of tracks at the bottom so that all tracks initially are visible (Michael)
* Fix MIDI recording from devices in which note-on and note-off are not always cleanly paired (Julie)
* Fixes to positioning of playback pointer in matrix (Julie)
* Several substantial fixes to step-recording in matrix and notation (Julie)
* Several fixes to Lilypond export (Julie)
* Numerous fixes to segment editor corner cases that previously could introduce zero-length segments (Ted Felix)
* Several fixes to corner cases that previously could introduce zero-length events or ranges (Ted)
* Fixes to unpredictable behaviour in certain operations involving copying segments (Ted)
* Numerous fixes to behaviour of editing operations in cases where segments overlap with the end of the composition (Julie and Ted)
* Make behaviour of Paste Range more predictable (Ted)
* Improvements to chord database and several fixes to fretboard editor (Ted)
* Fixes to avoid zero-duration note events in files (Michael and Julie)
* Fixes to toolbar visibility in editing views (Julie)
* Fixes to regressions in action availability (Ian Gardner)
* Fixes to updates in notation view (Yves and Julie), event list editor (Julie), matrix editor (Julie) and rulers (Julie and Alvar Udras)
* Restore progress dialogs (Julie)

November 5: Renoise 2.6 – Geek Edition
* Script everything using a truly open API
* Sample Autoseek
* Open Sound Control (OSC) Server Support
* Duplex - MIDI/OSC controller framework
* DSSI Support on Linux, 64-bit Linux Version
* Support for CAF, AIFC, SND and AU Files
* Linux & Mac OSX Performance Tweaks
* Minor usability and functionality refinements galore!

November 7: MMA 1.7
* Chords can now be entered in Roman Numeral notation
* Extensive reworking/enhancement of the Solo track commands
* MidiInc extended to permit the creation of Solo Riffs
* Enhanced the automatic groove finding so that multiple directories can be scanned
* -V option for an audible preview of a groove in the libraries
* A new utility, This is a simple GUI for viewing and previewing the groove library

November 7: AlsaPlayer 0.99.1
* Applied a patch by Dominik Kuhlen that fix a lot of compilation warnings
* The same patch fix double-free errors after closing AP (start with a playlist, click shuffle and exit)
* Updated the date into the About dialog

November 8: Rakarrack 0.6.1
New Effects:
* OpticalTrem : Tremolo
* Vibe: Vibe
* CompBand: Four Band Compressor
* StereoHarm: Stereo Harmonizer

New LFO types:
* Sample & Hold
* Lorentz Fractal XY

New Additions:
* Metronome
* +10 dB booster
* Add/Delete Internal Effect Presets, that can also shared/merged with other users
* Drag & Drop effects in main screen to fast reorder
* Fast MIDI learn assign with right click in each parameter
* Hide Function for unused effects
* Random preset generator
* Drag and Drop presets in bank window to fast swap
* Extra1 Preset bank
* User directory, a place to put your preset banks in order to be accessible by a single click
* Optimized filters and Trigger for recognition note frequency
* MIDI Program Change Table, that can be save/load
* Shortcuts

* Looper, adds metronome and possibility to sync with jack transport and Tap Tempo
* Compressor (Final Limiter)
* MIDI Converter octave changer
* Tap Tempo can be set in main screen
* Speed up the preset change process
* Upsample x7,x8,x9,x10,x11,x12 (hope you have a fast computer :-))
* RBFilter "Q" modes
* Effects that depends of internal preset selected (MuTroMojo, WahWah) now display the original internal preset

November 8: Seq24 0.9.1
Fixed Bugs
* Fixed error if path for last used directory is not properly set
* Fixed adding notes on the beginning when MIDI record is on and not playing sequence
* Fixed buffer overflow caused by string handling (tool menu)
* Fixed file save as crash
* Fixed MIDI sysex event reading
* Fixed error if path for last used directory is not properly set
* "Cancel" option added to "Save file?" question

New Features
* Support for MIDI clock synchronization
* Support for mute groups
* Key binding editor
* Optionally show shortcut key label on sequence icon
* Fruity loop mouse interaction mode added
* Monophonic step editing on sequence
* Polyphonic step editing

General Changes
* A lot of code cleanups
* Support for (lost) Win32 platform added
* Optimized redraw for sequencer roll background (from Win32 version, Rob Buse)
* Adaptations for jack2 applied

November 12: gjacktransport 0.5.0
* moved .desktop files to main-src
* make table-layout a runtime option
* support for variable width fonts

November 15: gjacktransport 0.5.1
* added load/save/save-as to gjt
* -l, --config command-line option
* cleaned up rc config files
* fixed translations & added russian lang

November 17: Meterec 0.7
* seek back and forth 5 seconds using arrow keys
* set time indexes using <SHIFT>-<Fn> keys
* jump to time index using <Fn> keys
* jump to time 0 using <HOME> key
* changed meter maximum reset key to be <v> (VU) instead of <m>
* (un)mute using <m> key
* (un)mute all ports usgin <M> key
* unmute all ports using <S> key
* mute all but selected port (solo) using <s> key
* change record mode (<r>, <d>, <o>) also in meter view
* display port status also in meter view
* display numeric signal level and maximum in port status
* changes in edit mode take effect without restarting
* port names can be defined in <session>.conf file
* display/hide port names in meter view using <n> key
* stop recoding is <RETURN> instead of <SPACE> or <RETURN>

* in edit mode, when playhead is behind last sample of newly selected track for playing, the track will start playing from 0 instead of playing silence. Seams to be a libsndfile issue, may be worked around using extra seek calls

November 19: SpectMorph 0.1.1
* added tool for SoundFont (SF2) import: smsfimport
* file format changes
- allow time index based loops (required for looped SoundFont presets)
- allow stereo (multichannel) files in WavSets
- store phase and magnitude seperately (instead of a sin+cos magnitude)
- support multiple velocity layers
- allow storing the original sample data for quality comparisions
- optimize storage size for smset files if the same Audio file is reused more than once
* switch to 32 values for 32 perceptually spaced noise bands, instead of the old noise representation
* handle stereo (multichannel) files in smenc, smjack and beast plugin
* performance optimizations
- LiveDecoder is now really fast, and can handle highly polyphonic synthesis in RT
- sine synthesis is based on IFFT now
- noise synthesis is a lot faster, too
- where possible, use SSE operations in performance critical code
- use FFTW for FFT, which is faster than gslfft
- added fast float->int conversion on x86
- smjack is a lot faster, now
* removed smenc -O2 setting, which was too slow for practical use
* introduced anti-alias filter in LiveDecoder
* cleanups, refactoring, bugfixes

November 19: Faust 0.9.30
Documentation :
* A new version of the Faust Quick Reference is provided with a better layout and an expanded and updated content

Compiler :
* the ':' (seq), '<:' (split), ':>' (merge) and ',' (par) composition operators are now right associative. For example the parallel composition (1,2,3,4,5) now denotes (1,(2,(3,(4,5)))). This change simplifies pattern matching techniques in particular the use parallel compositions as lists. The iterative par(...) construction as been modified accordingly
* Improved pattern matching support. Variables don't have anymore to be undefined to be considered match variables. The new strategy uses the positions to determine the role of variables. For example in pattern 'x(y,z)' y and z are match variables while x, in functional position, is a regular variable. This allow to evaluate patterns without having to introduce a special notation for match variables...

Libraries :
The various libraries have been extended, in particular Julius Smith's effect.lib, osc.lib and filter.lib.
* effect.lib : among the new additions are some historical reverbs form the early 70's like John Chowning's jcrev and satrev
* filter.lib : contains several new filters in particular third-order and sixth-order Elliptic/Cauer lowpass and highpass filters
* math.lib : added Hadamard() matrix function contributed by Rémy Muller that has applications in Feedback Delay Networks

Examples :
Several examples were added to illustrate some of the new functions provided by the libraries.
* cubic_distortion.dsp
* gate_compressor.dsp
* graphic_eq.dsp
* parametric_eq.dsp
* phaser_flanger.dsp
* smoothdelay.dsp
* spectral_level.dsp
* vcf_wah_pedals.dsp

Architecture files :
* ca-qt.cpp : Aggregate in/out devices when needed
* jack-gtk.cpp : Tooltip format added
* max-msp.cpp : help message is now posted even when no audio inlet is available
* module.cpp : updated
* supercollider.cpp : compile fix

Bug Fixes:
* improved error messages for non constant-integer table sizes
* getBoxType now only always called on fully evaluated expressions in propagation normal form
* missing boxtype for pattern matching variables added
* Bitmask : new implementation correcting bug for large values
* some recursive call to simplify have been removed to avoid potential infinite loops during the simplification of some expressions

November 21: Yoshimi 0.60.1
* drop --show-console from jack session restart command

November 24: monoBristol 0.60.2
* bugfix: starting error (thanks to Stefan Ebner)

November 25: gjacktransport 0.5.2
* Mike Cookson's patch to save config on SIGUSR1 - ladish support
* disabled window maximum size limit for now - not all WMs support that
* safeguard for gtk_file_chooser_get_filename()

November 26: TAL LinuxVST plugins 0.1
* TAl-Dub-3
* TAL-NoiseMaker
* TAL-Filter
* TAL-Reverb

November 27: LinuxDSP Pro Channel plugins
Improved GUI functionality:
* The first time the GUI window is opened it pops up right under the mouse pointer position, and subsequently will remember its last on screen position when it is closed. For DAW hosts such as Ardour, this also means that the GUI window pops up straight out of the mixer channel - which is a huge improvement in usability
* The Pro-Gate now has brighter switch illumination making it easy to see at a glance which sections are enabled
* All the plugins now also feature more stable UTF-8 support for non-ascii locales

November 28: jacksampler 0.0.2
* merged stereo support, mostly coded by tczy
* search samples relative to config file for relative paths

November 28: gst123 0.1.3
* Support for m3u and pls playlists. [Siddhesh Poyarekar]
* Add jack audio output support
* Support setting the audio driver via config file

November 28: Seq24 0.9.2
Fixed Bugs
* Fix tooltip usage for older GTK versions (GTK_MINOR_VERSION < 12)
* Fix sched_param memory leaks
* Fix doubled key event for screen set name line

New Features
* Add support for jack session, patch provided by Torben Hohn
* Add interrupt handler for SIGUSR1 to enable LADISH level 1 support
* Add interrupt handler for SIGINT to ask for unsaved file changes
* Remove "-f" command line option to be replaced by a simple <filename> argument (see "seq24 --help" for more information)

General Changes
* Add mnemonics for bottom line widgets in main window and label for screen set name edit line
* Add missing command line parameters to help message, display short options as well
* Add command line option for program version
* Add missing command line parameters to man page
* Remove complaints about file read error if configuration files do not exist
* Cleanup remove unused variables, harmonize option enabling/disabling
* Some code cleanups

November 30: TAL LinuxVST plugins 0.2
* TAL-Filter-2
* TAL-Reverb-2
* TAL-Elek7ro

November 30: QjackCtl 0.3.7
* Session widget has session save type preserved as well
* Connections and the new Messages/Status widgets now have their last open tab preserved across program run-cycles
* Connections and Patchbay widgets have been finally given up on an old feature request: an Expand All items button
* A significant UI layout has been made: the Messages and Status widgets were merged into one, giving space to the brand new Session wigdet to be easy accessible from the main panel control window
* libX11 is now being added explicitly to the build link phase, as seen necessary on some bleeding-edge distros eg. Fedora 13, Debian 6 (closing bug #3050915)
* Input/Output latency options were missing but now finally enabled for the firewire back-end
* General standard dialog buttons layout is now in place
* Avoid pre-loading a stalled patchbay definition filename and its nagging error on startup (fixes bug #3017078)
* Client connection retrial logic scrapped. Being a leftover from early ages, when machines were slower and JACK server startup times were longer... now, if it can't connect first time as client, it will tear down the server whether it's starting up still or not at all (cf. Setup/Settings/Start Delay for the rescue)
* Server name is finally part of the server settings presets, thanks to Fons Adriaensen for the heads-up
* As a workaround regarding issues switching jack2's backends, Robin Gareus sends us yet another D-Bus metho slot: "preset", (dbus-send --system / org.rncbc.qjackctl.preset string:PRESET). Thanks again
* Another D-Bus interface slot makes it through implementation: "quit" (eg. usage: dbus-send --system / org.rncbc.qjackctl.quit). Besides, there's also these new JACK session management actions which were being overlooked as well: "load", "save", "savequit" and "savetemplate" are also available as D-Bus method slots
* Make sure that Patchbay socket names are unique when adding or copying, fixing previous patch by Dominic Sacré
* JACK version is now being shown on the About box (jack2)
* Slight Connections widget behavioral change: (dis)connecting a client (from) to one single port, (dis)connections will be applied in sequence from (to) all client output ports to (from) as many input ports there are in below, one by one (satisfying a 5 year old request from Yann Orlarey, thanks:)
* JACK session support is being introduced
* Ignore first XRUN occurrence option dropped from statistics
* Initial widget geometry and visibility persistence logic has been slightly revised as much to avoid crash failures due to wrong main widget hidden state
* Double-quotes are now being added to device names which include blank characters and were rendering invalid all command line invocation of the classic JACK server (eg. specially due for Portaudio device names on Windows)
* Transport play (rolling) status is now being guarded to avoid backfiring from extraneous transport state changes
* General source tree layout and build configuration change
* Italian (it) translation added (by Sergio Atzori)
* Post-shutdown script invocation logic slightly refactored in attempt to enforce its execution on application quit