My thoughts on Slackware, life and everything

Explorations into the world of electronic music production

Apart from playing the recorder flute in primary school and keyboard with my father-in-law, I pretty much never had the chance to make music or even, to create new music. That did not bother me in the past, but when I married into a very musical and creative family I realized I was the only one without musical education or skill in playing an instrument. The family has (ir)regular jam sessions and sometimes arranges (mostly private but) quite high-quality classical music performances.

But, I had other hobbies, Slackware being one of them of course, and reading books while listening to my own music collection (which almost has no overlap with my wife’s by the way). And I was glad when I saw that my son has inherited my wife’s genes and has a knack for languages and music. He is exploring digital music making, has a keyboard or two and installed Ableton Live on his computer. I could never convince him that Slackware was the better alternative to Windows, all his friends are on Windows and what the group does is important for a teen. And furthermore, there’s a slew on tutorial and instruction video’s out there, all expecting you to use Ableton.

I looked at Ableton for its possibilities, and I had several discussions with one of my colleague/friends who is also a DJ/producer and uses Ableton a his primary driver. Seems to be a real nice program… but it costs hundreds of euros. So purchasing a license for Windows 10 and another one for Ableton, just to be able to converse with my son was not an option. I’ll introduce him to my friend and we’ll visit his studio to get inspiration. Then he can implement what he learnt, using tools he is familiar with.

During the past two years, I made some purchases just to have fun with creating sounds and rhythms, buying a couple of Pocket Operators from Teenage Engineering. I had one of these PO’s in my car, plugged into the car stereo and let my son create loops and sounds while on trips. Lots of fun and not too expensive. I also have an external USB soundcard,a FocusRite Scarlett 2i4. and a MIDI keyboard and bass guitar in the attic. But life’s too short and lots of stuff asks for attention – I never spent much productive time with my gear.

But these recent discussions about how to create digital music from scratch, and my wish toe be able to record the live performances of my in-laws, triggered a desire to have a better look at electronic music production and music recording, but then on Slackware Linux of course.

What would be needed for that? I would need software to create sounds (i.e. synthesizers), manipulate audio, create drum tracks, sequence the music, record and mix it. Also my USB sound card needs to be supported and I want my use midi keyboard to enter the notes that I play into the system. I obviously need low-latency real-time performance of my Digital Audio Workstation (DAW).

I guess that for many Linux musicians, the Debian-based AVLinux is a first choice when looking for pre-packaged, pre-configured Digital Audio Workstation (DAW) solutions and supporting software. But we Slackers already have Studioware – a Slackware expansion set which gives you a great toolkit with audio- and video manipulation software. My liveslak project even supports Studioware directly, and is able to create a Studioware Live ISO. You should try that out – it has a ton of software, not just for audio but also for video recording, manipulation and recording.

But… again… and that’s just me… I think that there’s no fun in using other people’s ready-made stuff. Here I am thinking again as the software packaging geek who wants to create possibilities for other people while not necessarily using those myself.

Anyway, I decided not to look too closely at what others had already done, and research a decent set of software products that I want to try out, and on Slackware-current too. Studioware is running on Slackware 14.2 and I tend to develop new stuff on our development platform.

And after a couple of weeks spent on reading, compiling, testing and scratching my head at my lack of knowledge, I came up with this list of software that I think is a nice start for venturing into DAW country. All of this is free and open source:

  • Music recording/mixing/manipulating:
    • ardour: the professional-grade Digital Audio Workstation (DAW).
  • Sound editing:
    • audacity: a graphical sound editor with a GTK3 based UI.
  • Synthesizers:
    • amsynth: an analog modelling synthesizer.
    • helm: a polyphonic synth with lots of modulation also works as a LV2 plugin.
    • zynaddsubfx: a software synthesizer and also a LV2 plugin.
  • Drum machine:
    • hydrogen: an advanced drum machine with Qt5 based GUI.
  • MIDI input:
    • vmpk: Virtual MIDI Piano Keyboard is a MIDI events generator and receiver which can be used to drive a MIDI synthesizer.
  • Audio manipulation plugins (not counting the standalone applications mentioned above that will also run as an Ardour plugin):
    • avldrums.lv2: a LV2 plugin wrapping the AVLinux Drumkits.
    • calf: Calf Studio Gear is a LV2/DSSI plugin collection but it also works as a standalone JACK-host.
    • eq10q: equalizer (and more) as LV2-plugins.
    • vamp-aubio-plugins: a small collection of audio feature extraction plugins.
  • System tools:
    • jack-audio-connection-kit (jack2): to provide low-latency real-time audio routing.
    • alsa-plugins-jack: part of alsa-plugins but not included in Slackware, allows audio to be routed to and from ALSA applications that are not JACK-aware.
    • qjackctl: a Qt5 application to control the JACK sound server.
  • Support libraries for implementing a DAW:
    • aubio: a system to extract annotations from audio signals.
    • ladspa_sdk:  SDK for sound plugins adhering to the Linux Audio Developer’s Simple Plugin API (LADSPA).
    • liblo: implementation of the Open Sound Control (OSC), a protocol for communication among multimedia devices.
    • lv2: the LV2 open standard for audio plugins.
    • rubberband: a library for audio time-stretching and pitch-shifting.
    • vamp-plugin-sdk: an audio processing plugin system (you still need to install actual plugins).
    • wxGTK3: GTK+3 implementation of the cross-platform wxWidgets API
  • Further dependencies for the above (not part of Slackware) that I had to create as packages to get it all working:
    • drumstick: MIDI libraries for Qt5. This is also part of my ‘ktown‘ Plasma5 desktop package set.
    • liblrdf: library to access LADSPA plugin metadata.
    • lilv: a library for using LV2 plugins in applications.
    • mxml: library to read and write XML and XML-like data files.
    • serd: RDF syntax library.
    • sord: library for storing RDF data in memory.
    • sratom: library for serialising LV2 atoms to and from RDF.
    • suil: library for loading and wrapping LV2 plugin UIs.
  • System libraries that I already had in my repositories and which you may already have installed and which are now all available in Slackware’s core distro:
    • qt5: the toolkit for creating graphical interfaces
    • libxkbcommon: support library for Qt5, handling keyboard descriptions.
    • OpenAL: support library for Qt5, implementing a 3D audio API.
    • SDL_sound: support library for Qt5 handling the decoding of various sound file formats.
Update 15-march-2019

Additions to the above set resulting from the discussion in the comments area below the main article:

  • Music notation:
  • Live Coding:
    • supercollider: a platform for audio synthesis and algorithmic composition
  • Plugins:
    • lsp-plugins: Linux Studio Plugins supporting LV2, LADSPA and Jack.
  • Support libraries:
    • portaudio: a cross platform audio I/O library.
    • portmidi: a platform independent library for MIDI I/O.
  • Front-ends:
    • qsynth: a Qt5 GUI Interface for FluidSynth.
Update 20-january-2020
  • System tools:
  • Support libraries:
    • dssi: an API for audio processing plugins.
    • libgig: a library for loading, modifying and creating gigasampler files.
    • liblscp: the LinuxSampler Control Protocol library.
  • Synthesizers:
  • Front-ends:
    • qsampler: a LinuxSampler Qt5-based user interface.
Update 27-january-2020
  • Support libraries:
  • Audio file analysis:
  • Synthesizers:
    • zyn-fusion: this is the zynaddsubfx realtime synthesizer (see above), but now with a new GUI based on ruby-zest.
      Install either the zynaddsubfx package (with the ntk GUI) or the zyn-fusion package (with the zest GUI) but not both.
Update 2-february-2020
  • Support libraries:
    • OpenBLAS: an optimized BLAS library. The package contains BLAS, CBLAS, LAPACK and LAPACKE support.
    • python-numpy: a python module for scientific computing.
    • python-pathlib2: a backport of pathlib to fully support stdlib Python API.
    • python-pyo: a Python module for digital signal processing.
    • wxpython: a cross-platform GUI toolkit.
  • Synthesizers:
    • cecilia5: an audio signal processing tool for sound designers.
Update 10-june-2020
  • Support libraries:
    • libsass: the C/C++ implementation of a Sass compiler.
    • sassc: the C implementation of Sass CSS preprocessor.
  • Music recording/mixing/manipulating:
    • non-daw: ‘Non’ DAW studio, with low hardware needs and responsive enough to be used live.
    • guitarix: a virtual guitar amplifier and effects rack.
Update 28-june-2020
  • Support libraries:
  • System tools:
    • cadence tools: JACK toolbox for audio production, an alternative to qjackctl.
    • jack_capture: a program for recording sound files with JACK.
    • meterbridge: meters for the JACK audio server.
    • zita-ajbridge: a JACK client to use additional ALSA devices.
Update 29-june-2020
  • Support libraries:
    • chromaprint: an audio fingerprint library.
    • faad2: ISO AAC decoder library.
    • hidapi: a library to communicate with USB & Bluetooth HID devices.
    • libmodplug: a MOD playing library.
    • libmp4v2: a library to read, create, and modify mp4 files.
    • protobuf: Google’s data interchange format.
    • qtkeychain: Qt API to store passwords and other secret data securely.
  • DJ Software:
    • mixxx: powerful DJ and performance software.
Update 30-june-2020
  • Support libraries:
  • System tools:
    • carla: a fully-featured audio plugin host.
Update 23-july-2020
  • Live Coding:
    • sonic-pi: a popular live-coding music performance tool.
Update 04-august-2020
  • Audio manipulation plugins:
    • gxplugins.lv2: a set of additional LV2 plugins for Guitarix.
    • x42-plugins: a set of LV2 plugins with standalone JACK applications.
  • Support libraries:
    • libltc: a Linear/Longitudinal Time Code (LTC) library.
    • zita-convolver: a real-time convolution matrix for up to 64 audio inputs and outputs.
Update 01-september-2020
  • Music recording/mixing/manipulating:
    • jamulus: internet jam session software (client & server).
Update 06-september-2020
  • Music recording/mixing/manipulating:
    • muse: a midi and audio sequencer.
  • Support libraries:
    • rtaudio: provides a common API for realtime
      audio I/O.
    • rtmidi: provides a common API for realtime
      MIDI I/O.
Update 20-september-2020
  • Music recording/mixing/manipulating:
    • qmidiarp: a MIDI arpeggiator, sequencer and LFO.
    • qtractor: an audio/MIDI multitrack sequencer.
Update 11-october-2020
  • Music recording/mixing/manipulating:
    • giada: a minimalist and hardcore music production tool.
Update 16-december-2020
  • Music recording/mixing/manipulating:
    • zrythm: a highly automated and intuitive digital audio workstation.
Update 20-december-2020
  • Support libraries:
    • libmicrohttpd: a small C library to make it easy to run a HTTP server as part of another application.
  • System tools:
    • faust: a functional programming language for real-time sound synthesis and audio processing.
Update 25-december-2020
Update 16-june-2021
  • Support libraries:
    • dblatex: DocBook to LaTeX/ConTeXt Publishing.
    • guile1.8: an interpreter for Scheme language.
  • Audio manipulation plugins:
  • Music notation:
  • Music recording/mixing/manipulating:
    • rosegarden: MIDI/audio sequencer and notation editor.
Update 26-june-2021
Update 10-july-2021
  • Support libraries:
    • libsmf: a standard MIDI fileformat library.
  • Drum kit:
    • dgedit: the drumgizmo drumkit editor.
    • drumgizmo: multichannel, multilayered drum plugin and stand-alone application.
Update 03-september-2021
  • Synthesizers:
    • VCV Rack modules: countmodula, mental, mindmeldmodular, modularfungi, packone, studiosixplusone, squinkyvcv, valley.
Update 03-september-2022
Update 15-june-2023
  • Synthesizer:
    • surge-xt: a powerful subtractive hybrid synthesizer.

Looking back, that is a big list! Actually when I started with my shortlist as mentioned above I did not anticipate that my ideas would require this many tools to support it. However I think that in order to do some serious audio production work on your computer, this is actually the minimum of applications that you require. There may be more, and I am very curious to hear from you if there is Open Source Software not on the above list, which you think is invaluable to your work as a musician or music producer and should be added here.

The ‘big boy’ in this collection, and the center of any DAW activities on Linux, is Ardour.

Ardour DAW

This is a complex program, but luckily the developers have an extensive manual online. And if you search on Youtube you will find a lot of videos on how to work in Ardour (most of them for older versions and most of them too obscure or too rambling to be educational). However, an Ardour channel on Youtube has just been created with the intention of releasing a new series of quality instruction videos, produced by Unfa who himself has a lot of nice videos on his own channel. Like I said, I have been scratching my head a lot lately, but my hair is still there and I will make progress and understand how to use this tool efficiently… eventually.
And I am glad to finally have Audacity in my repository, something I wanted/needed for quite a while.

All these packages are available in my regular repository, with one caveat (at least for now): I have built all of them for Slackware-current (both 32bit and 64bit). If you are running Slackware 14.2 then for now you need to have a good look at Studioware instead, or you can of course download the sources for my packages and compile them yourself.
The build order is roughly like this:

  • jack2
  • alsa-plugins-jack (depends on jack2)
  • pulseaudio-jack (Depends on jack2)
  • lv2
  • vamp-plugin-sdk
  • aubio (depends on jack2, and additionally on ffmpeg on Slackware 14.2)
  • liblo
  • ladspa_sdk
  • liblrdf (depends on ladspa_sdk)
  • rubberband (depends on ladspa_sdk and vamp-plugin-sdk)
  • serd
  • sord (depends on serd)
  • sratom (depends on lv2 and sord)
  • lilv (depends on sratom)
  • suil (depends on lv2 and qt5)
  • soundtouch
  • ardour (depends on jack2 aubio lv2 vamp-plugin-sdk liblo liblrdf lilv rubberband and suil)
  • mxml
  • ntk
  • portmidi (depends on openjre)
  • portaudio (depends on jack2)
  • zynaddsubfx (depends on jack2 liblo mxml ntk and portaudio)
  • hydrogen (depends on jack2 ladspa_sdk liblo liblrdf rubberband and qt5)
  • wxGTK3
  • soxr
  • audacity (depends on jack2 ladspa_sdk lilv soxr suil vamp-plugin-sdk and wxGTK3)
  • qjackctl (depends on jack2 portaudio and qt5)
  • calf (depends on jack2 and lv2, and for Slackware 14.2 additionally on fluidsynth)
  • avldrums.lv2 (depends on lv2)
  • helm (depends on jack2 and lv2)
  • amsynth (depends on jack2 ladspa_sdk and liblo)
  • eq10q (depends on lv2)
  • vamp-aubio-plugins (depends on aubio and vamp-plugin-sdk)
  • drumstick (depends on qt5)
  • vmpk (depends on drumstick)
  • musescore (depends on jack2 portaudio portmidi and qt5)
  • qsynth (depends on qt5)
  • lsp-plugins (depends on jack2 ladspa and lv2)
  • supercollider (depends on jack2 and qt5)
  • dssi (depends on jack2 liblo and ladspa_sdk)
  • libgig
  • liblscp
  • linuxsampler (depends on dssi libgig jack2 ladspa_sdk and lv2)
  • qsampler (depends on libgig liblscp linuxsampler and qt5)
  • libfishsound
  • capnproto
  • sonic-visualiser (depends on capnproto libfishsound liblo liblrdf portaudio rubberband serd sord and qt5)
  • zyn-fusion (depends on dssi jack2 liblo mxml and portaudio)
  • OpenBLAS
  • python-numpy (depends on OpenBLAS)
  • python-pathlib2
  • python-pyo (depends on portaudio portmidi liblo and jack2)
  • wxpython (depends on python-pathlib2 and wxGTK3)
  • cecilia5 (depends on python-numpy python-pyo and wxpython)
  • libsass
  • sassc (depends on libsass)
  • guitarix (depends on faust jack2 ladspa_sdk liblrdf lilv lv2 and sassc)
  • non-daw (depends on jack2 ladspa_sdk liblo liblrdf and ntk)
  • meterbridge
  • jack_capture (depends on jack2, liblo and meterbridge)
  • zita-alsa-pcmi
  • zita-alsa-pcmi
  • zita-ajbridge (depends on jack2 zita-alsa-pcmi and zita-resampler)
  • cadence (depends on a2jmidid jack2 jack_connect pulseaudio-jack and zita-ajbridge)
  • chromaprint
  • libmodplug
  • libmp4v2
  • faad2
  • hidapi
  • protobuf
  • qtkeychain
  • mixxx (depends on chromaprint faad2 hidapi libmodplug libmp4v2 lilv lv2 portmidi portaudio protobuf qtkeychain rubberband and vamp-plugin-sdk)
  • python-pyliblo (depends on liblo)
  • carla (depends on jack2 liblo and python-pyliblo)
  • sonic-pi (build-time dependency on erlang-otp)
  • libltc
  • zita-convolver
  • gxplugins.lv2 (depends on jack2 and lv2)
  • x42-plugins (depends on jack2 liblo libltc lv2 and zita-convolver)
  • jamulus (depends on jack2)
  • rtaudio (depends on jack2)
  • rtmidi (depends on jack2)
  • muse (depends on dssi jack2 ladspa_sdk liblo liblrdf lilv lv2 rtaudio rubberband and sord)
  • qtractor (depends on aubio dssi jack2 ladspa_sdk liblo lilv lv2 rubberband suil and vamp-plugin-sdk)
  • qmidiarp (depends on jack2 liblo and lv2)
  • giada (depends on fltk jack2 and rtmidi)
  • libmicrohttpd
  • faust (depends on libmicrohttpd portaudio rtaudio and supercollider)
  • libsass
  • sassc (depends on libsass)
  • guitarix (depends on faust jack2 ladspa_sdk liblrdf lilv lv2 and sassc)
  • glfw
  • jq
  • vcvrack (depends on glfw jack2 jq rtaudio and rtmidi)
  • noise-repellent (depends on lv2)
  • dblatex
  • guile1.8
  • lilypond (depends on dblatex guile1.8 (and build-time also on fontforge))
  • rosegarden (depends on dssi jack2 ldaspa_sdk liblo liblrdf lilypond)
  • python-ly
  • python-poppler-qt5
  • python-pygame (depends on portmidi)
  • qpageview
  • frescobaldi (depends on lilypond  python-ly  python-poppler-qt5  python-pygame qpageview)
  • libsmf
  • drumgizmo (depends on jack2, libsmf, lv2, zita-resampler)
  • dgedit
  • jack-example-tools (depends on jack2 zita-alsa-pcmi zita-resampler)
  • surge-xt (depends on jack2 and lv2)

I hope to get some interesting feedback from you. I am also considering how all of this could be added to a function-focused liveslak variant, as small as possible so it may load completely into memory. Actually I would prefer to attempt such a Live ISO using a bare Plasma5, rather than XFCE or other light-weight desktop environments (everybody else is probably already using XFCE). The Plasma5 desktop framework is very powerful and fast, and it could benefit the user of a DAW if everything she plugs in just works.
Update 29-jun-2020:
I wrote an article on configuring your Slackware system for using it as a DAW, and also in that article I am presenting a new liveslak variant “DAW” which will generate an ISO of 2.7 GB in size which runs out of the box as a fully configured Slackware Plasma5 based DAW: https://alien.slackbook.org/blog/configuring-slackware-for-use-as-a-daw/

Easy installation

If you use the slackpkg+ extension for slackpkg to manage packages from 3rd-party repositories, then installing all these packages (or refreshing the collection after I add packages) becomes very easy. Slackpkg has a powerful feature called templates, and with slackpkg+ added, it is possible to create a template containing multiple packages from one or more repositories.
For my DAW package set I created a template and host it here:  http://www.slackware.com/~alien/tools/templates/ with the name “daw.template”. Download this daw.template file and copy it into your local /etc/slackpkg/templates/ directory. Then, run:

# slackpkg install-template daw

…and slackpkg will prompt you with a list of all the packages from this template that you have not yet installed. For better readability in the example below I use the parameter “-dialog=off” so that the program outputs to the standard output instead of showing a ncurses dialog window:

# slackpkg -dialog=off install-template daw

NOTICE: pkglist is older than 24h; you are encouraged to re-run 'slackpkg update'
Looking for packages in "daw" template to install. Please wait...DONE
[ Repository ]              [ Package ]
  alienbob                    cecilia5-5.4.0-x86_64-1alien.tgz

Total package(s): 1
Do you wish to install-template selected packages (Y/n)?

In that sense, the “slackpkg install-template <templatename>” works similarly to the “slackpkg install <repositoryname>” command: it will install any package that is not already present on your computer.
After a “slackpkg install-template” action, you can fall back to your regular “slackpkg update && slackpkg install-new && slackpkg upgrade-all” routine of daily package management. You would have to run “slackpkg install-template daw” only after you read in my blog that I added a package, or if you had not yet installed the complete set and need (some of) the remaining packages.

Ideas? Enjoy! Eric

 

148 Comments

  1. Paulo

    Thank you very much 🙂 I will try all these packages in the Plasma5 partition. I run Audacity for record ideas (bass and guitar) and quick edits and for midi I run VMPK with QSynth controlling fluydsynth. I’m looking for a USB (piano)keyboard to have a real keyboard to play. Which bass do you have in your attic?

  2. tim

    Musescore is great for composing for any instrument, and it will play what you have written (using fluidsynth), and export to midi and other formats as well. I believe it also allows you to input via midi keyboard, but as I only have non-digital keyboards I haven’t tested that.

  3. Mark Pettit

    Very nice work. Being a late starter myself to the music world (started tenor saxophone at age 49 – 8 years back) I fully understand your points. I would add to the list of software needed the following : musescore (create/edit sheet music), and a difficult to find program called Audiveris, which is a Optical Music Recognizer – it converts scanned music into a format that musescore (or frescobaldi) can read.

  4. dogma

    One piece of software I highly recommend adding in is the Non software suite, at minimum non-session-manager. It can make restoring a complicated session much easier. An absolute life saver.

  5. Jen

    Maybe I’m kind of old school, but for what I do, audacity, csound, puredata, and LISP is enough. I use LISP to write csound using John Rahn’s LISP kernel. I’ve been learning puredata recently because I really do need to learn a language for real time synthesis. Turning off pulse is necessary, although it doesn’t interfere if jack is running. (I keep it from running all the time, anyway, although I haven’t bothered to uninstall it.)

    I haven’t done much with jack, aside from video game streaming. It’s come a very, very long way from the early 2000’s. 🙂

    Real time synthesis and audio production always needed a low latency kernel, although I don’t know if that’s as necessary anymore? I haven’t needed to compile a kernel in the last few years. I don’t think the default kernel for Slackware has low latency enabled, but it wouldn’t surprise me if it does.

    If you’re looking for books, Dodge & Jerse’s Computer Music: Synthesis is good, if a bit dated, for the basics. I started with csound, moved to Common Music, and got tired of some of the things hard-coded into Common Music. I moved to Common LISP music, which I like a lot better, but they moved to 2.0, which changed everything. Rather than retool code, I moved back to Csound. I should probably learn supercollider in the future, too. (Supercollider and puredata or MAX/MSP are the languages people use for real time synthesis. MAX/MSP is extremely popular, but it’s also extremely expensive, and doesn’t run on Linux.) The one thing I like about John Rahn’s LISP kernel is that it’s designed to be run with the trial version of ACL. (Common LISP music does require ACL. I’ve never gotten it to build with just clisp.)

    I haven’t done much with ardour or sequencing, because it’s generally not something I need. (It’s more of a DJ thing. Don’t get me wrong, I love a lot of electronic music, think Aphex Twin and NIN should be taught in music schools, but the music I write is different.)

    If I’m not doing a lot of editing and just need to see a spectral analysis of something, I’ll use snd rather than audacity. (Mostly out of habit.)

    If a lot of this feels low-resource and lightweight, it’s because all through grad school, I was working with shitty gear and computers I’d Frankensteined from garbage-picked parts. (I couldn’t afford better.) My dissertation/thesis pieces were written on a Core 2 Duo with a soundblaster. I’d have to let csound render all night, then edit during the day. My current computer was the first completely new computer I”d owned. It’s getting a bit long in the tooth. I have a Delta 1010LT, which is awesome, and I’m a bit sad that they discontinued it.

    Feel free to hit me up anytime!

  6. Jen

    Oh right, if I’m doing analog music, I use lilypond and Frescobaldi. (along with timidty) lilypond is gorgeous.

  7. chrisretusn

    A very interesting read. I played the clarinet in junior and senior high school. After graduation I sort of let it go.

  8. Antoine

    I was also surprised not to see a mention of lilypond.

  9. Deny Dias

    Eric, I have nothing to add to your list but the happiness to see you jumping on this bandwagon.

    Fun fact: while reading I thought “hum, Jen will like this.” Here she is. 😛

  10. alienbob

    I had not considered Lilypond or Musescore, because I was not concentrating on music notation. I quickly looked at both sets of requirements, and Musescore requires a bit more that I do not yet have.
    What are the pros and cons of both? Lilypond is a dependency of Rosegarden, what about that then?

  11. Jen

    I use lilypond because it’s based upon engraving standards. Plus, it’s close to the syntax of LaTeX, which I was using for papers at the time. (You can embed lilypond within LaTeX, which is nice, if you’re doing academic writing.)

    The downside to lilypond over something like Finale or Sibelius is that you don’t automatically hear what you’re doing, unless you’re using a program like Frescobaldi. In the beginning, before you get good at score reading, it can be helpful to hear what something sounds like. Finale is industry standard, but its output sucks.

    I’ve never used Musecore, so I’m not sure what it’s like, or if it has any advantages over lilypond.

    Here’s where I put in a plug for Kurt Stone’s book “Music Notation in the 20th Century,” if you’re interested in the ins and outs of music notation and standards. I studied with Arthur Jarvinen, and picked up the basics of music transcription from him, with tech pens and vellum. Like, if you look at any Elliott Carter score, it’s done by hand in that style–it’s essentially drafting, but music. It’s fun, but I’m not good or fast enough to write my scores by hand. Lilypond is the closest to that standard. I don’t write modernist music, but I do use some conventions of it, since they’re much easier to sight read. (Like beaming over rests, for instance.)

  12. Aleksandar

    Dear Alien, great text! Thank you very much!

  13. Mark Pettit

    Comparing Lilypond to Musescore is like comparing ‘vi’ to LibreOffice 🙂 Both brilliant for their respective audiences. Musescore handles mxml (the music scoring open standard), whereas Lilypond has its own format.

  14. Lawrence

    First, many thank-you’s for the slackbuilds and packages and liveslack–they have all been greatly useful to me over the last decade…(wow, has it
    really been that long?) Ah well, my primary musical interests are choral, guitar, and piano. Notation is important to me because I view music as a language, and in learning a language, it helps to hear, speak, read and write it–the more “hooks” the better for understanding. You have listed an excellent selection to begin a DAW. If he’s going to notate, to be able to hear notation played back with midi soundfonts (yes, they are still arround), I would add Fluidsynth with the Qsynth frontend, and one of the large sfx2 soundfonts, say Unison (http://www.personalcopy.com/sfarkfonts1.htm), also perhaps a sound card that has hardware synthesizer to play it, say an Audigy or equivalent (e-bay may be your friend for this), and a notation program. The version musescore-2.1.0 is the latest slackbuild for 14.2. Just lately I’ve been fighting with CMake to get the correct qt5 libs for it to compile musescore- 3.3 –it might be time to go with current for that though. Musescore does have a midi keyboard note entry feature, and its onboard synthesizer and soundfonts take care of playback. Rosegarden while quite excellent and pretty, (BTW it uses lilypond for engraving), may require some tinkering.

    Linux audio is a very interesting bandwagon to ride…I hope you enjoy the view.

  15. Zwierz

    This is an great job! Thank You Eric!

    I haven’t figured it out yet how to use jack and pulseaudio (I use MATE Desktop on Slackware64-current – it requires pusle :/) or how to force jack to use second soundcard… but well that’s becouse I left sound in linux long time ago (I remember strugles after going from oss to alsa) and haven’t dig much into it. Wich I will have to do right now 😉 (But I welcome any tips on the subject!)

  16. Mark Pettit

    Oh – and while we’re (still) on the topic of music notation, the best source of actual scores is the wikifonia.zip archive. I just did a google search for it, and it’s pretty much the first link you get – I used “wikifonia zip” as the search term. Over 6500 leadsheets available. These are all in mxml format, and thus not actually usable by Lilypond – but Musescore (and others ?) handle it perfectly. There are converters, but it’s a bit hit+miss.

  17. bigaure

    Impro-Visor is a notation program that can automatically generate accompainment and improvise over it.

    It’s written in Java and requires JRE.I

  18. I. Khider

    Hello Alien Bob.

    You may wish to consider the following:

    -Supercollider, a very powerful tool/instrument that can give any proprietary software a run for its money. Steep learning curve, but great sounds:

    https://en.wikipedia.org/wiki/SuperCollider

    One artist I interviewed made the following music from SC:
    https://simoncrab.bandcamp.com/

    Audacity
    https://www.audacityteam.org/

    Another artist I interviewed, Arovane, uses Audacity for his sound design work. He likes the algorithms to change the pitch of field sounds:

    https://arovane.bandcamp.com/

    If you want to get into Sound Design, there is Cecilia:
    http://ajaxsoundstudio.com/software/cecilia/

    Some very nice plugins that receive high praise on the Ardour IRC are Linux Studio Plugins:

    http://lsp-plug.in/?page=home

    Then there is the world of WINE, where you can install Reaper
    https://www.reaper.fm/

    Then we have the Harrison Mixbus:
    https://harrisonconsoles.com/site/mixbus.html

    and worlds of old, yet, still good software meant for earlier versions of Windows that are relagated to the audio production software graveyards, but still work on WINE. This is a huge topic…

    Electronic music producer Kim Cascone documents his transition from the cult of Mac to Linux Audio Production: http://cdm.link/2009/08/linux-music-workflow-switching-from-mac-os-x-to-ubuntu-with-kim-cascone/

    I could go on…

  19. alienbob

    Hi all,
    It’s quite refreshing to see all this new knowledge pouring into the comments section. I guess there’s a whole field of interest (music theory, music architecture, algorithmic music creation and so on) that I had never even looked at before.
    I myself come from the world of Applied Physics and ventured into IT and fell in love with Linux somewhat gradually, thanks to all the different night-time jobs during my study. But it is fascinating to see how musical artists and scholars (for lack of better words) are using Linux (and hopefully Slackware) as a tool of their own craft. The alpha and beta-oriented sciences and also hobby projects almost do not seem to have overlap… but reading your comments I will have to adjust that mind set.
    It made me think of my wife, she studied music, and never liked math or physics, until one lesson the teacher explained how scales can be mathematically described and how chords get to sound nice because of wavelength matches. She then felt sorry for not having had more interest in Math while in secondary school

    Anyway, thanks already for all the new pieces of software that have been mentioned so far. Perhaps some of it is a bridge too far for me at this point, but I can at least say confidently that there’s a lot to be learnt yet.

    In any case QSynth, the LSP plugins and either Musescore or Lilypond are on my shortlist now. Fluidsynth is already part of Slackware-current.
    And supercollider is one heck of a fascinating project. Khider, you mention Simon Crab in your post, and I have listened a lot to Bourbonese Qualk when I was younger. Good music for when you need to study and tune out your fellow flatmates.

  20. I. Khider

    http://www.furious.com/perfect/simoncrab.html

    ; – )

  21. Marcus_777

    For those who love trackers, try Sunvox.
    http://www.warmplace.ru/soft/sunvox/

  22. alienbob

    Marcus_777, yeah but again – Sunvox is not Open Source.
    I come from an age where “freeware” was how you got software you did not have to pay for, or “shareware” where you got limited functionality for free. All that software is now dead and forgotten as it won’t run on modern OS’es except in emulators. Only that software that got its source code opened up, survived.
    It is the only way to move this world forward: create something, then let others build and improve on top of your work.

  23. James (enorbet)

    My 72 years has always revolved around Music and Technology. I made my living at it. With respect to digital audio I spent over $1000.00 USD on Magix Sequoia DAW back in Windows NT days and produced lots of recordings that have pleased many, including myself.

    When I first started using Linux I sought a workable DAW and when Ardour first became available from the genius of Paul Davis (who also created Jack, LADSPA, and LV2) he was so focused that it was literally Pre-Alpha. It didn’t even have installation instructions but I installed and worked with it. It was at first a bit crude and had none of the polish and simplicity, let alone features, of Sequoia, but in the last 4-5 years it has pretty much caught up. The biggest obstacle for a long time was plugins as some VST plugins are simply indispensable. Many VST plugins now work just fine in Linux.

    I am a bit worried about the intrusiveness and exclusivity that Pulseaudio threatens but it has given me considerable hope to see such an interest here in Eric’s blog.

    Welcome to the world of digital Music Alien Bob!… and as always, thank you so much for all your hard work, sacrifice and dedication, not to mention expertise. You are a real treasure, a gentleman, a scholar and likely a fine judge of good whiskey 😉 Salut!.

  24. Jen

    Heh, the math involved is one reason why I prefer just intonation to 12-tone equal temperament. ;^)

    I wouldn’t consider myself a mathematically-oriented person, but a lot of what I do involves mathy stuff. (LISP, spectral analysis, FFT’s, psychoacoustics.)

    I’m coming from acoustic composition, though, and actually got my start doing jazz composition. I took a computer music class in grad school, figuring that I’d have to know the basics, if I ever got a student who was interested in such things. Needless to say, it stuck. 🙂 Most who do computer music have backgrounds in computer science and physics.

    At some point, though, writing music is about manipulation of pitch, time, and timbre. I think that’s why I really love Jonathan Harvey’s pieces–he’s thinking about the computer the way a person would a group of acoustic musicians. Paul Lansky, too. Diane Thome writes absolutely gorgeous music, and so does Juan Pampin.

  25. Marcus_777

    Parts of sunvox were OS through version 1.3b http://www.warmplace.ru/forum/viewtopic.php?t=4303
    Maybe in the future. Everything depends on Alex decision.
    I came from the same age. I was very active on the Amiga music scene. Ultimate sound tracker(commercial) or Nois tracker(shareware). Later on DOS Scream tracker, Fast tracker and Impulse tracker. Yea Golden age of tracker music.
    Full open source tracker, which I use on Slackware is Milky Tracker https://milkytracker.titandemo.org/

  26. KG Hammarlund

    i’m another MuseScore advocate, although I can understand and accept if you find it too cumbersome to compile a package after your standards.
    The existing SBo script is outdated (version 2.1.0 although the latest version is 3.0.4). My solution has been to simply repacking the ArchLinux .pkg.tar.xz package.

  27. Gerald Morris

    I’ve built Ardour and got it running on some Slack stations I set up for a couple musicians about 9 yrs ago. Its an EXCELLENT app, yes, with MANY dependencies, but well worth the trouble.

  28. Bob Funk

    Eric, it is nice to see that you’re venturing into the Linux audio production world! I am all too familiar with that large list of dependencies and programs to get a usable audio production system on Slackware. I was running the same software on my system a couple years ago. Unfortunately I got tired of maintaining and recompiling an ever growing list of software whenever slackware-current changed shared libraries so I switched to dual booting KXstudio for the ease of a complete system. However, if they’re now in your repository I’ll have to try switching back to pure slackware 🙂

    One of the biggest issues with audio production on Linux hunting down and installing decent audio plugins. Glad to see you put Calf Studio on the list as the plugins are all excellent. I would also recommend the EQ10Q plugins which have nice equalizers with spectral analysis built in (http://eq10q.sourceforge.net/).

    Zynaddsubfx is a powerful synth, but I would recommend going to Zyn-Fusion which is Mark McCurry’s rewrite of the clunky UI into a more streamlined version. He asks for $55 USD on the website but he has also made the source freely available to build on his github (https://github.com/zynaddsubfx/zyn-fusion-build). I had no trouble building it on slackware-current, although it’s been about a year since I’ve tried.

    Ardour is my go to DAW. The learning curve is steep but the capabilities are better than LMMS. I record music using my Focusrite Scarlett 18i8 interface with guitars, microphones, and a MIDI keyboard controller. Ardour is nice in its ability to seamlessly mix real instrument recordings with software instruments. I haven’t used Non very much but once I figured out the basics of ardour there wasn’t any need for another DAW. Unfa’s videos are good for learning the ins and outs but there is quite a lot of content to go through. Following along with some of his tutorials have definitely helped me learn ardour and zyn-fusion/zynaddsubfx.

    One other recommendation: I use headphones as monitors, plugged into my scarlett interface which is run via Jack’s backend. Occasionally i like to play mp3 tracks over the headphones but I find that not many audio players are jack aware. XMMS-jack plugin (https://slackbuilds.org/repository/14.2/audio/xmms-jack/?search=xmms-jack) is nice to quickly open a track and have play into the jack server which can route to my headphones.

    I will be watching this development with great interest!

  29. Regnad Kcin

    Quoteworthy:

    It is the only way to move this world forward: create something, then let others build and improve on top of your work.

    – Eric (“Alien Bob”) Hameleers

  30. alienbob

    Hi Bob Funk, I had already added a eq10q package from the beginning. I also looked at zyn-fusion but to me it looked a work-in-progress and no clean way to build a package for it.
    Please try my packages if you have time, I would appreciate any feedback. There’s likely room for improvement in how I built them.

  31. alienbob

    In the meantime, I created 64bit test packages for portaudio, portmidi, musescore (3.0.5 was just released hours ago), lsp-plugins and qsynth.
    Musescore looks very nice, but I think I am also going to try building lilypond and rosegarden this weekend.

    My current issue with qsynth is that on startup it shows the error “Failed to create the audio driver (jack)”. I confess that I am not sure in what order and with what configurations I need to run qsynth, and qjackctl. Your thoughts are welcome.

  32. Bob Funk

    Sorry I missed the eq10q in the list above, I should have read more carefully.

    I have downloaded and installed the audio packages today and will start testing things out.

    One thing that I have noticed after firing up ardour in a jack session is that the zynaddsubfx plugin gui is broken and only shows minimal controls when opened from inside ardour (add a zynaddsubfx MIDI track in ardour, then open the gui interface by double clicking the zynaddsubfx instrument in the mixer window to see this). If you run zynaddsubfx as a standalone program connected to jack there is a working gui there, but it will be cumbersome to work this way when using multiple instances/tracks with zyn.

    After some internet research I installed the ntk package (Non GUI toolkit) from slackbuilds.org, then edited and rebuilt your zynaddsubfx.Slackbuild with -DGuiModule=ntk instead of fltk and now the gui is working in both plugin and standalone mode.

    I also tried out qsynth and got the same error as you. It seems that qsynth is using the official slackware package for fluidsynth which wasn’t built with jack support. I rebuilt the fluidsynth package from the slackware.com source after jack was installed and now qsynth works properly.

    If you’re using jack/qjackctl then going into qsynth’s setup and changing the midi driver to jack will make the midi connection available in qjackctl. Also you can change the audio sample rate from 44.1k to 48k to match qjackctl’s setting and avoid resampling.

    I’ll continue using the software and let you know of anything else I find.

  33. alienbob

    Hi Bob,
    Thanks for your valuable feedback.
    I will probably have to add a recompiled fluidsynth package to my own repository to make qsynth work properly with Jack. And I will add ntk and recompile zynaddsubfx soon; pity that the fltk GUI is not working in plugin mode.

  34. alienbob

    I have uploaded several packages so far. I want to do my own version of fluidsynth later this weekend, but already available are:
    A recompiled zynaddsubfx using a new ntk package;
    Musescore plus the dependencies I did not yet have (portaudio and portmidi);
    Qsynth and lsp-plugins;
    And supercollider.
    Enjoy! I will also update the main article with these new packages.

  35. KG Hammarlund

    Hi Eric,
    I notice that jack2 is a listed depenency for your portaudio package and this package in turn has celt and opus as listed dependencies. celt is not found in your repo.
    I had an older version of portaudio installed, built with the SBo script which has jack only as optional dependency. The latest portaudio verson also builds fine with the SBo script without jack2.
    But I also notice that jack2 is a dependency for a lot of your new music production packages. Maybe, when you can find the time, a celt package could be added to your repo? Even if it builds easily with the SBo script.

  36. alienbob

    Hi KG Hammarlund,

    Yeah apparently I have not cleaned up the dependency list properly. CELT has been merged into the OPUS codec, so it is not longer needed as a separate package in Slackware-current.
    Opus also obsoletes vorbis and speex by the way, for newly written applications the choice would be to use only libopus.

    About JACK as an optional versus mandatory dependency: SBo caters to a lot of different wishes and can do so because it only distributes source SlackBuilds. When you build the actual package, you have to make that choice of using that optional dependency.
    In creating the set of audio-related packages I decided to make JACK a hard dependency, because some of the applications require it anyway,

  37. KG Hammarlund

    Thanks for the clarification!

  38. Bob Funk

    Thanks for the new software Eric!

    One piece of software I forgot to mention that would make an excellent addition to this list is the guitarix amplifier software and its plugins (https://sourceforge.net/projects/guitarix/). Basically takes an electric guitar jack from my interface and provides excellent simulation of numerous guitar amp stacks and effects. Great for plugging in the headphones and noodling around on a guitar without annoying all your family and neighbours. The guitarix plugins are also useful in ardour with other instrument tracks.

  39. Bob Funk

    I should also mention that over the last few days I’ve been poking around the zyn-fusion build scripts trying to see how it works. I know you had dismissed it as being difficult to cleanly package but I missed using zyn-fusion in my daw workflow so I decided to give it a try. I’d like to share my findings with you.

    It seems that zyn-fusion is essentially the same build as with the zynaddsubfx source code that you have, with the added dependency of mruby-zest, which is Mark McCurry’s gui engine for zyn-fusion (https://github.com/mruby-zest/mruby-zest-build).

    I’ve edited your slackbuild file so that it downloads and builds mruby-zest prior to zynaddsubfx. Then zynaddsubfx is compiled with -DGuiModule=zest option. There’s also a few added steps of copying the zyn-fusion/zest binaries, libraries, and docs to the relevant output package directories. The end result is a working zynaddsubfx package with the zyn-fusion gui instead of the older ntk version.

    Now I have only been using slackware full time for the last three years so my experience with package building is minimal. I would appreciate it if you could look over my slackbuild script modifications and see if the steps I’ve taken would be considered a clean way to build and package this. I will put a pastebin link here with the code if you’re interested (https://pastebin.com/fE91NPF1)

    Note that if you run the modified slackbuild script that the Makefile for mruby-zest will download and make another dependency libuv before building zest. Not sure if that’s ideal but I didn’t want to modify anything in the source code.

    Regards,

    Bob

  40. alienbob

    Hi Bob,
    Guitarix would require yet another slew of dependencies. I am not yet prepared to do all that, after creating almost 40 packages last week.

    I think I know a way to package zyn-fusion without on-the-fly downloads during the build. But that may have to wait a bit since the work on the previous packages ate too much of my free time and other private stuff is overdue. New KDE Plasma5 packages are higher on the priority list now.

  41. Bob Funk

    No worries Eric, I was only adding to the discussion of “nice to have” things in this new audio software stack, not trying to load you up with more work. I know how much time is required in setting up all this software, never mind the other packages you maintain, plus balancing work and family on top of it all. Your work is much appreciated!

  42. alienbob

    Bob, I assume that these packages will eventually show up in my repository, once my curiosity is piqued.
    However, I am scratching my head over a somewhat shorter-term goal, which is to keep Slackware’s sound going even after starting jackd.
    What I would like is to feed ALSA and Pulseaudio into JACK. As far as I can seem Cadence is the best (easiest to setup) option for that. It needs a couple of other packages (again) to build, so it’s in “study phase” at the moment. But how do people make JACK the primary sound server, with ALSA and Pulseaudio plugging into the JACK backend if not with some management tool like Cadence? Custom scripts? Or …?

  43. Marcus_777

    … or use two different sound cards. as I and musicians around me. External USB card for recording and audio monitoring connected to JACK. Build in audio codec with PulseAudio for all desktop application. Or suspend PulseAudio while JACK is running, if you have only one sound card.

  44. Bob Funk

    As far as audio connections are concerned pulseaudio has the capability to connect to jack with its built in modules “module-jack-source” and “module-jack-sink”. Unfortunately this is another issue with using the slackware official package for pulseaudio which is not compiled with jack support (it would be nice if jack was in the official stream to fix some of these packages 🙂 )

    If you grab the sourcecode for the build from slackware.com and rebuild it with jack present on the system then these modules become available. You will have to execute the commands “pactl load-module module-jack-source” and “pactl load-module module-jack-sink”, which then provide stereo input and output connections in qjackctl.

    To take it one step further you can open Setup>>Options in qjackctl and execute “pactl load-module module-jack-source && pactl load-module module-jack-sink” on startup and if you wish “pactl unload-module module-jack-source && pactl unload-module module-jack-sink” on shutdown to automate providing the connections in qjack.

    However, when you open a new application during a qjack session to play audio (e.g. firefox or mplayer), the connections are not persistent between sessions. If audio isn’t playing then open pavucontrol (pulse audio volume control) and manually set the application to output to the jack-sink module.

    Now MIDI on the other hand is a separate problem it seems. I would like to be able to bridge from alsa midi to jack midi. I run jack with my focusrite scarlett as the sound device. My MIDI keyboard connected to usb so that routes to alsa midi. The connections cant be made in qjackctl with out some additional software like a2jmidid (https://libremusicproduction.com/tools/a2jmidid) , which i cant seem to build at the moment. Of course I should just buy a proper MIDI cable and connect to the focusrite scarlett to the preferred device but I know its possible with software to bridge the midi connections.

  45. Bob Funk

    Regarding the persistence of pulse audio connections: you can also issue “pactl set-default-sink jack_out” after loading the modules to have programs default to connecting to jack. Use “pacmd list-sinks” to view other available audio sinks as well. I should have checked the man page earlier

  46. Lockywolf

    I wonder, what was the motivation behind choosing pulseaudio as a default sound server in Linux?

    I don’t mean that we should live with bare alsa, although with dmix it can satisfy, I believe, the demands of 90% users, but we had had JACK for ages before pulseaudio was even consieved, and I never had any problems with JACK.

  47. Fonz

    A rather different approach to create electronic music is tidal, where music is \”programmed\”.
    https://tidalcycles.org/index.php/Welcome
    The page has an interesting \”live coding\” video.

  48. alienbob

    Lockywolf, read the Slackware 14.2 ChangeLog.txt entry please, timestamped “Wed Jan 13 00:01:23 UTC 2016”.

  49. alienbob

    Hi Fonz, I already added supercollider to the package mix last week. Also, Sonic Pi is a nice contender in this area.

  50. Bob Funk

    I noticed you packaged up the pulseaudio plugins for jack. Definitely a better solution than rebuilding the entire program, thanks!

    Any chance you could look at adding a2jmidid (alsa to jack midi daemon) when you have time? I can’t seem to get its waf build script to work on slackware64-current. It would be nice to be able to connect midi devices using alsa into programs using jack.

  51. alienbob

    Hi Bob

    I am currently fighting with 32bit Chromium (which no longer builds) so that’s eating the CPU cycles on the build box these days, but I quickly put together a a2jmidid.SlackBuild and had no problems compiling a package.
    I’ll re-do it properly this weekend and also build a 32bit -current package for it.

  52. Jen

    So I asked a friend of mine from my Ph.D days who is involved in the supercollider community, and he said I should bug report the compile error I was getting. He thinks it’s an issue with cmake. (Error here: https://pastebin.com/Q0N9kCkG)

    Your repository is for current only? Honestly, I’m not sure I’d use supercollider enough to make it worth your time to build another package for 14.2. It’s kind of a pain to compile.

    One thing going for puredata is that it compiles easily, you start it up, and it runs. It’s weird arranging boxes and lines–it doesn’t feel like programming, but it’s definitely a language. (It’s also cheaper and under the GPL, unlike MAX/MSP…)

  53. alienbob

    Jen, with some modifications to my supercollider script I could build a package on Slackware64-14.2.
    Basically I needed to:
    – change the script to *not* use the too old system boost libraries. I guess your script already uses the internal copy of boost shipped with the supercollider source.
    – add cmake definitions to add “-lncurses” to the linker flags. Like this:
    -DCMAKE_SHARED_LINKER_FLAGS=”-lncurses”
    -DCMAKE_SHARED_LINKER_FLAGS_RELEASE=”-lncurses”

  54. Jen

    OK, thanks! I’ll try the changes and see how it goes. I probably won’t get to it until the weekend, though.

  55. Marcus_777

    Offtopic – Eric, do you know, who maintain Audacious package for Slackware? Audacious-plugins is build without libcue, than Audacious cannot parse cue files. I was trying contact Pat several times. Without any results. I was trying “Requests for current” on linuxquestion, again any results. I believe that this extension would be welcomed by a lot of users with extensive flac collection. I must rebuild audacious-plugins against libcue with every audacious update in current.

  56. alienbob

    Audacious is part of Slackware, and Pat maintains that package.
    Lots of requests are being made in that LQ thread, some are simply not honored, while others may get overlooked. And libcue is not part of Slackware yet.

  57. lleroy

    I’d recommend to consider LMMS and Pure Data

  58. Oberoid

    Ahoy Alien Bob,
    Super! I was looking for a replacement my ubuntu studio setup at school. Just benchmarked slackware 32B KDE against lubuntu. To my surprise I could watch youtube vids on my 2005 laptop with 1 gig ram. Use these laptops for Teeworlds lanparty at thursday and friday. Now I understand why kde full install is advised over XFCE. (actually lubuntu is also migrating to qt)
    Kids at my technology class use lmms. On the LMMS site I found an interesting link.”sbopkg -i fltk -i lmms” I did not know sbopkg. I’m hesitant to use it though. Lmms does not seem to have much dependencies anywat.
    Just re-entering the slackworld. Grts

  59. Michael Niemeck

    Welcome to the incredible world of music!
    I’ve been making music essentially my entire life (mostly classical though), and I earn the money I need for lessons and new gear by writing computer software. Also, I’ve been hooked on Slackware since the floppy-disk-days, so I can totally relate to your approach.
    I have at least tested almost all applications mentioned so far over the years, but I have to admit, as I grow older, and the time I am willing to spend in front of a screen diminishes, I now try to live with as few programs as possible.
    So, for what it’s worth, here’s my personal shortlist
    * Ardour (given that recent versions ship with a reasonable set of effect plugins and have limited functionality even without JACK, I usually go without third-party plugins an sometimes just with plain ALSA)
    * Lilypond (If your music is supposed to be read by actual musicians, and you are not a trained engraver, there’s really no alternative in my opinion. And if you are used to working with LaTeX you’ll feel right at home, even without any GUI)
    * Fluidsynth (For whenever I’m too lazy to drag a real instrument in front of my computer. Sounds reasonably well, and as an added benefit can play MIDI files directly from the command line. Needs at least one Soundfont.)
    * Sonic Visualiser (At the bottom of my short shortlist. I don’t use it often, and I’m nowhere near using all of it’s features, but if you’ve ever tried to transcribe a recording using a normal media player, you’ll appreciate it nevertheless. Needs some VAMP plugins to be of any use at all)
    Please note that implies in no way any judgement on any of the other software packages mentioned in this thread. It’s just my list of things I typicall install right after Slackware when I set up a new machine for myself…

  60. Oberoid

    Hi Alien Bob,
    I had a problem with k3b when trying to rip a copy protected dvd. I tried for more than an hour to get things working. Normally I do not mind tweaking on programs, even for days. But I realized in the process that I had the same experience more than 15 years ago with KDE. Now I could start up OpenSuse and look how how their system is build around KDE. But i felt that KDE was distracting me from understanding the basics of the system. I remembered I kept the hard copy slackbook. Mostly the descriptions in that book are still valid – Slack is still systemd free. So what iI end up doing was making Slack slim again. Even found out that you could do without another “novelty” – dbus. Now setting up studio setup without qt, systemd and dbus is probably quiet a challenge. However with the help of slackbuilds scripts, the compiler warnings give an excellent indication what dependencies are needed. So I’m in the process of moving away from the desktop and to embedded (raspberry) slackware. Grts. F.P.

    • oberoid

      A comment on the dvdrive not working on KDE. That was caused by a broken drive and had nothing to do with KDE. That happens when you bring 10 year old trashed can computers back to live. Still going strong on migrating from the debian discourse to slackware. As is proven by Alien Bob – nothing beats a “one man distro”. Not meaning that one man has to do all the work…but that the inner workings of the distro can be understood by one indivivual. Actually, that encourages me to do a Slackware from Scratch install. And the minimal install template of A.B. Watching two astronauts returning safely from iss to mother earth on YTUBE, I think that a soyouz capsule is also a one human spacecraft. That one person can land the craft on its own. Interesting distro design constraint – one person can understand everything. And all the other stuff you compile for your own risk.

  61. Oberoid

    Just a thumbs up for your instructions for
    https://wiki.alienbase.nl/doku.php?id=slackware:network
    What has that to do with music? Want to master my slackbox as a musical instrument. And
    Sonic Pi or Super Collider via OSC
    https://sonic-pi.net/tutorial.html#section-12

  62. Hank

    Have you looked at VCVRack? (https://vcvrack.com/)
    I built the sources from https://github.com/VCVRack and the open-source modules in KDE5. Everything works as advertised. There’s a MIDI interface for your keyboard….

  63. alienbob

    Hi Hank, Thanks for that link. Never heard of VCV before but I will check it out. Initially I was afraid that this would be a free basic program with paid-for functionality, but after looking better I see that most of the plugins are free to use.

  64. Henry Pfeil

    I put some scripts I had laying around onto
    http://psnarf.org/pub/rack.tgz
    Git clone and build the base rack, git clone and build the open-source modules from Community. You can create a fully-loaded modular synthesizer. Use patch cables to connect them and make a lot of sounds.
    Instructions to get started:

    Had fun making space noises with one oscillator fed back into itself. then finding sweet spots using the frequency control.

  65. KG Hammarlund

    I noticed that a new stable version of musescore (3.1) was released yesterday and tried building it using your buildscript with the new version number.
    Inconsistent use of version numbers on github.com/musescore was a minor obstacle (URL as per today is https://github.com/musescore/MuseScore/releases/download/v3.1/MuseScore-3.1.0.zip)
    After finding the .zip file, the package built without error messages, but I couldn’t run it and discovered that the built package didn’t contain a /bin folder.

    I don’t know how to solve this on my own, so for testing I created a 3.1 package by simply repackaging the arch binaries. It works, so I guess there shouldn’t be any dependency issues on an updated -current install with Qt5.

  66. alienbob

    Hi KG Hammarlund;

    The script just needed a little nudging to make it create a proper package: https://git.slackware.nl/asb/commit/?id=665620f15456ea28d9e9d8554339701efadb99c3
    Packages follow soon.

  67. KG Hammarlund

    Thanks a lot for the new musescore package, spotless as always!

  68. Paulo

    Hi AlienBob, thanks for those packages, I’m still installing and testing.
    Thanks for MuseScore, very good for writing music.
    If you are still accepting suggestions, there is a metronome software that
    seems to be part of drumstick packages, I don’t know if it is official or not.
    I built it without problems and it runs ok. There is another metronome
    at SBo that I usually run, GTick, but the drumstick metronome lets create
    and edit percussion and drums patterns, so play with them is better
    than a single click metronome.

  69. KG Hammarlund

    Hi Eric,
    musescore-3.2 has been released with quite a few fixes according to the release notes. Building with your build script was straightforward, new version runs as it should (haven’t tested all functions, of course). So those who can’t wait can easily build a package, and you can upgrae when you find the time for it.
    Hope your back is on the mend even if progress is slow.

  70. alienbob

    Hi KG Hammarlund,

    I have updated MuseScore to 3.2.0. Thanks for the tip.

  71. KG Hammarlund

    There seem to have been quite a few bugs in 3.2.0, three upgrades in less than two weeks,version 3.2.3 released yesterday. Lets hope it stays there for a while…

  72. alienbob

    You may have noticed that I released packages for MuseScore 3.2.3 earlier today.

  73. KG Hammarlund

    Hi Eric,
    the new libevent version affected your musescore package (missing libevent-2.1.so.6).
    Tried rebuilding using your script. Source file https://github.com/musescore/MuseScore/releases/download/v3.2/MuseScore-3.2.3.zip not found.
    URL has changed to https://github.com/musescore/MuseScore/releases/download/v3.2.3/MuseScore-3.2.3.zip
    Rebuilding right now.

  74. alienbob

    KG – I started musescore and it gave no libevent related error. Here, it wants the correct library version:

    $ ldd /usr/bin/musescore |grep event
    libevent-2.1.so.7 => /usr/lib64/libevent-2.1.so.7 (0x00007f01ef9fa000)

    Using readelf, you can see that libevent is not a direct dependency:

    $ readelf -d /usr/bin/musescore |grep NEEDED |grep libevent

    Therefore your library mismatch has to be caused by another program which is used by MuseScore, and which does still link against the older libevent.
    Perhaps you still have the older qt5 package still installed? Which reminds me, I still have to upgrade the qt5 package in my regular repository…

  75. KG Hammarlund

    Yes, I hadn’t upgraded Qt5 – since I don’t have plasma5 installed, I don’t keep tab of your ktown repo.
    First build attempt failed (incompete package). I then noticed that you’ve rebuilt Qt 5, I upgraded and build was successful, mscore runs again.
    Ah, well, no harm done, one always learn from experience.

  76. Bob Funk

    Hi Eric,

    I noticed that aubio and ardour are no longer working on slackware-current due to some shared library upgrades. I haven’t been working much on audio in the past month or two so I hadn’t caught this until now.

    I also saw that pulseaudio got an update to 13.0 in current so the pulseaudio-jack (12.2) package may need a rebuild as well.

    I know you’ve got your hands full with more popular packages like the ktown repo but I thought I’d point these out if you’re still interested in maintaining these programs.

    • alienbob

      Bob. what library errors? Ardour works fine here.

  77. Bob Funk

    Running ardour5 or aubionotes from command line reports:
    /usr/lib64/ardour5/ardour-5.12.0: error while loading shared libraries: libavcodec.so.57: cannot open shared object file: No such file or directory

    ldd on /usr/bin/aubionotes or /usr/lib64/ardour5/ardour-5.12.0 reports these missing for both:
    libavcodec.so.57 => not found
    libavformat.so.57 => not found
    libswresample.so.2 => not found
    libavutil.so.55 => not found

    And a bunch more specific to /usr/lib64/ardour5/ardour-5.12.0
    libardourcp.so => not found
    libwaveview.so.0 => not found
    libptformat.so.0 => not found
    libardour.so.3 => not found
    libmidipp.so.4 => not found
    libevoral.so.0 => not found
    libaudiographer.so.0 => not found
    libcanvas.so.0 => not found
    libwidgets.so.0 => not found
    libgtkmm2ext.so.0 => not found
    libpbd.so.4 => not found
    libtimecode.so => not found

    I’m going to re-download these packages from your repo and try a re-install. Maybe I borked something…

  78. alienbob

    OK I think I kept my own ffmpeg there instead of upgrading to Slackware’s less featurefull version.
    I’ll rebuild ardour and aubio.

    • alienbob

      Actually, this ardour/aubio issue can also be fixed by installing my “ffmpeg3-compat” package which I created when Slackware’s ffmpeg got a major version bump from 3 to 4.

      • Bob Funk

        I just tested it out and ffmpeg3-compat package does indeed fix this issue.

        I thought I was using your ffmpeg package but it seems that my last upgrade on current overwrote those libraries with newer versions.

        Anyhow its all cleaned up and working with slackware-current’s ffmpeg and your compat package.

  79. alienbob

    No more need for ffmpeg3-compat here. I have rebuilt ardour and aubio against ffmpeg4.
    I also took advantage of the opportunity and upgraded supercollider.

    The packages have been uploaded to my repository.

  80. Bob Funk

    That was quick! I have cleaned out the compat package and ran upgradepkg for those three packages. Everything is working perfectly now.

    Your work is very much appreciated

  81. KG Hammarlund

    Hi Eric,
    musescore 3.3.0 was released a few days ago and builds fine on -current with your buildscript. Quite a few changes/improvements so maybe worth putting on your repo when you find the time.

    • alienbob

      I’ll find some time this week to build a new MuseScore.

  82. andrea

    Dear Eric,

    I just wanted to drop a note to say thank you for the amazing work you did in putting together such a well thought list of packages for music production.

    My daughter recently started to play the saxophone and for her birthday we decided to give her a new laptop possibly configure as a digital audio workstation and your repository made my life far easier!

    There are just a couple of glitches, though, I would like to report:

    1. I tried running jack in the way you described a few years ago (using the alsa loopback device), but I found that the easiest way to have jack and pulseaudio (which is used by default in slackware) working together is to redirect pulseaudio to jack (see https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack#redirecting-pulseaudio-to-jack).

    That requires the pulseaudio-jack package to be in sync with pulseaudio-1.3.0 which is shipped with slackware64-current (as it was noted in a comment above). I recompiled pulseaudio-jack by myself without problems.

    2. I see that you set the /usr/bin/jackd capabilities. As far as I can understand, starting jack with jack_control will launch /usr/bin/jackdbus if dbus is running (as it happens if you do it from .xprofile). So the slakcbuild should probably set the capabilities of /usr/bin/jackdbus too.

    If I may add a suggestion I think that linuxsampler would be a nice addition to your tool-chain. I found nice free sample libraries (the Salamander Grand Piano, the Sonatina Symphonic Orchestra — with nice strings –, and the Flame Studio samples just to name a few) and it plays nicely with jack and the rest (it is also possible to run it as an ardour LV2 plugin). The results you can achieve are pretty impressive, in my opinion.

    If you start playing a virtual instrument, or if you lack a sound card with direct monitoring, latency may become an issue, though. Running jackd with real-time scheduling is not enough if you want to achieve a low latency: every jack client must be able to set the priority assigned by the jack server. Usually this can be fixed with setcap, even though with ardour this is a bit tricky.

    If you need to use pulseaudio as a jack client with real-time priority than setcap will not work, since you obviously need rtkit, which obviously relays on libsystemd. Nevertheless set_rlimits can fool pulseaudio and this is a viable workaround (I’m considering using the alsa loopback device though).

    After some experimentation I was able to have an usable system with a jack reported latency of 8msec, which is a quite good result I think.

    Again, thank you very much for your great job.

    Best,
    Andrea

    • alienbob

      Hi Andrea,

      Thanks for your elaborate post, very useful.
      I will update jack2 with the setcap suggestion you made. I will also update the alsa-plugins-jack and pulseaudio-jack packages.
      And I thought that the link you shared which describes how to redirect pulse to jack is quite interesting as well.
      About linuxsampler, I had not heard of that before. It does not seem to require much of dependencies that I don’t already have in my repository, so I will have a look soon and try to build a package.

  83. alienbob

    I addressed the topics from Andreas’ post in my latest repository update:

    +--------------------------+
    Sun Jan 19 20:59:35 UTC 2020
    Updates to the package set for music production and creation, see also:
    https://alien.slackbook.org/blog/explorations-into-the-world-of-electronic-music-production
    Note that these packages are for slackware-current only.
    alsa-plugins-jack: updated to 1.2.1.
    dssi: added v1.1.1 - an API for audio processing plugins.
    jack2: updated to 1.9.14. It looks like SlackBuilds.org is going to change the
    package name from 'jack2' to 'jack' so I may have to revert my own earlier
    package rename to stay aligned with SBo. Will let you know.
    libgig: added v4.2.0 - a library for loading, modifying and creating
    gigasampler files.
    liblscp: added v0.6.0 - the LinuxSampler Control Protocol library.
    linuxsampler: added v2.1.1 - a pure software audio sampler engine.
    Depends on dssi, libgig, jack2, ladspa_sdk, lv2.
    pulseaudio-jack: updated to 13.0 to stay in sync with the pulseaudio version
    in Slackware-current.
    qsampler: added v0.6.1 - a LinuxSampler Qt5-based user interface.
    Depends on libgig, liblscp, linuxsampler, qt5.

  84. Jen

    Is jack2 somewhere else? http://www.slackware.com/~alien/slackbuilds/jack2/pkg64/current/ I’m seeing only 1.9.12? Not a huge deal to upgrade it, myself, but I didn’t know if I were looking in the wrong place.

    • alienbob

      No, you are looking at the right place… I merely forgot to upload the new packages for jack2, alsa-plugins-jack and pulseaudio-jack.
      Will do that soon, the repository metadata is being re-generated now.

    • Jen

      No worries! 🙂

  85. KG Hammarlund

    Thanks for the recent upgrades!
    New versions of musescore have been released in rapid succession: 3.4.0 (Jan 24) and 3.4.1 (Jan 25). Bulds fine with your buildscript. It might make sense to wait for a few days and see if there will be version 3.4.2 as well.

    • alienbob

      I’ll wait for a bit 🙂

  86. alienbob

    Last friday I added some audio related packages to my repository, notably ‘sonic-visualiser’ and its new dependencies. I will also update the main article with this info:

    libfishsound: added v1.0.0 - a programming interface to Xiph audio codecs.
    capnproto; added v0.7.0 - a serialization/RPC system.
    sonic-visualiser: added v4.0.1 - an audio file visualiser.
    Depends on capnproto, libfishsound, liblo, liblrdf, portaudio, rubberband, serd, sord and qt5.
    zyn-fusion: added v3.0.5 - this is the zynaddsubfx realtime synthesizer, but now with a new GUI based on ruby-zest.
    Install either the zynaddsubfx package (with the ntk GUI) or the zyn-fusion package (with the zest GUI) but not both.
    Depends on dssi, jack2, liblo, mxml and portaudio.

  87. Oberoid

    Hi, I installed both Ardour and Lmms on fresh slackware-current. Both did not start up. When I tried to install them on an upgraded 14.2 distro, things worked out fine. I would like to reproduce the error and post a question at Linuxquestions. But I’m new in the art of testing distro’s. I do not know what additional information I have to add to for the ‘current]’ developers. Could you give me some advice how to contribute?

    • alienbob

      For one, share actual errors. The statement “did not start up” does not help a bit.
      Also, LMMS is not even part of my package repository. Did you actually install Ardour (plus all its dependencies) from my repository? What is the output of the command “ls -lart /var/log/packages/*alien” ?
      If you want to see errors, start “ardour” from an X terminal.

      • Oberoid

        After installing the dependencies it worked. Somewhere in the process I’v forgot to do that. I think that is the price I payed after starting using sboinstall. I got sloppy. So thanks for pointing that out to me. I recently met a professional Slackware user from the dredging industry (our national pride) that was full of praise for your work. Grts.

        • alienbob

          Oberoid, you’re from the Netherlands? I visited a dredging company in 2018 because they use Slackware on their ships and we spend a good day discussing possibilities and ideas.
          Their Slackware servers run their control software of all the hardware.

          • Oberoid

            Yes, the engineer you worked with was rewarded a new electric lease car afterwards as a reward for his work. His treasured Slackwagon, a renault Megane from the zero’s, was therefore becoming obsolete and was for sale.
            As not many people understand the value of a genuine Slackcar, the Renault was acquiring a nice green patina on the hood over the weeks. Eventually his other half, a colleague of mine, offered me the Slackmobile for free. When I came by for collecting the keys and do the paperwork, I noticed a copy of the Numerical Recipes on his bookshelves. In our conversation that followed I told him I used Slackware in my technology lessons at school. To my surprise I heard that the engineer was using Slackware too and for the same reasons. Control over the state of the system and a structure that can be understood (and explained) by one person. As was equally true for the old Meganes. Grts

  88. andrea

    Hi,

    I’m back with some other suggestions, even though this time I tried to make your life easier…

    I’ve recently discovered the Non-DAW suite — dogma, above, mentioned the non-session-manager as a possibly nice addition to your collection. I think the whole collection is worth checking, and that because this is a real modular (in the old Unix sense) approach to a DAW system (and the whole compiled package is about 3Mb). I believe it fits perfectly in a Slackware system.

    But this is not the only reason for proposing such an addition. What is really astonishing, in this collection and in my opinion, is what the Non-Mixer is capable of: Ambisonics mixing (and convolution reverb, too!) with a really easy and intuitive Spazializer module, which lets you place different sound sources in a 3D acoustic space.

    Ambisonics is a full-sphere surround sound, speaker-independent format (as far as I know it has been adopted by google for their virtual reality stuff): this means that the format can be encoded/decoded for different speaker configuration: a simple 2 stereo format, a 4 speaker setup (something that can be played, for instance, with your FocusRite Scarlett 2i4 audio interface — check my quick start guide to see how), 5.1, 7.1 etc.

    It would be too long to dig into the subject, but to have an idea of what I’m talking about please have a quick look at this non-mixer spazializer demo video:

    http://youtu.be/GVm5Jd1WDWw

    The music starts at minute 3.

    This video blew me away and so I wanted to put together everything you need to replicate what Jonathan Moore Liles (the author of the Non-DAW collection and the video) could do. It was not an easy task since the documentation is terse (even though complete) and difficult to grasp for a newbie like me.

    So I created a repository of Slackware packages with the needed software and a Quick start guide to Ambisonics mixing and convolution reverb.

    The repository can be found here:

    http://www.istitutocolli.org/slack/

    There is also a README with some info about the repository and the quick start guide I was referring to:

    http://www.istitutocolli.org/slack/README

    SlackBuilds are available in each package directory, but a git repository is available too:

    git clone http://www.istitutocolli.org/slackbuilds.git

    I used your scripts as a template so if you want to grab and add them to your collection feel free to do so: hopefully only minor editing should be needed. Probably this way the packages would have a greater visibility, which I think they deserve.

    Hope you’ll enjoy.

    Best,
    andrea

    • alienbob

      Very interesting concept Andrea. I have a simple 2-way speaker setup here but I wonder what the video would do on a 5.1 speaker system.
      I’ll think about adding NON related packages. For completeness’ sake, this is the homepage URL: https://non.tuxfamily.org/

      • andrea

        Well, the video was encoded in the UHJ format, which does not support a full 5.1 system (still you could encode it back to Ambisonics — loosing vertical information — and than decode it back to a 5.1 system configuration).

        The cool part of using Ambisonics is that you can decode it directly into many different speaker configurations.

        For instance, I have a behringer UMC204HD usb sound card (which is basically the same of yours FocusRite Scarlett 2i4, with four playback channels). I used the ambdec decoder to decode the Ambisonics signals into a 4 channels output signal. I then connected 4 speakers to my sound card (2 sets of simple 2 way PC speakers[*]), and I could fully appreciate the sound surrounding effect of my mixing.

        In the README (§ 7) I explain how to do it.

        [*] I’m using this kind of very old (vintage) stuff: https://www.pinterest.com/pin/259660734735803937/

  89. Oberoid

    Amazing stuff. Great for creating soundscapes. Is it technically possible to use vintage pcie cards instead of the usb soundcard you are using?

    • andrea

      As far as I know you can use anything which is supported by ALSA. The only requirement to run this stuff is JACK, and JACK will use ALSA to connect to the sound card.

      I forgot to mention that Non-Mixer (and the Spazializer module) may be automated with Non-timeline (though control tracks). Non-session-manager automatically provide the connection between the Non-Mixer and the Non-timeline. This way you can automate many parameters of the Spazializer module: the sound source elevation, azimuth, width and radius. This is what Jonathan Liles does in the video linked above.

  90. KG

    Hi Eric,
    Audacity-2.4.0 was released yesterday with a number of improvements and bug fixes. However, the developers have decided to switch to cmake for compilation, so I’m afraid you’ll have to rewrite your build script when time allows.
    Managed to compile and create a package with makepkg and the new version seems to run trouble-free, no new dependencies.
    Stay safe,
    KG

    • alienbob

      I’ll see if it trivial to switch to cmake for this new release.

    • alienbob

      I had a go at the new Audacity release with cmake, but there are issues with that. I think I have it right, but cmak will not detect lame for instance.
      I did not bother fixing that, considering this is the first release where they use cmake. I noticed Arch Linux already opened three issues on their tracker, for the same things I ran into as well, so let’s wait for those to be fixed.
      Anyway, using “configure” still works just fine.
      Unfortunately, both my cmake and configure attempts resulted in the same wad of errors, like these:

      ../include/audacity/ComponentInterface.h:48:8: error: ??AUDACITY_DLL_API?? does not name a type
      ../include/audacity/ComponentInterface.h:120:24: error: variable ??AUDACITY_DLL_API ComponentInterface?? has initializer but incomplete type
      ../include/audacity/ComponentInterface.h:122:1: error: expected primary-expression before ??public??
      ../include/audacity/ComponentInterface.h:122:1: error: expected ??}?? before ??public??
      ../include/audacity/ComponentInterface.h:122:1: error: expected ??,?? or ??;?? before ??public??
      ../include/audacity/ComponentInterface.h:126:4: error: ??virtual?? outside class declaration
      ../include/audacity/ComponentInterface.h:126:23: error: function ??PluginPath GetPath()?? is initialized like a variable
      ../include/audacity/ComponentInterface.h:130:4: error: ??virtual?? outside class declaration

      Just to be sure that this was not a Slackware-current issue I built audacity-2.3.3 with unmodified SlackBuild (VERSION=2.3.3 ./audacity.SlackBuild) and that built a package without any error.

      So… who has the fix for that faulty 2.4.0 compilation? Is it a missing include somewhere?

  91. KG Hammarlund

    From Audacity’s web page today:
    “We’re currently looking into a serious bug with 2.4.0 and have paused release of it.”

    • alienbob

      Yeah I had noticed. I doubt that that has anything to do with my failure to compile 2.4.0 though.

  92. KG Hammarlund

    You’re right, the bug referred to seems to have something to do with moving soundbites from one open project to another.
    When I managed to compile 2.4.0 I followed the instructions on https://wiki.audacityteam.org/wiki/Building_On_Linux#CMake_Build :
    “Instructions for Building Audacity using CMake
    1. Make a build directory under the audacity git directory.
    cd audacity
    mkdir build-cmake
    cd build-cmake
    2. Generate the makefiles
    cmake -DCMAKE_BUILD_TYPE=Release ..
    3. Build Audacity
    cmake –build .
    make . ”
    I then put the resulting folders in a /usr/ folder and created a slackware package with makepkg.
    Audacity started OK. I didn’t try it out thoroughly. I just checked its conversion capability, opening a .wav file and converting it to .mp3 without issues.
    Have downgraded to your 2.3.3 package awaiting further development.

  93. alienbob

    I updated Ardour to version 6.0, see https://alien.slackbook.org/blog/plasma5-for-slackware-kde-5_20-05-also-new-ardour-6-0/

  94. Bob Funk

    Hi Eric,
    Just wanted to alert you to the news that Ardour 6.2 was released in July. Could be something to queue up in the next DAW release when you have time. 🙂 Some notes are here: https://ardour.org/whatsnew.html

    Also it would be nice to have Robin Gareus’s x42-plugins (https://github.com/x42/x42-plugins) in the DAW, if you’re looking to add some useful plugins to the DAW suite. I’ve only built the simplescope program so far for doing some audio analysis but the whole suite of tools seems useful. It’s on my to-do list for adding to my persistent live DAW so I’ll give it a shot too when I can.

  95. alienbob

    Hi Bob,

    The new Ardour was released during my holiday in France, but I did see it mentioned as part of the Quarterly Release Pact: https://libremusicproduction.com/dev/release/ – and a new Guitarix was mentioned there as well.
    I have updated Ardour to 6.2 now and will certainly look into x42-plugins and an update to Guitarix.

    • alienbob

      In the meantime I have update Guitarix, added a new gxplugins.lv2 package to provide a collection of additional LV2 plugins for Guitarix, and also built a package for x42-plugins (using the Arch Linux script as a guideline since the packaging process is not well-documented).

      • Bob Funk

        Thanks for putting those builds together. I wasn’t expecting to see those show up so quickly!

        Looks like I’ll be updating my DAW flash drive this week 🙂

  96. KG Hammarlund

    Hi Eric,
    as you maybe already noticed, a new stable version of musescore has been released (3.5.0). Creating a .tgz package on -current using your buildscript was uneventful and the program seems to run as it should.

    • alienbob

      Something do to then when I can’t sleep due to 30+ Centigrade at night…

  97. KG Hammarlund

    Hi Eric,
    musescore-3.5.1 with a number of bug fixes was released yesterday. I used your existing buildscript and had no issues creating a package on 64bit -current. Everything seems to run just fine.

    • alienbob

      Hi, I already built the packages for MuseScore, but I was also overhauling the whole DAW package set, adding “X-DAW” category to the desktop files so that it will be easier also in regular Slackware to group all of my DAW applications in a single submenu.
      I’ll upload what I have now, I am roughly halfway through the packages.
      There’s some other version updates as well.

    • KG Hammarlund

      Update:
      commenting out lines 40-45 in Musescore-3.6/build/FindQt5.cmake seems to have done the trick. Compiling right now. Will report back if build succeeds and after upgrade.

      • KG Hammarlund

        Oops, for some reason the reply above was attached to the wrong post, sorry.

  98. KG Hammarlund

    Hi Eric,
    tried building musescore-3.5.2 released yesterday, but the process stopped with the error message

    Extracting the source archive(s) for musescore…
    sed: can’t read share/sound/CMakeLists.txt: No such file or directory
    ./musescore.SlackBuild FAILED at line 175

    Can’t understand why, since the source file seems to have been successfully extracted and I can find the file CMakeLists txt in its proper place: /tmp/build/tmp-musescore/musescore-3.5.2/MuseScore-3.5.2/share/sound/CMakeLists.txt

    Curiouser and curiouser: I then tried to build musescore-3.5.1 and encountered the same error, although I built a package from that source file a week ago without issues.

    Could it be that some -current upgrade during the last week affects the process, e.g the llvm ugrade on Oct 14?

  99. KG Hammarlund

    Continued: musescore-3.5.2 does build without issues when using Klaatu’s SBo script. However, the resulting package is labeled as unstable/development, even if musescore’s web page declares 3.5.2 as stable. Guess that’s nothing but a bug in the source package.

    • alienbob

      I built that new release, it needs a couple of edits in the SlackBuild script. The developers did not upload the release ZIP file they usually add to the assets.

      • andrea

        I’ve just upgraded to MuseScore-3.5.2 and I cannot see the palettes anymore.

        In the console I read this:
        qrc:/qml/palettes/PaletteTree.qml:178: Error: Cannot assign to non-existent property “color”

        The AppImage works as expected so I think this could be a packaging issue (I did not check the build scrip thought, sorry)

        You did a great job with this daw project!!

        • andrea

          ok, this seems to be a bug in kde plasma:

          https://bugs.kde.org/show_bug.cgi?id=425949

          should be fixed in KDE Frameworks 5.74.

          best,
          andrea

          • alienbob

            Let’s all hope that Patrick adds Plasma5 to Slackware soon, or else we will be stuck with this issue.

  100. KG Hammarlund

    Thanks a lot for the package and the refreshed buildscript!
    Still a mystery why version 3.5.1 built with your old buildscript a week ago but not yesterday. But maybe musescore made some change to the source package.

  101. Bob Funk

    Hi Eric,

    I noticed that ardour6 was complaining about missing libraptor2.so from the recently removed slackware64 package “raptor2-2.0.15-x86_64-10.txz”. I reinstalled raptor2 from the slackware.uk cumulative repo as a temporary fix. Just wanted to bring this breakage to your attention.

    • alienbob

      Yes, a raptor2 package is already staged in my own repository and it will be uploaded soon. Slackware may no longer need it but several of my DAW packages have liblrdf as a dependency and that one really needs raptor2. There was no other choice than to add a ‘raptor2’ package to my slackbuilds.

  102. andrea

    Just a note to let you know that it seems like you forgot to remove the previous ardour-6.5 build from the repository and so, as far as I can understand, slackpkgplus will not install the new one.

    Thanks.

    • alienbob

      Indeed! I will remove them and re-build the repository meta-data now.
      Thanks.

  103. andrea

    I think you forgot to add libwebsockets, an ardour dependency, to the daw.template file in daw_base.

    As always many thanks and my best wishes for the upcoming holidays.

    • alienbob

      You’re correct andrea… I need to fix that template and possibly the package.

  104. andrea

    I’m sure you noticed so I’m posting a line just as a reminder: pulseaudio-14.1 landed in current yesterday night…

    • alienbob

      Hi andrea, I had not noticed, I am not too busy with Slackware these days since the day job is too challenging at the moment.
      But I will at least try to get an updated pulseaudio-jack out the door soon.
      Thanks for reminding 😉

  105. KG Hammarlund

    Hi Eric,
    tried building the just released MuseScore-3.6 but ended up with the following:

    “CMake Error at build/FindQt5.cmake:43 (message):
    MuseScore 3 does not support Qt 5.15: 5.15.0 shows empty palettes panel,
    5.15.1 and later crash when opening pre-3.6 scores due to QTBUG-77337
    Call Stack (most recent call first):
    CMakeLists.txt:84 (include)

    — Configuring incomplete, errors occurred!”

    The odd thing is that I built the 3.6-RC less than a week ago (with qt-5.15.2). Worked perfectly. No issues with palettes or opening old scores.
    Maybe there’s nothing to do except waiting for the next release.

    • KG

      Update:
      commenting out lines 40-45 in Musescore-3.6/build/FindQt5.cmake seems to have done the trick. Compiling right now. Will report back if build succeeds and after upgrade.

      • KG Hammarlund

        Update2:
        Built without glitches, everything seems to work after upgrade, no issues with palettes or with opening scores created in mscore-3.5
        Haven’t tested all functions, of course.

  106. KG Hammarlund

    MuseScore 3.6.1 with a number of bugfixes released. Builds perfectly with your buildscript. The abovementioned qt-5.15 issue has been fixed (the problematic lines in FindQt5.cmake are no longer present).

  107. LoneStar

    Eric,

    just a comment on this old post to report that chromaprint would most likely need to be recompiled after the update of ffmpeg to 5.1.2. It’s linked to libavcodec.so.58.

    Take care.

    • alienbob

      LoneStar, indeed. I have uploaded a set of fresh packages, thanks.

  108. KG Hammarlund

    Hi Eric,

    I noticed that MuseScore-4.0 has been released, with a lot of changes/additions. Tried building using your buildscript for 3.6.2, which failed:

    — Configuring incomplete, errors occurred!
    See also “/tmp/build/tmp-musescore/MuseScore-4.0/build-musescore/CMakeFiles/CMakeOutput.log”.
    make: *** No targets specified and no makefile found. Stop.
    make: *** No rule to make target ‘install’. Stop.
    /tmp/build/tmp-musescore/MuseScore-4.0
    grep: /tmp/build/package-musescore/usr/share/applications/*.desktop: No such file or directory
    sed: can’t read /tmp/build/package-musescore/usr/share/applications/*.desktop: No such file or directory
    ./musescore.SlackBuild FAILED at line 243

    I then tried Ponce’s buildscript (i.e Klaatu’s) for -current, which worked with a few tweaks (complaints about missing .md files).

    My needs when using MuseScore are simple, I mainly use it for creating fairly simple sheets. Those basic functions runs fine. However, I realise that version 4 offers a lot of new functions, not least support of VST plugins.

    There’s also a new MuseSound plugin, but I’m not sure whether it can be made to work on a Slackware system. Closed source, so the source files are hidden somewhere. A .deb package exists, but it seems to be dependent on the systemD daemon…

    Best wishes, and hoping you’ll be able to have a peaceful Christmas.

    • alienbob

      I will see what happens if I build it here. You did not show the actual error in your log output, just the results of it. Probably trivial to solve.
      About VST (version 3) plugin support, I am still undecided.

      • KG Hammarlund

        Writing some sheet music on MScore4 yesterday and found it buggy as hell. The number of issues reported on github was not exactly encouraging. I’ve reverted to 3.6.2 and will stay there at least till the next version, which hopefully will be more stable. So there’s no need spending time on 4.0.
        I wish you a happy new 2023.

        • alienbob

          I’ll stay away from MuseScore 4 for now.
          Best wishes for 2023 Karl Gunnar.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2024 Alien Pastures

Theme by Anders NorenUp ↑