LWN.net Logo

Development

Stretching and squishing audio files with rubberband

By Forrest Cook
March 18, 2009

The Rubber Band Library and the associated rubberband audio processing utility have been developed by Breakfast Quay, creators of the dssi-vst VST audio plugin adapter. The software is dual-licensed, with GPLv2-licensed source code and a commercially licensed edition. The Rubber Band description states:

Rubber Band Library is a high quality software library for audio time-stretching and pitch-shifting. It permits you to change the tempo and pitch of an audio recording or stream dynamically and independently of one another. Rubber Band Library is intended for use by developers creating their own application programs rather than directly by end users, although it does also include a simple command-line utility program of its own that you can use for simple adjustments to the speed and pitch of existing audio files.

The features document discusses the capabilities of the library in more detail and the Rubber Band Technical notes explains some of the underlying software methods:

Rubber Band Library is a block-based phase vocoder with phase resets on percussive transients, an adaptive stretch ratio between phase reset points, and a "lamination" method to improve vertical phase coherence. It is implemented in portable C++, and it requires separate library support for the FFT and resampling implementations: for the Free Software edition, this means FFTW and libsamplerate (the proprietary edition supports other options as well).

See the Rubber Band API documentation for more information on the library's components. Version 1.3 of Rubber Band Library was announced on March 16, 2009, no new features were added but a number of build and runtime bugs were fixed.

The source code for rubberband can be downloaded and built, or a pre-compiled executable is available for the curious (and trusting). The Usage document explains the various options available for rubberband. A simple example batch run such as: rubberband -T1.5 infile.wav outfile.wav takes infile.wav and produces outfile.wav with a tempo that's 1.5 times faster, but with the same pitch. There are a number of additional options that can be used to select the other types of audio conversions and to fine-tune the processing methods. For the curious, a number of example audio files are available for listening to.

A number of interesting uses for rubberband come to mind. The software could be used in radio production for making those annoying compressed legalese notices that show up at the end of pharmaceutical ads. It could be used to greatly speed up the time it takes to listen to audio books and podcasts, or the producers of those files could use it for compressing their sound files to reduce bandwidth usage. Recordings can be pitch-shifted to correct the speed problems that can be caused by older analog recording equipment. Those who are learning a new language could use the software to slow down the speed of the foreign speech. The software could be useful for producing musical sound effects or amusing answering machine messages.

Rubberband addresses a fairly narrow range of audio processing needs, but gives the user more control when compared to built-in pitch-shifting and/or tempo-shifting functions found in software such as the popular Audacity and Ardour audio editors. It makes a useful addition to a collection of open-source audio processing utilities.

Comments (11 posted)

System Applications

Database Software

PostgreSQL 2009-03-16 security update

Security updates dated 2009-03-16 for the PostgreSQL DBMS have been announced. "The PostgreSQL Project today released minor versions updating all active branches of the PostgreSQL object-relational database system, including versions 8.3.7, 8.2.13, 8.1.17, 8.0.21 and 7.4.25. This release fixes a denial of service issue with encoding conversion, and all users should update their installations at the next reasonable opportunity."

Full Story (comments: none)

PostgreSQL Weekly News

The March 15, 2009 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

Interoperability

Samba 3.3.2 is available

Version 3.3.2 of Samba has been announced. This is a bug fix release, see the release notes for details.

Comments (none posted)

Virtualization Software

TightVNC: 1.3.10 released (SourceForge)

Version 1.3.10 of TightVNC has been announced. "TightVNC is a free remote control package derived from the popular VNC software. With TightVNC, you can see the desktop of a remote machine and control it with your local mouse and keyboard, just like you would do it sitting in the front of that computer. Version 1.3.10 fixes various bugs, includes a number of impovements and introduces a version of TightVNC for U3 flash drives."

Comments (none posted)

Web Site Development

Midgard 8.09.4 released

Version 8.09.4 of the Midgard web framework is out. "The Midgard Project has released the fourth maintenance release of Midgard 8.09 Ragnaroek LTS. Ragnaroek LTS is a Long Term Support version of the free software content management framework. The 8.09.4 "Kaiku" release focuses on API and architecture cleanups in order to ease transition from Midgard 1.x series API to Midgard 2.x APIs."

Full Story (comments: none)

Midgard2 9.03.0 beta 1 released

Version 9.03.0 beta 1 of the Midgard2 web framework is out. "The first beta of Midgard2 9.03 is targeted at web framework and desktop developers. It provides a comprehensive set of content repository APIs that can be used to build replicated information applications that share their information using a common storage layer and replication tools."

Full Story (comments: none)

Pyjamas 0.5 released

Version 0.5 of Pyjamas, a web widget set and Python-to-Javascript compiler has been announced. "The 0.5 release is a significant functionality update. Additions have been made to the core python-to-javascript compiler such as support for exceptions (try / except), lambda, and a debug option to track and print run-time stack traces, in cases where the deployment of a javascript script debugger is difficult or impossible (IE6 running under Wine). Also, the code-generator has undergone a reorganisation, and now has much better support for local and global variable, function, class and module scopes."

Full Story (comments: none)

web2py 1.59 released

Version 1.59 of web2py a Python-based web framework, has been announced. "New features In 1.59: - DB2 support. - new Service interface to expose functions in CSV, XML, JSON, JSONRPC, XMLRPC and AMFRPC (Flash//Flex). - optional Amy editor (instead of edit_area) has keyboard shortcuts and autocompletion."

Full Story (comments: none)

Desktop Applications

Audio Applications

Sonic Visualiser: v1.5 now available (SourceForge)

Version 1.5 of Sonic Visualiser has been announced. "Sonic Visualiser is an application for inspecting and analysing the contents of music audio files. It combines powerful waveform and spectral visualisation tools with automated feature extraction plugins and annotation capabilities. Version 1.5 of Sonic Visualiser is now available. This release contains a small number of new features and a larger number of bug fixes over the previous 1.4 release."

Comments (none posted)

Desktop Environments

GNOME 2.26 released

GNOME 2.26 is out. "Released on schedule, to the day, GNOME 2.26 builds on top of a long series of successful six months releases to offer the best experience to users and developers." There's lots of new stuff in this release, including a new disc burning application, better multiple-monitor support, and, believe it or not, a volume control widget which is actually integrated with the underlying (pulseaudio) sound system. See the release notes for details.

Full Story (comments: 3)

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

KDE Commit-Digest

The February 22, 2009 edition of the KDE Commit-Digest is out. The content summary says: "Experimentation with recording presentations in Okular. Mobipocket format support added to Okular, Strigi, and the thumbnailer. Ability to configure gestures in the "Hotkeys" KControl module. Start of a metadata editor and other general work in Plasmate. Support for multiple collections, and HTML emails in the LionMail Plasma widget. A "maintenance" tab, with reorganised status displays and operations added to the folder properties dialog in KMail. Initial check-in of Qt QObject - GTK GObject bridge..."

Comments (none posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at kde-apps.org.

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Desktop Publishing

AsciiDoc 8.4.1 released

Version 8.4.1 of AsciiDoc has been announced, it features a new Python API. "AsciiDoc is an uncomplicated text document format for writing articles, documentation, manuals, books and UNIX man pages. AsciiDoc files can be translated to HTML, XHTML and DocBook (articles, books and refentry documents) using the asciidoc(1) command. DocBook can be post-processed to presentation formats such as HTML, PDF, DVI, roff and Postscript using the a2x toolchain wrapper and readily available Open Source tools."

Full Story (comments: none)

LyX 1.6.2 announced

Version 1.6.2 of the LyX document processor has been announced. "This is the second maintenance release in the 1.6.x series. The release fixes a large number of major and critical bugs that were reported by users of LyX 1.6.0 and 1.6.1. Most notably, three bugs that might lead to dataloss were detected and resolved. Furthermore, a number of crashes,file conversion and LaTeX output problems are fixed."

Full Story (comments: none)

Electronics

GNU Radio release 3.2rc1 is available

Release 3.2rc1 of GNU Radio, a software-defined radio platform, is out. "This release has had a large number of updates since 3.2rc0, touching a variety of components--please use the Trac website to peruse the revision log on the trunk for details. It incorporates all development trunk updates and bug fixes up to r10622 (today)."

Full Story (comments: none)

Open Arms (IEEE Spectrum Online)

The IEEE Spectrum Online magazine has a detailed article about the state of prosthetics for amputees. The perception is that the state of the art for replacement limbs has advanced greatly, but the reality is somewhat different. The article's author lost his arm in Iraq and is now working on development of prosthetic limbs as part of a free software (and hardware) project. "The MyOpen project on the Open Prosthetics site is working on ways to create a product that can serve both a niche and a mass market. MyOpen, an open-hardware signal-processing board that will be compatible with APL’s arm, will also serve as a universal controller for video games. We want creative people to get their hands on this device and push it to the limits. We want this device to enhance the experience of playing video games, and in doing so, push prosthetics innovation into the 21st century." (Thanks to Evgeny Stambulchik)

Comments (3 posted)

Encryption Software

pyDes: 2.0.0 released (SourceForge)

Version 2.0.0 of pyDes has been announced. "A pure python module which implements the DES and Triple-DES encryption algorithms. Triple DES is either DES-EDE3 with a 24 byte key, or DES-EDE2 with a 16 byte key. This release updates the pyDes module to be compatible with both Python 2 and Python 3 interpreters."

Comments (1 posted)

Graphics

Why glxgears is slower with Kernel Modesetting (and why it doesn't matter)

Fedora QA team member Will Woods looks at recent changes to add kernel modesetting to Fedora in a post on his blog. People were noticing a sizeable decrease in the frame rate of glxgears, believing that it was a good general measure of 3D performance. "[...] glxgears is rendering an insanely simple scene - so simple that the actual 3D rendering time is basically zero. So the only thing glxgears really tests is the performance of glXSwapBuffers() - basically, how fast we can push render buffers into the card. This operation is slower with DRI2, but - roughly speaking - unless it was an order of magnitude slower (e.g. glxgears drops from 1000FPS to under 100FPS) it wouldn't make any real difference." One of the tests he recommends for 3D performance is the always amusing Extreme TuxRacer.

Comments (34 posted)

GUI Packages

Urwid 0.9.8.4 released

Version 0.9.8.4 of Urwid, a console-based user interface library, has been announced. "This is a maintenance release that adds compatibility with Python 2.6 and fixes a number of bugs."

Full Story (comments: none)

wxWidgets 2.8.10 released

Version 2.8.10 of wxWidgets has been announced. "The wxWidgets team is pleased to announce a new wxWidgets release. The latest stable release in the 2.8 series contains a number of bug fixes, and upgrading is recommended for all wxWidgets users."

Comments (none posted)

Multimedia

Elisa Media Center 0.5.32 released

Version 0.5.32 of Elisa Media Center has been announced. "New features include a brand new picture slideshow with cool transition effects."

Full Story (comments: none)

Music Applications

First version of alsa-midi-latency-test released

The initial release of alsa-midi-latency-test is available. "The console application aims to become a Linux drop-in-replacement for the Windows application "MidiTest"".

Full Story (comments: none)

Canorus 0.7 beta released

Version 0.7 beta of Canorus, a free music score editor, has been announced. "After more than a year of an active development Canorus team is proud to announce immediate release of Canorus version 0.7beta."

Full Story (comments: none)

Qtractor 0.4.0 released

Version 0.4.0 of Qtractor, an audio/MIDI multi-track sequencer application, has been announced. "It's been quite a while since last time (Fluffy Doll on Xmas:). However, Qtractor is back again on track and this time with great news. And the big news are that this pet is leaving its rusty four-on-the-floor cage and spreading it's musical genre targets. Still a bedroom/home-studio sequencer though, but not for the techno-boy/girl only anymore--if one may trump about it, it's getting a general-purpose sticker now. And what makes it like just that? One long due feature, now stroked by implementation lightning: Tempo/Time-signature Map. Or in other words: project sessions may now have multiple parts with different tempo (BPM) and/or time-signatures."

Full Story (comments: none)

QuteCsound 0.4 released

Version 0.4 of QuteCsound has been announced. "I'm pleased to announce QuteCsound version 0.4. This version incorporates new features and bug fixes arising from the 3 previous Release Candidate releases. QuteCsound is a simple frontend for Csound featuring a highlighting editor with autocomplete, interactive widgets and integrated help."

Full Story (comments: none)

Science

Papywizard 2.0.0 released

Version 2.0.0 of Papywizard has been announced, it features a switch to PyQt and more. "Papywizard is a free panohead control software, mainly developped for the Merlin/Orion astronomic mount but usable for other panoheads, as long as it is possible to talk to them (hardware/software). The project is developped with the support of Kolor company, which develops the famous Autopano Pro stitcher software."

Full Story (comments: none)

PyTables 2.1.1 released

Version 2.1.1 of PyTables has been announced. "PyTables is a library for managing hierarchical datasets and designed to efficiently cope with extremely large amounts of data with support for full 64-bit file addressing. PyTables runs on top of the HDF5 library and NumPy package for achieving maximum throughput and convenient use. This is a maintenance release, so you should not expect API changes."

Full Story (comments: none)

Video Applications

MotionTrackOSC 0.2 released

Version 0.2 of MotionTrackOSC has been announced. "MotionTrackOSC is a small program that does motiontracking on either a camera image or a video file. The tracked motion is output to a client via osc."

Full Story (comments: none)

Web Browsers

Firefox 3.1 Beta 3 is now available for download

Version 3.1 Beta 3 of Firefox has been announced. "Firefox 3.1 Beta 3 is now available for download. This milestone is focused on testing the core functionality provided by many new features and changes to the platform scheduled for Firefox 3.1."

Full Story (comments: none)

Miscellaneous

QLC: 3.0 is out (SourceForge)

Version 3.0 of QLC has been announced. "The Q Light Controller (QLC) is an X11/Linux application to control DMX or 0-10V lighting systems like dimmers, scanners and other lighting effects. Our goal is to replace expensive and rather limited hardware lighting desks with free software. This release includes (so far) Windows & Linux binaries as well as full sources."

Comments (none posted)

Roundup Issue Tracker release 1.4.7

Version 1.4.7 of Roundup Issue Tracker, an issue-tracking system with command-line, web and e-mail interfaces, has been announced. "1.4.7 is primarily a bugfix release which contains important security fixes".

Full Story (comments: none)

Roundup Issue Tracker release 1.4.8

Version 1.4.8 of Roundup Issue Tracker has been announced, it includes regression and bug fixes as well as some new features. "Roundup is a simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry "Track" design competition."

Full Story (comments: none)

Task Coach: Release 0.72.2 available (SourceForge)

Version 0.72.2 of Task Coach has been announced. "Task Coach - Your friendly task manager. Task Coach is a simple open source todo manager to manage personal tasks and todo lists. Often, tasks and other things todo consist of several activities. Task Coach is designed to deal with composite tasks. This is a bugfix release."

Comments (none posted)

Languages and Tools

C

GCC 4.4.0 Status Report

The March 13, 2009 edition of the GCC 4.4.0 Status Report has been published. "The trunk is still in stage 4 which means it is open under the usual release branch rules. Thus the trunk is open for regression and documentation fixes only. We have been asked by the SC to not branch for now but wait for the wording for the new runtime license to arrive from the FSF and that being put in place. We currently have 82 serious regressions, which is below 100 and zero P1 regressions."

Full Story (comments: none)

Caml

Caml Weekly News

The March 17, 2009 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)

Java

OpenSwing: 1.9.5 released (SourceForge)

Version 1.9.5 of OpenSwing has been announced. "OpenSwing is a component library that provides a rich set of advanced graphics components and a framework for developing java applications based on Swing front-end. It can be applied both to rich client applications and Rich Internet Applications. In this release: Rebuild whole project. The distribution includes also Jar file libraries, source files, javadoc, licence and readme.txt installation instructions."

Comments (none posted)

Perl

kurila 1.18 released

Version 1.18 of Perl Kurila has been announced. "Perl Kurila is a dialect of Perl. With Perl 5 as ancestor it has a solid base, but without the backwards compatibility requirement of Perl 5, it is free to evolve into new directions."

Full Story (comments: none)

Parrot 1.0.0 released

Version 1.0.0 of the Parrot virtual machine has been released. Parrot is somewhat associated with Perl (and Perl 6 in particular), but it is intended to be able to run any dynamic language. More information can be found on parrot.org (or, until parrot.org becomes responsive again, Wikipedia).

Full Story (comments: 9)

Python

Concurrence Framework 0.3 released

Version 0.3 of Concurrence Framework has been announced. "Concurrence is a framework for creating massively concurrent network applications in Python. It takes a Lightweight-tasks-with-message-passing approach to concurrency. The goal of Concurrence is to provide an easier programming model for writing high performance network applications than existing solutions (Multi-threading, Twisted, asyncore etc)."

Full Story (comments: none)

Cython 0.11 released

Version 0.11 of Cython has been announced. "Cython is a language that makes writing C extensions for the Python language as easy as Python itself. Cython is based on the well-known Pyrex, but supports more cutting edge functionality and optimizations. The Cython language is very close to the Python language, but Cython additionally supports calling C functions and declaring C types on variables and class attributes. This allows the compiler to generate very efficient C code from Cython code."

Full Story (comments: none)

IMDbPY 4.0 and IMDbPYKit 1.0

Version 4.0 of IMDbPY and version 1.0 of IMDbPYKit are out. "IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about movies, people, characters and companies. With this release, support for keywords and top250/bottom100 lists; also, it's now possible to export any data in XML. Many bugs were fixed and other minor improvements are present. Alongside IMDbPY 4.0, the 1.0 release of IMDbPYKit is available. IMDbPYKit is the new web interface of choice of IMDbPY; mostly developed by H. Turgut Uyar, it's based on the Paste Webkit toolkit and it has a lot of nice feature (e.g.: it can output data in both XML and HTML)."

Full Story (comments: none)

Python-URL! - weekly Python news and links

The March 11, 2009 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)

Tcl/Tk

Tcl-URL! - weekly Tcl news and links

The March 11, 2009 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)

Tcl-URL! - weekly Tcl news and links

The March 17, 2009 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)

Cross Assemblers

gputils 0.13.7 released

Version 0.13.7 of gputils, a collection of tools for Microchip PIC microcontrollers, has been announced. "Added support for all processors supported by MPLAB 8.20 (except eeprom16 and related). Added support for "LIST M=?" directive. Fixed several bugs."

Comments (none posted)

Cross Compilers

Arduino 0014 released

Version 0014 of Arduino, a development system for the Arduino board, has been announced, it includes minor bug fixes. "Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators." See the release notes for more information.

Comments (none posted)

SDCC 2.9.0 RC2 released

Version 2.9.0 RC2 of SDCC, a C cross compiler for Intel 8051, Maxim 80DS390, Zilog Z80 and Motorola 68HC08 microprocessors, has been announced.

Comments (none posted)

Version Control

bzr 1.13 released

Version 1.13 of bzr has been announced. "This release includes bug fixes and a few performance and feature improvements. GNU Changelog output can now be produced by ``bzr log --format gnu- changelog``. Debug flags can now be set in ``~/.bazaar/bazaar.conf``. Lightweight Checkouts and Stacked Branches should both be much faster over remote connections. The Bazaar team is happy to announce availability of a new release of the bzr adaptive version control system."

Full Story (comments: none)

GIT 1.6.2.1 released

Version 1.6.2.1 of the Git distributed version control system has been announced, it includes a number of bug fixes.

Full Story (comments: none)

Miscellaneous

BugzillaMetrics: 0.9.7 released (SourceForge)

Version 0.9.7 of BugzillaMetrics has been announced, it includes new features and bug fixes. "BugzillaMetrics is a tool for the evaluation of change request metrics. Its main characteristics are the specification of metrics by the users, an event driven algorithm, transparent execution optimization and an abstraction of its data sources."

Comments (none posted)

Page editor: Forrest Cook
Next page: Linux in the news>>

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds