Nama

Easy multitrack recording with Ecasound

Mon, 22 Nov 2010

News

More Development!

The Github repository has a lot of new features. See the list below. These will soon be released in a CPAN version.

Other areas I'm working on are:

Punch-in style editing

The editing is coming along quickly. It will be convenient and non-destructive. You'll be able to make multiple edits to a track. When you're done, you can use a merge_edits command to commit these changes into a new WAV file version.

MIDI integration

This will be a longer project. We'll be using Midish as the MIDI sequencer engine.

Recent features

  • autosave - save system state at regular intervals
  • project templates - create a new project with the same tracks, effects and other parameters as an existing project
  • jack_ports_list: a more flexible way to specify multiple JACK ports as inputs for a single track
  • expanded test suite
  • automatic quoting of jack client names that include spaces
  • track comments

(Oct 13, 2010)

Entering a New, Stable, Phase

Nama is already in Debian's Squeeze (testing) and Sid (unstable) distributions. Fairly soon Squeeze will become the new stable, meaning that Nama will be available to the majority of Debian installations, simply by using Debian's apt-get or aptitude utilities to download the Nama package.

Arch Linux users can install Nama, thanks to Philipp Überbacher's work to create and maintain a build script.

Nama is also more stable in a sense of the code being mature and tested.

  • The test suite is extensive enough to catch regressions to core features.

  • Members of Debian's pkg-perl group have contributed a couple of bug reports.

  • On the user testing front, Julien has been pounding on Nama enough to flush out most bugs that you could encounter in typical usage.

(Aug 20, 2010)

Updates

A lot of minor fixes since our last update. Nama is now at version 1.064.

Key improvements:

  • Allow for both pre- and post-fader inserts
  • Implement simple fades
  • Engine status text display is clearer and more complete.
  • Refactor code to resolve symlinks
  • Display inserts in show_track listing

(Aug 20, 2010)

Julien Claassen's Nama pages

Julien has been Nama's number-one tester, and his feature requests are behind many of Nama's newer abilities.

He's writing his own pages about Nama. Right now it's mostly links to his music.

Lately he's been using Leslie IR files with jconv to give Leslie sound to his organ recordings. Nama's cache_track function makes it possible for him to free up CPU by preprocessing those files.

(Jan 10, 2010)

Fixes and features -> 1.0x

The new updates have broken Nama in a number of places. J. Underwood, my trusty assistant, has taken time off from his usual work to find such bugs as are not tested for by Nama's test suite. With his help, most bugs are fixed.

And thanks to his suggestion, we have a new feature: effect profiles. An effect profile is a group of effect chains corresponding to the state of multiple tracks. new_effect_profile Mastering jpop copies effects of tracks the Mastering group: Eq, Low, Mid, High, Boost.

In another project, you can apply this profile with apply_effect_profile jpop. That will give you the same mastering characteristics.

Currently you must have identically named tracks to apply an effect profile.

(Jan. 6, 2010)

Statistics!

Here are some statistics from the git repository. Nice graphs to look at; interesting as a curiosity. Useful if you can use knowledge of which time of day, or in which months most commits were made.

Due to some duplication, the lines-of-code counts are about double. My own, imperfect count is 9,965 lines (including comments), down about 100 lines from the most functional previous release.

Here is the approximate breakdown:

  • 1,400 lines documentation
  • 1,200 lines GUI
  • 1,200 lines command parser and text interface
  • 5,700 lines core functions
  • 500 lines testing

Nama is still small! We're lucky to have Ecasound for the heavy lifting (Thanks Kai!) and excellent libraries from CPAN for whatever generic CS goodness I might need.

A simple script finds that 529 lines of code in the original version of Nama (ecmd) checked in Nov 2007 exist in the the current version.

(Jan. 9, 2010)

Welcome to version 1.0!

I've been delaying the announcement... too many things keep changing. First, a graph-based routing algorithm to replace the original rule-based routing. Then, an object-based back end to generate the Ecasound chain setups.

Other improvements include:

  • post-fader inserts with wet/dry control

  • pre- and post-fader send buses (mainly for instrument monitors)

  • sub buses

  • track caching (intermediate mixdown)

  • effect chains (presets)

  • more consistent command naming

  • profiling and optimization

  • expanded test suite

The basic functionality is solid. At the same time, I'm sure there are a lot of details that can improved.

(Dec. 27, 2009)