I finally got around to adding Audacity to my BLFS system. For people who don't know already, I just wanted say that it was easy to do. Audacity was the last thing that I was going (pendrive in hand) to my wife's Windows computer to use. I think everybody knows what Audacity is and does. I only wanted to talk about installing it in a BLFS system.
Audacity is not currently in the BLFS book, but I think it should be. I imagine most any BLFS system with other typical GUI apps in the BLFS book will have many of the dependencies installed already. Go to the
Audacity wiki for more on dependencies and links to download them. Here is what I had to build and install...
WxGTK-2.8.12 (not in BLFS)
libsndfile-1.0.23 (in the current BLFS book)
libsamplerate-0.1.8 (in the current BLFS book)
twolame-0.3.13 (not in BLFS)
libsbsms-2.0.1 (not in BLFS)
soundtouch-1.6.0 (not in BLFS)
audacity-minsrc-2.0.1 (not in BLFS)
That standard Audacity source file listed there has local versions of many things it needs and that might be missing from the system. I already had most of that stuff installed. In all cases but one, the config file for audacity found the system files and used them without me having to specify "system" for them in the configure command. That one exception was libsamplerate. If that one was not mentioned in the configure command, the local version of libresample was used. And libresample may be okay, but I had already installed libsamplerate. That is one example of a one-or-the-other dependency with audacity.
For pitch and tempo changes, you can install both soundtouch and sbsms. They are not one-or-the-other. The regular "Change Pitch" and "Change Tempo" menu options in the "Effects" drop down menu are provided by soundtouch. The "Sliding Scale Time/Pitch Shift" option is added there by sbsms and is supposed to give finer control.
The only issue for which I had to turn to Google was regarding libsbsms. The build stopped with errors...
Code:
buffer.h:173:46: error: 'calloc' was not declared in this scope
buffer.h:175:5: error: 'free' was not declared in this scope
I got rid of that problem by editing /src/buffer.h in the source and adding these lines...
Code:
#include <stdlib.h>
#include <string.h>
For all of the packages that I installed, I first browsed
./configure --help for the options and defaults for things like shared libraries and so on. For audacity itself, the following worked okay for me, appropriately installing system and local things...
Code:
./configure --prefix=/usr --with-libsamplerate
make
As root...
Anyway, that's how it went. I recommend it.