Introduction
Nightingale is a simple sound-editor. It was written when I found that I couldn't reasonably load a 300Mb wav-file in any sound-editor to cut it up into pieces.
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.
With the 1.3 release, nightingale will now also work on very large files. It still feels very snappy to scroll through 38 hours of CD-quality music..... So: New in 1.3: Support for files larger than 2Gb. It hasn't been tested on a file larger than 0.5Tb to test if it works when the condensed minmax file becomes larger than 2Gb.
Where to get Nightingale
You can get Nightingale from the BitWizard FTP site at
ftp://ftp.bitwizard.nl/nightingale/
The source tarball is a whopping 14k. Yep. Fourteen kilobytes. 22k uncompressed clean sources. The rest is documentation.
Compatibility
Nightingale uses the Xforms library. You need this library for it to compile. Besides that, it plays audio using an external player program. I use "esdcat", but you can substitute any other program.
Feel free to report problems. We can then try to iron them out.
Compiling Nightingale
Compiling Nightingale should be as easy as "make". If it is harder for you, your computer is misconfigured, or there is a problem with Nightingale that we should take care of. Please report this kind of problem.
Bugs and enhancements in Nightingale
This was a quick hack. I wanted to be able to split a large WAV into smaller parts. I spent a total of 20 hours on Nightingale, and then cut the one hour WAV I had into the composing songs in 15 minutes. It's served its purpose. However, changing just a few minor things will make this a very general and useful tool.
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, you may have to 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. It ignores the WAV header.
History
Nightingale was written by Roger Wolff (R.E.Wolff@BitWizard.nl)
