Linux Audio Monthly Round-Up #4 – November 2010

Dear all,

Here it is, Round-Up #4, with thanks to all the people that provided feedback and made it happening last month. And special thanks yet again to the people of LinuxMAO. If there would only exist a decent translator from French to English then everyone could benefit from their massive and impressive work.



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

Linux audio news

October gave birth to two new small but very usable apps, Zita-at1 and Zita-rev1. The first one, an autotuner, does what its name implies, it autotunes. And it does it good. So good that it even enables you to achieve that very distinguishable autotuner effect that is still heavily used in a lot of modern music productions. Some despise it, some like it a lot. Personally I really dig these kind of vocal effects; vocoders, talkboxes, autotuners, I can't get enough of it, but only when used tastefully and in an aesthetically pleasing way. The second one, Zita-rev1, is a little reverb app. Haven't had the time to really test it as I am still absorbed by figuring out all the possibilities Zita-at1 offers.

October was also the month the upcoming Linux Audio Conference for 2011 (LAC2011) was announced. It will be held from May 6-8 in Maynooth, Ireland. Also Dave Phillips wrote an in-depth article on what's cooking in the Linux audio kitchen lately, Louigi Verona set up his ZynAddSubFX library that is slowly starting to expand and Leigh Dyer published his first Seq24 tutorial on YouTube. And yeah, Ubuntu 10.10 was released, but as this version lacks a real-time kernel and decent third-party music/audio/multimedia repositories I'd advise to stick with 10.04.

Music made with Linux

pneumanlsd - Tiny Droplets
Not only is this a good piece of music, the video is also fun to watch! Skillfully crafted insight in the workflow of a Linux audio artist.

Andrew C - Adventa
Not my short but sweet little orchestral piece of cake but very enjoyable nonetheless.

Jaycapela - Ode to Bugler Tobacco
Well, as I already stated I really like vocoders and such I could not refrain from posting this track, which is actually more like a test but to me it just sounds so musical.

New versions, new projects

October 4: Virtual MIDI Piano Keyboard 0.3.3
* Option to represent MIDI velocity as highlight color tint
* Tool shortcuts, with a shortcuts editor dialog borrowed from Qtractor
* Language menu, allowing to select and change languages on the fly
* New "About Translation" dialog. Linux translation files moved to the program data directory
* Fixed knobs and sliders tool-tip positions
* Allow to trigger defined but hidden keys
* Process incoming controller events: all sounds/notes off, and reset controllers.
* Translations updated

October 4: jack_mixer 9
* Changed to no longer appends PID to jack client name (#15006)
* Added 'Edit .. channel' submenus
* Set a default 'apply' button in channel properties
* Fixed creation of mono channels
* Removed bad crackling when changing the volume through MIDI
* Moved back to polling for MIDI events, to avoid the need for threads
* Changed to use backward compatible call to gobject.timeout_add (#14999)
* Updated not to fail if we can't get lash server name
* Added support for Ladish level 1
* Improved SIGUSR1 handling

October 4: libsndfile 1.0.22
* Couple of fixes for SDS file writer.
* Fixes arising from static analysis.
* Handle FLAC files with ID3 meta data at start of file.
* Handle FLAC files which report zero length.
* Other minor bug fixes and improvements.

October 5: Mixxx 1.8.0
* Looping support
* Support for up to 32 hot-cues per deck.
* Brand new library with support for playlists, crates (tags), and a bulk-analyze mode for processing and annotating tracks.
* Support for reading iTunes (OSX and Windows) and Rhythmbox (Linux) libraries.
* An Auto-DJ mode for when you need to take a bathroom break :)
* A suite of 5 brand-new skins created by a professional designer who joined our team.
* Updated support for a number of MIDI controllers
* Ability to use multiple MIDI controllers at once
* Ramping pitch-bend support
* An audio plugin system for supporting proprietary codecs such as M4A
* An advanced caching system for all hotcues, loops, and recently played sections of tracks.

October 7: idjc 0.8.4
* Can now open multiple idjc instances on the same jack sound server using the -e command line switch.
* New server configuration dialog and notebook widget to replace the previous large scrolling window.
* Added an empty uninstall target to libshout/ to fix 'make uninstall' breakage.
* New project website. See docsrc directory in Git source tree. Has a hand crafted Makefile not under GNU autotools control.
* Added facility for entering a Shoutcast admin password for the master server.
* Saved playlist in xspf format now saves playlist controls.
* New playlist control for restarting the playlist from the top.
* New env-up script to generate the up the ./configure file and html documentation. Both not to be found in the raw git source tree.
* Merged in new midi and assignable keyboard shortcuts interface.
* Cue sheets can now be added to the main player playlists. TODO: cuesheet playback.
* Cue sheets now indicate type WAVE when making a cue sheet for a flac file and cue sheets now store sub-second time offset information.
* The active record and stream tabs are now remembered across application restarts.
* A new individual controls expander added to reduce clutter in the output window.
* Reversed the hints on the Jingles player volume controls to match the main player volume control.

October 10: Zita-at1 & Zita-rev1 NEW!
Zita-at1: Autotuner.
Zita-rev1: Stereo or Ambisonic reverb.

October 10: libsndfile 1.0.23
* Add version metadata to Windows DLL.
* Add a missing 'inline' to sndfile.hh.
* Update docs.
* Minor bug fixes and improvements.

October 11: FluidSynth 1.1.3
* Compilation with LADSPA enabled was broken in 1.1.2 - fixed (plcl, diwic)
* Multichannel output broken when double precision was used - fixed (plcl, diwic)
* Doxygen settings (plcl)
* Mac OS X build system fixes (plcl, Benjamin Reed, Jean-François Mertens)
* Fix build problem with scummvm (Alexander Hansen, Ebrahim Mayat)
* Optimize by not starting unused threads with multicore rendering (diwic)
* Window handle creation/destruction in Windows dll version (Andy Fillebrown)
* Race condition in alsa_seq / alsa_raw drivers caused them not to quit (diwic)

October 14: EMutrix 0.2
* bug fixes
* L/R channel "linking"
* basic support for 0404 PCI
* code clean-up
* visibility options for different cards

October 15: Mixxx 1.8.1
* Reduce glitches on track load (major improvement for some users)
* Waveform generation speed drastically improved on Windows
* Stability fix when using vinyl emulation
* Adjustable EQ shelves can no longer be equal
* UTF-8 fixes for Rhythmbox track source
* Fixed duplicate promotional tracks from appearing in library
* Fixed MIDI learning wizard on OS X
* Fixed minor delay in setting hot cues with MIDI controllers during playback
* BPM tap activates on mouse-down instead of mouse-up.
* Read ID3 tags in FLAC files on Windows
* Reduce crackling during playback for some Windows users

October 19: ltcsmpte 0.4.2
* build & packaging system updates
* moved install header files to ltcsmpte/ subfolder
* debian lintian cleanup

October 20: ltcsmpte 0.4.3
* build tests only if needed
* fixed 'Wl,--as-needed' linking
* fixed header file locations

October 20: Denemo 0.8.2
New features:
* Improved cursor, showing insert position and clearly distinguishing appending from editing/inserting
* Two key keyboard shortcuts
* MusicXML import
* Improved LilyPond import
* "NotationMagick": Scripts to generate, twist, randomize and shuffle music.
* Twelve-Tone-Row (Schoenberg) Generator
* Random Note insert. Variants: All diatonic, all chromatic, from a given pool, a complete pool at once (shuffled)
* Bug Fixes:
o Grace notes on tuplets fixed.
o Paste places non-note objects correctly.
* Build options:
o configure --disable-portaudio is now available, removes dependencies of portaudio, libsamplerate, fftw3 and aubio

October 22: BigBand 1.2 (still the same version despite changes to source)
* built-in mono-synthesizer added

October 22: Bristol 0.60.7
* Added in an option called -memdump which will copy all memories for a given synth (specified with -emulate) to a target location. That location is then used as the session cache so further changes will be made to the dumped memories. That is intentional: this can be used with Session Management using a target location in the session directory so that the session will include all of the synth memories. The copy operation of the user memories only happens once when the directory is created.
* Added in an option call -neutral, this will initialise the emulator with the value zero for all parameters. This provides a clean sheet from which to start sound generation. The code is generic and there are some exceptions to where it is applied: the organs and pianos do not implement the option, some of the synths are exceptions too (P800, BitOne, DX) as they have a non-intuitive interface that does not lend itself to being zeroed. For testing the few that do not implement the option then '-load -1' can be used as a potential alternative.
* Added a runcom file "bristolrc" located in ${BRISTOL_CACHE}/bristolrc which may contain the parameters that are always provided on the command line. The parameters will be placed before the command line arguments so that they can be overridded but they provide the possibility to simplify the command line that needs to be specified when bristol is invoked. The variable BRISTOL_RC can override the default location and the -rc option will circumvent it.
* The size of the voice table is now a configure time parameter. There were some requests for optimisation and reducing the size of these tables is a small one. ./configure BRISTOL_VOICECOUNT=32 is the default. This is not the max table size which continues to be 128 voices: the -voices option is a runtime parameter that can be used to increase the size of the table above the VOICECOUNT limit, this ./configure option is just the default.
* Resolved an issue with the filter tuning of a few of the emulators, they were using an incorrect keyboard tracking value which meant that with the filter at high emphasis there was discordance in the oscillator vs filter waveform frequencies.
* Reworked the summary text for small changes to some of the synth names: they are sometimes different from the switches used to start them however the actual name is required to be able to use emulate correctly. The -summary list will list the emulators that have been finished, --summary will list all of them even though a selection do not actually operate yet.
* Removed the empty pop-up menus. The code is still there however it is no longer called by either GUI or library. There were diverse requests to stop posting them as they had no purpose.
* Added an initialisation watchdog timer. If the audio thread does not activate in this period then the engine will gracefully exit rather than just hang around waiting for somebody to talk to him. The default timer is 30 seconds but can be changed with the '-watchdog [s]' parameter.
* The ARP Axxe was about a semitone out of tune. The cause was the logic behind the pitch buttons which was broken.
* Glide parameter settings could be lost on restart, the 'glidemax' parameter was not being correctly initialised so remained as zero.
* Remedied a test failure for the jackd binary. If jack is requested as the audio interface then we need to connect to it to find the correct sampling rates and period sizes. The check for failure of this request was broken.
* Fixed a very arbitrary race condition between the audio and midi threads causing segfaults which only happens during initialisation with heavily loaded CPU. Doubt if this will have been seen outside of development as the window was extremely small.
* There was a spurious 'newline' debug message when active sense was detected from a keyboard. Bristol does not support active sensing (except from the GUI) and whilst these messages did not cause any issue with the synth operation they were a great annoyance for the command line interface users. The print statement was put under a debug flag.

October 24: GNU Solfege 3.18.6
* win32: strftime did not accept unicode strings causing a traceback when the statistics was shown.
* validate_stored_statistics: don't try to delete from the 'tests' table, since it should be removed by now. Fixes
* Show dialog explaining things if the database is locked.
* frontpage: Escape backslash and apostrophe used in titles.
* Make elembuilder handle questions where the answer is only one element. Fixed by Andre Maute.

October 25: gjacktransport 0.3.0, 0.3.1 & 0.3.2
* ignore some modifier keys (shift, ctrl) when setting shortcuts
* added simple resource-config file (load only)

* fixed compiler warning for optional LASH
* added --disable-lash configure option
* fixed 'intltoolize'
* v0.3.1

* updated deprecated symbols to recent version
- jack_client_new()
- gtk_adjustment_new()
* enabled support for JackAudioVideoRatio
* version 0.3.0

October 25: Swami 2.0.0 & libinstpatch 1.0.0
* Support for SoundFont format including 24 bit samples
* FluidSynth soft synthesizer for audio synthesis
* GTK2 based program with GObject oriented libraries for use in other applications
* Loop finder and FFTune plugin for semi automated looping and sample tuning
* Overlapping loop point viewer to help with creating seamless loops

Currently semi functional:
* Python binding.
* Other instrument formats (DLS and GigaSampler), still rather incomplete though.

Credits for this release:
* Christian Collins for his generous contribution, testing, feature requests and support in getting this released!
* Ebrahim Mayat for his continued testing on Mac OSX.
* Luis Garrido for the Loop Finder algorithm and interest in this feature.
* Element Green for everything else.

October 26: gjacktransport 0.4.0
* reworked command-line parsing
* added save-rc function
* v0.4.0

October 29: gjacktransport 0.4.1 & 0.4.2
* added big-clock 'gjackclock'
* honor CTRL-[qw] quit events (both gjackclock & gjacktransport)
* transport key-bindings for gjackclock
* added custom-color option for gjackclock
* always-on-top startup option
* changed SMPTE text - use dot instead of colon for drop-frame-TC.
* .rc file for gjackclock

October 29: GNU Solfege 3.18.7
* Updated Dutch and Italian translations
* idbyname: fix it so that tests work when expert mode is selected.
* Upgrade debugtree.txt to the latest file format.
* set exercise_dir in a portable way. Fixes bug on ms windows.
* ExerciseView: Don't use gtk.SizeGroup when we display many exercises since there are performance issues with it.