Digital Audio Workstation on Slackware Linux

From Akionux-wiki
Share/Save/Bookmark
Jump to: navigation, search

Abstract

Here, I summarize the installation of Digital Audio Workstation(DAW) on Slackware Linux by using Slackbuilds Git repository.

To download the repository, git clone:

% git clone git://slackbuilds.org/slackbuilds.git

SlackBuilds are located on <Category>/<application name> in SlackBuilds Git repository.

Installing with SlackBuilds

Installing packages with slackbuilds is easy. To install <appname>, :

% cd slackbuilds/<category>/<appname>

check the .info file:

% cat <appname>.info
PRGNAM="name of application"
VERSION="version of application"
HOMEPAGE="homepage of application"
DOWNLOAD="direct download link(s) of application source tarball(s) arch-independent or x86"
MD5SUM="md5sum(s) of the source tarball(s) defined in DOWNLOAD"
DOWNLOAD_x86_64="direct download link(s) of application source tarball(s), x86_64 only"
MD5SUM_x86_64="md5sum(s) of the source tarball(s) defined in DOWNLOAD_x86_64"
REQUIRES="%README%"
MAINTAINER="name of SlackBuild script maintainer"
EMAIL="email address of author"

Download source file from URL in DOWNLOAD or DOWNLOAD_x86_64.

% wget <direct download link(s) of application source tarball(s) arch-independent or x86>

Check the requirements in REQUIRES.

To search the installed package, check /var/log/packages:

% ls /var/log/packages | grep <appname>

Make the .SlackBuild file executable and run on root:

% chmod 775 <appname>.SlackBuild
% sudo <appname>.SlackBuild

After successful building, /tmp/<appname>-<version>-<archtecture>-<build>_SBo.tgz will be generated. Install the package by using /sbin/installpkg:

% sudo /sbin/installpkg /tmp/<appname>-<version>-<archtecture>-<build>_SBo.tgz

Now, installation is completed.

Environment

Slackware Linux 14.1

Software and dependencies

Dependencies are indicated by indents.

Rosegarden and Lilypond

Rosegarden is a Digital Audio Workstation and Lilypond is a music score generator.

  • audio/rosegarden
    • graphics/lilypond
      • graphics/fontforge
      • graphics/mftrace
        • graphics/potrace
        • system/t1utils
      • development/guile1.8
    • multimedia/dssi
      • audio/jack-audio-connection-kit
      • audio/ladspa_sdk
      • libraries/liblo
    • libraries/liblrdf
      • audio/ladspa_sdk

GUI interface of lilypond

  • graphics/frescobaldi
    • python/python-poppler-qt4

To use MIDI synthesizers on frescobaldi, you need to install following packages:

  • audio/portmidi
    • development/jdk

LADSPA plugin

  • audio/hydrogen
    • audio/ladspa_sdk

DSSI plugin

  • audio/xsynth-dssi
    • multimedia/dssi
  • audio/fluidsynth-dssi
    • audio/fluidsynth
  • audio/dssi-vst : Win32 VST wrapper
    • multimedia/dssi
    • system/wine
      • slackware64-compat32 environment
      • system/webcore-fonts
      • graphics/fontforge

MIDI synthesizer

  • audio/TiMidity++

To enable JACK support, run SlackBuild with JACK=yes option:

JACK=yes ./TiMidity++.SlackBuild

After installation, /etc/rc.d/rc.timidity will be installed but need to be executable:

sudo chmod 755 /etc/rc.d/rc.timidity

To run timidity, run following command

/etc/rc.d/rc.timidity start

timidity can be run from /etc/rc.d/rc.local by system, however, timidity is depend on ~/.asoundrc. So I prefer running timidity by user.

To start JACK and timidity simultaneously, starting them by qjackctrl is cool. Configure qjackctl as following:

Settings->Sctript "Execute script after Startup"
/etc/rc.d/rc.timidity start
"Execute script after Shutdown"
/etc/rc.d/rc.timidity stop

Also, TiMidity++ needs sound fonts.[1]. slackbuilds have following sound font packages:

  • audio/freepats
  • audio/fluid-soundfont

To configure timidity, edit value of TIMIDITY_OPTIONS in /etc/rc.d/rc.timidity. In my environment, I changed buffer fragment value[2] to avoid noises.

TIMIDITY_OPTIONS="-iAD -Os -B0,9"

References

  1. Timidity (日本語) - ArchWiki https://wiki.archlinux.org/index.php/Timidity_%28日本語%29
  2. 羽根のあるところ - TiMidity オプション一覧 http://bluewing.usamimi.info/timidity/index.php?p=optdoc&lang=ja