Beast - Music Synthesizer and Composer
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Demos DEMOS: GNUmakefile: support Demos/ local install rules Mar 3, 2018
Effects EFFECTS: GNUmakefile: support Samples/ local install rules Mar 3, 2018
Instruments INSTRUMENTS: GNUmakefile: support Instruments/ local install rules Mar 3, 2018
Samples SAMPLES: GNUmakefile: support Samples/ local install rules Mar 3, 2018
af-tests AF-TESTS: add GNUmakefile for make invokation in this subdirectory Aug 23, 2018
aidacc AIDACC: sort file lists Sep 18, 2018
beast-gtk BEAST-GTK: Makefile.am: sort file lists Sep 18, 2018
bse BSE: Makefile.am: sort file lists Sep 18, 2018
config PO: Makefile.am: remove old awk utility for XML strings Aug 25, 2018
data DATA: Makefile.am: sort file lists Sep 18, 2018
debian BUILD: fix build rules to not require guile anymore Jun 18, 2017
docs DOCS: stop installing sfidl.1 Sep 18, 2018
drivers DRIVERS: fix bse/internal.hh includes Sep 18, 2018
ebeast EBEAST: fix bse/internal.hh includes Sep 18, 2018
external/v8pp Merge commit 'v1.4.1+beast' from https://github.com/tim-janik/v8pp Jul 17, 2018
keys KEYS: GNUmakefile: support keys/ local install rules Mar 3, 2018
launchers configure.ac, **/Makefile.am: remove DEFINE__FILE_DIR__ leftovers Aug 20, 2018
misc MISC: run-codechecks.sh: run cppcheck, clang-tidy, scan-build, etc vi… Sep 8, 2018
plugins PLUGINS: Makefile.am: sort file lists Sep 18, 2018
po PO: de.po: lots of translation updates and fixes Aug 31, 2018
r+d-files BSE: use BSE_ARRAY_SIZE instead of a Rapicorn macro Sep 24, 2017
res RES: move all GXK GUI .xml resource files into res/gxk/ Sep 18, 2017
sfi SFI: move testsfidl.cc here from tests/ Sep 18, 2018
skins SKINS: GNUmakefile: support skins/ and skins/images/ local install rules Mar 3, 2018
tests TESTS: fix bse/internal.hh includes Sep 18, 2018
tools TOOLS: fix bse/internal.hh includes Sep 18, 2018
yapps2_deb YAPPS2_DEB: yapps2.py: invoke python as /usr/bin/env python2 Jul 25, 2018
.autom4te.cfg BUILD: prevent autoconf, autoheader, automake, etc from using stale c… Jun 17, 2017
.gitattributes BUILD: cleanup git archive export files Jun 17, 2017
.gitignore BUILD: use only config/config.h for autoconf results Nov 3, 2016
.travis.yml .travis.yml: move distcheck to bionic, require successful clang builds Aug 31, 2018
AUTHORS up version to v0.4.1rc4. Aug 30, 2002
COPYING COPYING: add license text of the LGPL-2.1 to match source code license Jul 15, 2017
HACKING.md HACKING.md: mention deduplicaiton of old enum names Sep 5, 2017
MAINTAINERS MAINTAINERS: http://live.gnome.org/MaintainersCorner#maintainers Sep 8, 2007
Makefile.am Makefile.am: sort file lists Sep 18, 2018
Makefile.decl Makefile.decl: invoke tests without taptool.sh indirection Aug 31, 2018
NEWS NEWS: add warning for using alpha versions from the master branch Aug 20, 2018
README.md Remove Rapicorn requirement from README.md Aug 30, 2018
acbeast.m4 acbeast.m4: MC_ASSERT_VERSION: strip leading absolute pathname from v… Aug 22, 2018
autogen.sh autogen.sh: make the .git build dependency explicit Aug 24, 2018
beast.doap ALL: fixed all web references to use http://beast.testbit.eu/ Apr 8, 2011
configure.ac SFI: move testsfidl.cc here from tests/ Sep 18, 2018
git-version.sh git-version.sh: only consider first-parent tags to allow merges from … Aug 20, 2018
ld-symbolic.m4 BUILD: link with -Bsymbolic-functions to optimize ELF relocations Oct 17, 2014
stamp-h.in distcheck build fixes Oct 10, 2003
taptool.sh BUILD: taptool.sh: prevent excessive printouts during pipeline failures Dec 29, 2015
topbuildid.hh topbuildid.hh: use a simple bse_topbuildid() function Aug 20, 2018

README.md

BEAST & BSE

License LGPL-2.1+ Build Status

DESCRIPTION

Beast is a digital synthesizer and music creation system. It has support for Linux Audio Plugins (LADSPA), multi-track editing, unlimited undo, real-time synthesis, MIDI and various free audio codecs. Bse is the Beast Sound Engine, a library providing the synthesis and audio functions used by Beast.

REQUIREMENTS

Beast is a soft realtime application which needs elevated CPU scheduling priorities to avoid audio glitches and drop outs. For this purpose, it installs a small uid wrapper which acquires nice level -20 for the synthesis threads and then immediately drops privileges. For Linux kernels of the 2.6.x series and later, this enables the low-latency scheduling behavior needed to avoid audio artefacts.

In order to build release tarballs, GnomeCanvas, Ogg/Vorbis, libflac and npm are required. Support for MP3 files is optional and requires libmad (MPEG audio decoder library) when compiling Beast. Compilation requires g++-5.2.1 or later and a recent Linux distribution like Ubuntu-14.04.

INSTALLATION

In short, Beast needs to be built and installed with:

./configure
make
make check         # run simple unit tests
make install
make installcheck  # run audio tests

Note that Beast has to be fully installed to function properly, and that the binaries built in the launchers/ directory have to be installed with permissions of the root user.

BINARY PACKAGES

New source code pushed to the Beast repository is automatically built and tested via Travis-CI. Ever so often we create release candidate packages and later release packages after a stabilization phase. Some of the release candidates and the stable versions are provided as binary packages which can be installed via apt:

# Enable HTTPS transports for apt
apt-get -y install apt-transport-https ca-certificates wget
# Recognize signatures from the Beast-Team
wget -qO- https://beast.testbit.org/apt/archive.key | sudo apt-key add -
# Add Beast release packages to the repository list
echo "deb https://beast.testbit.org/apt xenial/stable/" |
  sudo tee -a /etc/apt/sources.list.d/beast-team.list
# Update package list and install Beast
apt-get update && apt-get -y install beast

The directory xenial/stable/ holds end user release packages, and the directory xenial/rc/ holds temporary release candidates.