Building MusE on Debian 10 Buster

MusE is a MIDI/Audio sequencer with recording and editing capabilities, aiming to be a complete multitrack virtual studio for Linux. https://muse-sequencer.org/

Moderators: MattKingUSA, khz, spamatica

Post Reply
User avatar
oscillator
Established Member
Posts: 291
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Contact:

Building MusE on Debian 10 Buster

Post by oscillator »

Hi all,

preparing a new (refurbished!) computer (for making a tutorial for MusE) I was documenting the steps for building it on Debian 10 Buster (with XFCE4), the only distro I use, I decided to document the steps.

1. sudo apt-get install git git-core

2. Visit https://github.com/muse-sequencer/muse and get the HTTPS URL by clicking the "Code" button.
git clone https://github.com/muse-sequencer/muse.git

Code is downloaded.

3. Install tools:
sudo apt-get install build-essential cmake

4. Install libraries (taken from the Ubuntu install info in the README)
sudo apt-get install libsndfile1-dev libsamplerate0-dev libjack-jackd2-dev ladspa-sdk qt5-default qttools5-dev qttools5-dev-tools liblo-dev dssi-dev lv2-dev libsamplerate0-dev libsndfile1-dev libfluidsynth-dev libgtkmm-2.4-dev librtaudio-dev libqt5svg5-dev libinstpatch-dev liblilv-dev liblrdf0-dev

5. cd muse/muse3

6. ./compile_muse.sh

This resulted in a build with the following warnings:

ERRORS/WARNINGS
-- Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
-- Checking for module 'rubberband>=1.8.1'
-- No package 'rubberband' found
Zita resampler disabled

** WARNING: lash (>= 0.2) was enabled, but development files were not found.
** HINT: Don't have LASH? Try installing the LADISH LASH compatibility package instead.
** WARNING: python (>= 2.4) was enabled, but development files were not found or too old.
** WARNING: RubberBand was enabled, but development files were not found.

The following components will be built:
-----------------------------------------------
ALSA support
RTAudio support
Lrdf support
OSC (Liblo) support
DSSI support
LV2 support
LV2 Gtk2 UI support
Native VST support
Fluidsynth support
Instpatch support

The following components WILL NOT be built:
-----------------------------------------------
Lash support
Python support
LV2 makePath support
RubberBand support
Zita Resampler support
Experimental features

7. So....
sudo apt-get install liblash-compat-dev librubberband-dev python3-dev

Which resulted in

The following components WILL NOT be built:
-----------------------------------------------
LV2 makePath support
Zita Resampler support
Experimental features

Are these 3 components necessary?

Otherwise I will update the README with a "Build MusE under Debian 10" and do a pull request.
MusE DAW running on Debian 10 Stable/XFCE4.
https://oscillator.se/musik

spamatica
Established Member
Posts: 306
Joined: Mon Feb 08, 2010 10:38 am

Re: Building MusE on Debian 10 Buster

Post by spamatica »

Alright, cool!

Any part of this we should improve the documentation with?
Update: I saw you would make a pull request, sounds great!

Let's go through all the components that were not built:

- Lash support
Lash is a session manager that I believe is no longer being developed so the likelyhood you will need it is low.

- Python support
The python stuff was set up on the build list for the last release but the features it enables are to my knowledge only for very advanced use (like programmatic remote-control)

- LV2 makePath support
Tim will have to correct me, but I think he doesn't want this to be included, some incompatibility with how muse works maybe? Not entirely sure.. I think I have some plugin that isn't available because we don't include this support though.

- RubberBand support
I believe this is the default stretch/resample library, as I've recently become a very big fan of the dynamic stretching functionality this should definitely be included.

- Zita Resampler support
I've heard this is even higher quality than rubberband but I'm not sure how easy it is to install..

- Experimental features
experimental is experimental ;) no reason to go there..

User avatar
oscillator
Established Member
Posts: 291
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Contact:

Re: Building MusE on Debian 10 Buster

Post by oscillator »

spamatica wrote:
Tue Sep 01, 2020 4:23 pm
- Lash support
Lash is a session manager that I believe is no longer being developed so the likelyhood you will need it is low.
Ok, warning removed when I install:
sudo apt-get install liblash-compat-dev
spamatica wrote:
Tue Sep 01, 2020 4:23 pm
- Python support
The python stuff was set up on the build list for the last release but the features it enables are to my knowledge only for very advanced use (like programmatic remote-control)
Warning removed when I install:
sudo apt-get install python3-dev
spamatica wrote:
Tue Sep 01, 2020 4:23 pm
- LV2 makePath support
Tim will have to correct me, but I think he doesn't want this to be included, some incompatibility with how muse works maybe? Not entirely sure.. I think I have some plugin that isn't available because we don't include this support though.
OK, waiting for Tim's input on this one.
spamatica wrote:
Tue Sep 01, 2020 4:23 pm
- RubberBand support
I believe this is the default stretch/resample library, as I've recently become a very big fan of the dynamic stretching functionality this should definitely be included.
Warning removed when I install:
sudo apt-get install librubberband-dev
spamatica wrote:
Tue Sep 01, 2020 4:23 pm
- Zita Resampler support
I've heard this is even higher quality than rubberband but I'm not sure how easy it is to install..
Yeah, this is part of Tim's new work, right. What should I install?
spamatica wrote:
Tue Sep 01, 2020 4:23 pm
- Experimental features
experimental is experimental ;) no reason to go there..
:D
MusE DAW running on Debian 10 Stable/XFCE4.
https://oscillator.se/musik

Tim E. Real
Established Member
Posts: 408
Joined: Sat Sep 15, 2012 12:36 am

Re: Building MusE on Debian 10 Buster

Post by Tim E. Real »

Hi!
- Lash support
Lash is a session manager that I believe is no longer being developed so the likelyhood you will need it is low.
You can try LASH or the LADISH lash compatibility layer. We've got requests to add NSM support but that's on the back-burner.
- Python support
The python stuff was set up on the build list for the last release but the features it enables are to my knowledge only for very advanced use (like programmatic remote-control)
No worries if it is not installed. It's mostly for remote control.
But on the other hand I'm not sure about our midi scripts (a.k.a. 'functions'), don't they require python as well?
- LV2 makePath support
Tim will have to correct me, but I think he doesn't want this to be included, some incompatibility with how muse works maybe? Not entirely sure.. I think I have some plugin that isn't available because we don't include this support though.
Correct. I put a lot of work into making sure it worked, only to realize that's not what MusE needs.
So I removed the option to prevent packagers from accidentally enabling it. I will try to remove the warning as well.
Sigh. Too bad, it's kinda cool that it works but really not what we want for MusE.
You'll notice QTractor has a similar option, which says 'dangerous'. I agree, he he.
- RubberBand support
I believe this is the default stretch/resample library, as I've recently become a very big fan of the dynamic stretching functionality this should definitely be included.
Correct. It is useful, but not required, to install this.
If you have no intention of 'stretching' audio, you'll be fine without it.
- Zita Resampler support
I've heard this is even higher quality than rubberband but I'm not sure how easy it is to install..
Actually it is not a stretcher but a resampler supposedly with better quality than libsamplerate (which we actually require).
It is work in progress so I should probably remove the option for now because it's taking quite a long time to get around to this again.
Installing it does nothing really, the support is not complete yet by a long shot.

My intention with the stretching/resampling library support was to leave the door open for newer or more professional stretch libraries.
In theory I've made it as easy as possible to support new ones as they come along - I have a complete 'plugin' and discovery system for them.

Rubberband is, I read, quite heavy and not very well optimized. So that's why I am eyeballing other libraries.
In particular, I contacted this high quality product site to ask if they would consider individual licenses:
https://www.zynaptiq.com/ztx/
- Experimental features
Yeah, mostly old un-compileable stuff. Surely don't want this. I believe I removed the option, I should probably remove the warning as well.

User avatar
oscillator
Established Member
Posts: 291
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Contact:

Re: Building MusE on Debian 10 Buster

Post by oscillator »

Thanks, @Tim E. Real!

I've updated the build instructions, and as the Debian and Ubuntu instructions will be the same, I merged them.

Made a pull request.
MusE DAW running on Debian 10 Stable/XFCE4.
https://oscillator.se/musik

Post Reply