This is a live performance sample player/recorder for Jack. In contrast to Hydrogen, this features a virtual keyboard display as its main UI. Pre-recorded wave files can be associated to different keyboard keys, and the virtual keyboard display will show labels for mapped keys, making it easier to find the right sample during a live session. There is also a recording mode, so it is possible to record sound clips during a live session.
This is a list of all dependencies
These libraries are required in order to run Anja
- gtk+3
- gtksourceview-3.0
- jack
- jemalloc
- samplerate
- sndfile
In addition to these libraries, Anja uses the PCG32 generator from Melissa O'Neill. Currently, her repository is kept as a git submodule. To process the command line, the ALICE library is used. This is also refered to by a submodule.
These tools are required in order to compile Anja. The list only includes tools that are not POSIX standard command line tools. For a more complete list, see https://milasudril.github.io/anja#deps.
- Xvfb -- virtual X server
- bash -- the Bourne-Again SHell
- blender -- 3D modelling and rendering package
- dot -- tool from the Graphviz package that draws directed graphs
- g++ -- the GNU project C++ compiler
- import -- command-line utility from ImageMagick that is for creating screenshots
- inkscape -- SVG (Scalable Vector Graphics) editing program
- maike -- Automated build tool. You must use version 0.15.9 or later.
In case this tool is missing, the build script will download the latest
release from https://github.com/milasudril/maike/. This step requires
wget
and thejq
command-line JSON processor. maike itself requires libjansson to be installed - markdown -- converts markdown to (x)html
- octave -- Package for numerical analysis. MATLAB should work, but it requires
some changes to
maikeconfig
files. - ronn -- converts Markdown to troff
- pkg-config -- return metainformation about installed libraries
- python3 -- an interpreted, interactive, object-oriented programming language
- xdotool -- tool for manipulating X clients
- xelatex -- LaTeX and the XeTeX engine
- xdpyinfo -- display information utility for X
- xsltproc -- command-line XSLT processor
Anja uses the font Linux Libertine in some of the SVG files. If this font is not installed, a serif substitude will be used instead.
If maike
is not installed, prepare for bootstrapping it
sudo apt-get install libjansson-dev jq wget
or install it from the following PPA
sudo add-apt-repository ppa:milasudril/maike
sudo apt-get update
the former is currently only available for xenial.
In any case, make sure you have access to the latest blender
. Ubuntu users can
use the following PPA:
It can be added through the commands
sudo add-apt-repository ppa:thomas-schiex/blender
sudo apt-get update
In addition to that, the KxStudio repositories may contain a more up-to-date version of JACK, as well as some other useful utilities. More information can be found here: http://kxstudio.linuxaudio.org/Repositories.
After adding this PPA, install all tools and libraries, and compile the program
sudo apt-get install jackd2 pkg-config libgtk-3-dev g++ blender inkscape \
libjack-jackd2-dev libsndfile-dev libgtksourceview-3.0-dev python3 \
libjemalloc-dev xvfb octave xdotool xsltproc libsamplerate0-dev \
graphviz imagemagick ruby-ronn
make
After compling Anja, you can test it by using the command
./anja
If you like to generate a deb
package, you can run
make deb
This requires the presence of the debuild
command.