- Enhancing the builtin search logic, so it automatically resorts to partial matches for empty result lists.
- Adjusting Expires/Cache-Control headers to utilize mod_disk_cache – this increases the number of possible requests per-second by more than a factor of one hundred.
- Adding support for [[local:/path/to/download/area]] URLs, to refer to downloadable files from within wiki pages.
BEAST/BSE and BSE-ALSA version 0.7.2 are available for download:
http://beast.gtk.org/beast-ftp/v0.7/beast-0.7.2.tar.bz2 http://beast.gtk.org/beast-ftp/v0.7/bse-alsa-0.7.2.tar.bz2
BEAST is a music composition and modular synthesis application. The “Bedevilled” portion of the names has no religious background, please refer to the About page for more details.
Homepage: http://beast.gtk.org/ Downloads: http://beast.gtk.org/beast-ftp/ Feedback: http://mail.gnome.org/mailman/listinfo/beast/
The 0.7.2 release provides new plugins and instruments, and a long list of bug fixes, improvements and translation updates.
TRANSLATORS: Please help us to improve the BEAST translations at Transifex.
Overview of Changes in BEAST/BSE 0.7.2:
- Moved Beast/BSE to GNU LGPL, use AS-IS license for examples
- Module changes and additions: ArtsCompressor – Relicensed to LGPL with permission from Matthias Kretz BseContribSampleAndHold – Relicensed to LGPL with permission from Artem Popov DavXTalStrings – Use deterministic random numbers for unit tests BseNoise – Improved random number generator
- Switched to autogenerated ChangeLogs
- Error bell can be muted in beast preferences dialog
- Added multisample creation/editing command line tool: bsewavetool
- Support adjustable volume, pitching and drum envelopes in .bsewave files
- Added Retro Acoustic drum kit [Tim, Stefan]
- New loadable Instruments/Effects:
- BQS Bass Drum E8012 [Tim, Stefan] - BQS Slow Hum [Stefan, William DeVore] - FSM Fresh Water Bass instrument [Krzysztof Foltman] - FSM Growl Bass instrument [Krzysztof Foltman] - FSM Synth String Sweep [Krzysztof Foltman]
- Added support for loading 32bit and 24bit PCM-format WAV files
- Added support for gcc-4.4 and automake-1.10
- Added support for guile-1.8, guile-1.6 remains as minimum requirement
- Various fixes, improvements and much improved test coverage.
- Bug fixes: #452604, #468229, #344388, #451086, #450724, #454121, #491552, #450490, #441936, #336766, #433431, #474332, #474244, #456879, #456408, #424897 [Tim Janik, Stefan Westerfeld]
- Migrated translation support to use awk, sed and po/Makefile.am.
- Updated German translation [Mario Blättermann]
- Updated Italien translation [Michele Petrecca]
- Updated Occitan translation [Yannig Marchegay]
- Updated Brazilian Portugues translation [Leonardo Ferreira Fontenelle]
- Updated British English translation [David Lodge]
- Updated Spanish translation [Jorge Gonzalez]
- Updated Slovenian translation [Andrej Znidarsic]
- Updated Danish translation [Joe Hansen]
- Updated French translation [Bruno Brouard]
- Added Norwegian bokmal translation [Kjartan Maraas]
- Added Ukrainian translation [Maxim V. Dziumanenko]
Overview of Changes in BSE-ALSA 0.7.2:
- Fixes for automake-1.10 builds
- Moved Beast/BSE to GNU LGPL
UPDATES: Updated translator instructions and uploaded a new release tarball with build fixes.
We’ve been fairly busy recently with resolving the milestone bugs of the next Beast release. The good news is that pretty much all of the hard issues are sorted out by now, the bad news is that according to the release plan some essential release features are still missing
It’s the large recent work that Stefan Westerfeld (who btw finally decided to start his own blog) has put into shaping up the remaining bits of bsewavetool (man page draft).
This is a very handy tool, that’ll finally be installed for public consumption in the upcoming release (it has been developed in SVN since 2004!). It can clip/normalize/ogg-encode/highpass/lowpass/upsample/downsample/etc chunks from the BSE multi sample files, and is normally used for shell-scripting the construction of sample kits from an unsorted pile of raw unprocessed sample data (note to self: blog some example use cases after the release).
Another addition are interesting new instruments by Krzysztof Foltman.
Oh – and before i forget, the synthesis link section on the website got some new updates as well: Beast Synthesis Links,
Also, Stefan pointed me at a YouTube video of Beast the other day:
The video is very nicely done, but it has the usual YouTubeish low quality artefacts.
I will quickly roll up some of the interesting bits that happened around Beast in the last couple of weeks.
Stefan Westerfeld sat down and put up a collection of the various instruments and loops he is producing with Beast. Nicely described BSE files along with Ogg previews are available in his music collection: STW Music Archive.
Hanno Behrens had been fairly active in pushing the Beast project before the last release. In particular he has been stirring up the mailing list with feature requests. One of the things we managed to get in in response to these efforts is a list of commonly used musical tuning systems. Besides the already supported 12-TET which is the 12 note per octave equal temperament used in all western contemporary music, this includes further TET variants, Indian tuning, pentatonic tunings, meantone tunings and various well tempered tunings mostly intended for organs.
Hanno also published a very well written C64-retrospective article about Beast synthesis in the 20th Issue (german) of the Lotek64 Magazine. And additionally, the technical backgrounds for this article are described in the Beast wiki: SID Vicious (english).
It really has been a long way to get this release out of the door. It fixes some serious crashers that i intend to blog about later, but more importantly it fixes a security vulnerability issue, here’s the related advisory: artswrapper vulnerability 2006-2916
Upgrading from any older Beast version is thusly strongly recommended. I’ll not get into too many boring details here, so let me just say that Beast now supports different musical tuning systems and also ships with new and extended modules (BseQuantizer). All the g(l)ory details can be found in the original announcement:
ANNOUNCE: BEAST/BSE v0.7.1
There’s been quite some hacking going on in the Beast tree recently. Stefan Westerfeld kindly wrote up a new development summary which is published on the Beast front page.
In particular, we’ve been hacking on the unit tests and tried to get make check invocations run much faster. To paraphrase Michael C. Feathers from his very interesting book Working Effectively with Legacy Code on unit tests:
Unit tests should run fast – a test taking 1/10th of a second is a slow unit test.
Most tests we had executed during make check took much longer. Beast has some pretty sophisticated test features nowadays, i.e. it can render BSE files to WAV files offline (in a test harness), extract certain audio features from the WAV files and compare those against saved feature sets. In other places, we’re using tests that loop through all possible input/output values of a function in brute force manner and assert correctness over the full value range. Adding up to that, we have performance tests that may repeatedly call the same functions (often thousands or millions of times) in order to measure their performance and print out measurements.
These kind of tests are nice to have for broad correctness testing, especially around release time. However we did run into the problem of make check being less likely executed before commits, because running the tests would be too slow to bother with. That of course somewhat defeats the purpose of having a test harness. Another problem that we ran into were the intermixing of correctness/accuracy tests with performance benchmarks. These often sit in the same test program or even the same function and are hard to spot that way in the full output of a check run.
To solve the outlined problems, we changed the Beast tests as follows:
* All makefiles support the (recursive) rules: check, slowcheck, perf, report (this is easily implemented by including a common makefile).
* Tests added to TESTS are run as part of check (automake standard).
* Tests added to SLOWTESTS are run as part of slowcheck with --test-slow.
* Tests added to PERFTESTS are run as part of perf with --test-perf.
* make report runs all of check, slowcheck and perf and captures the output into a file report.out.
* We use special test initialization functions (e.g. sfi_init_test(argc,argv)) which do argument parsing to handle --test-slow and --test-perf.
* Performance measurements are always reported by the treport_maximized(perf_testname,amount,unit) function or the treport_minimized() variant thereof, depending on whether the measured quantity is desired to be maximized or minimized. These functions are defined in birnettests.h and print out quantities with a magic prefix that allows grepping for performance results.
* make distcheck enforces a successful run of make report.
Together, these changes have allowed us to easily tweak our tests to have faster test loops (if !test_slow) and to conditionalize lengthy performance loops (if test_perf). So make check is pleasingly fast now, while make slowcheck still runs all the brute force and lengthy tests we’ve come up with. Performance results are now available at the tip of:
The results are tailored to be parsable by performance statistics scripts. So writing scripts to present performance report differences and to compare performance reports between releases is now on the TODO list. $ make report
[...]
$ grep '^#TBENCH=' report.out
#TBENCH=mini: Direct-AutoLocker: +83.57 nSeconds
#TBENCH=mini: Birnet-AutoLocker: +104.574 nSeconds
#TBENCH=maxi: CPU Resampling FPU-Up08M: +260.4562325006 Streams
#TBENCH=maxi: CPU Resampling FPU-Up16M: +184.19598452754 Streams
#TBENCH=maxi: CPU Resampling SSE-Up08M: +399.04229848364 Streams
#TBENCH=maxi: CPU Resampling SSE-Up16M: +338.5240352065 Streams
Rodney Dawes blogged in reply to my previous blog entry on Hammering the intltool trouble. First of all, blog discussions suck, they suck less if they are carried on in the comments section of a blog entry, but i agree with Rodney that this is still not as helpful as Bugzilla or email conversations are. Coincidentally, the actual issue, namely Beast‘s intltool patch has been addressed in a private email discussion in 2005 and 2006 in which Rodney got Cc:-ed and also replied. That thread also linked to a version of the Beast intltool-extract.in patch. It didn’t seem like this would go into intltool though, so we simply continued to maintain our patched version. In any case, if Rodney prefers to have this issue tracked by Bugzilla, that’s fine, here’s the new bug report which describes our scenario and has the patch attached: Bug 358495 – support for multiline scheme strings.

