Starting Nightingale for the first time on a 300Mb file takes about 2 seconds. During that time the condense task will condense a few minutes worth of music to 0.4% of the original size. If you're quick with the controls you can probably catch the condenser task in the act. Condensing an hour worth of music takes less than a minute. And the condensed file is kept (at 0.4% of the original size it's not a serious attack at your disk space!) between invocations. The second time you don't need to wait for the condenser task to run!
Nightingale is distributed under the GNU General Public License.
See the COPYING file for details.
The source tarball is a whopping 14k. It used to be five, but as you know, GNU programs are always very bloated and memory-consuming. I included the GPL. Yep. Fourteen kilobytes now.
Feel free to report problems. We can then try to iron them out.
For example, "save" is now a special routine in the code. It shouldn't be. It should simply be a "write to program", just like "play". So, maybe save and "play" should be merged. The buttons on the menu are now hard-coded. These should come from a small configuration file. The "playselection" button would then be defined with something like button playsel S esdcat Specifying that a button called playsel has the Selection as input, and uses the esdcat program to function.
the Save selection button would then be button savesel SF cat > $1 or something like that. It would then be easy to add a "save as mp3" button: Just change the program that is called to save the file.
It was a quick hack. For example, it probably doesn't handle loading a second file. (i.e. when you're done with one source file, quit before loading a second file...) Stuff like that. Feel free to submit patches. It also doesn't do anything but 44100Hz stereo samples. Oh, and it always displays one of the channels, completely ignoring the other channel.