Mamba goes microtonal.

What other apps and distros do you use to round out your studio?

Moderators: MattKingUSA, khz

Post Reply
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Mamba goes microtonal.

Post by tramp »

Hi
I've just pushed initial microtonal support to Mamba.
Image

supports now scales from 10 to 22-edo.
This works only when fluidsynth is active.

https://github.com/brummer10/Mamba

On the road again.
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Mamba goes microtonal.

Post by tramp »

I've implemented now the possibility to setup a custom keymap in relation to the edo. Next step will be to allow multiple custom keymaps, say one for each edo, and load the one for the selected edo automatically. After that we need a MIDI mapper, so that you could map your MIDI keyboard to match the selected edo keymapper.
However, I've a lot of fun already with microtonal setups as it is now.

On the road again.
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Mamba goes microtonal.

Post by tramp »

. . . and now I've implemented support for non edo scales, first one is Just Intonation.

On the road again.
User avatar
sysrqer
Established Member
Posts: 2520
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 319 times
Been thanked: 148 times
Contact:

Re: Mamba goes microtonal.

Post by sysrqer »

tramp wrote: Sun May 14, 2023 10:15 am

. . . and now I've implemented support for non edo scales, first one is Just Intonation.

This is really cool, thank you.

tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Mamba goes microtonal.

Post by tramp »

So I've ditched all the edo's and implemented Scala tuning file support. Now you could load what ever tuning you wish into Mamba (via drag n' drop or via the file menu). The Keyboard will reflect the tuning ratios from the Scala files (as shown above with the edo selector).
I keep 3 modes in the selector, its 12-Just intonation, 12 edo and Scala. You could create a custom keymap file for each of them.
Tunings will be loaded into the selected channel, when you select "--" in the channel selector and load a new tuning it will be loaded into all channels.

https://github.com/brummer10/Mamba

On the road again.
User avatar
sysrqer
Established Member
Posts: 2520
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 319 times
Been thanked: 148 times
Contact:

Re: Mamba goes microtonal.

Post by sysrqer »

Excellent decision!

tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Mamba goes microtonal.

Post by tramp »

beside scl files I've implemented now as well support for *.kbm (Keyboard mapping) files, so you could map your MIDI keyboard to match the loaded scala file. This works for jack and alsa input.

On the road again.
oddy.o.lynx
Established Member
Posts: 115
Joined: Sat Jun 30, 2018 2:54 am
Has thanked: 22 times
Been thanked: 22 times

Re: Mamba goes microtonal.

Post by oddy.o.lynx »

this is great news

I was wondering, did you implement the Surge Synth Team's Tuning Library to implement this?

https://surge-synth-team.org/tuning-library/

I was also wondering if you had any plans to integrate MTS-ESP?

tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Mamba goes microtonal.

Post by tramp »

oddy.o.lynx wrote: Thu May 18, 2023 5:19 pm

I was wondering, did you implement the Surge Synth Team's Tuning Library to implement this?

No, I use this one:
https://github.com/MarkCWirt/libscala-file
to read the Scala files and implemented a algorithm to convert the files to fluidsynth tuning pitches.
Same for reading kbm files, I read the kbm files with the help of libscala-file and then convert those to a mapping matrix.

oddy.o.lynx wrote: Thu May 18, 2023 5:19 pm

I was also wondering if you had any plans to integrate MTS-ESP?

Not really, as this is not a plugin.

On the road again.
oddy.o.lynx
Established Member
Posts: 115
Joined: Sat Jun 30, 2018 2:54 am
Has thanked: 22 times
Been thanked: 22 times

Re: Mamba goes microtonal.

Post by oddy.o.lynx »

thanks for the info, any plans to make this a plugin?

tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Mamba goes microtonal.

Post by tramp »

No. But there is Fluida.lv2
https://github.com/brummer10/Fluida.lv2

Image

I would implement microtonal support there as well.

On the road again.
oddy.o.lynx
Established Member
Posts: 115
Joined: Sat Jun 30, 2018 2:54 am
Has thanked: 22 times
Been thanked: 22 times

Re: Mamba goes microtonal.

Post by oddy.o.lynx »

I look forward to that. As an aside, I am on Debian 11 and had to make these adjustments to be able to build Fluida.lv2

Code: Select all


diff --git a/Fluida/fluida.h b/Fluida/fluida.h
index 2c960e5..7edf9b8 100644
--- a/Fluida/fluida.h
+++ b/Fluida/fluida.h
@@ -22,16 +22,16 @@
 #ifndef FLUIDA_H_
 #define FLUIDA_H_
 
-#include <lv2.h>
-#include <lv2/lv2plug.in/ns/ext/atom/atom.h>
-#include <lv2/lv2plug.in/ns/ext/atom/util.h>
-#include "lv2/lv2plug.in/ns/ext/atom/forge.h"
-#include <lv2/lv2plug.in/ns/ext/midi/midi.h>
-#include <lv2/lv2plug.in/ns/ext/urid/urid.h>
-#include "lv2/lv2plug.in/ns/ext/patch/patch.h"
-#include "lv2/lv2plug.in/ns/ext/options/options.h"
-#include "lv2/lv2plug.in/ns/ext/state/state.h"
-#include "lv2/lv2plug.in/ns/ext/worker/worker.h"
+#include <lv2/core/lv2.h>
+#include <lv2/atom/atom.h>
+#include <lv2/atom/util.h>
+#include "lv2/atom/forge.h"
+#include <lv2/midi/midi.h>
+#include <lv2/urid/urid.h>
+#include "lv2/patch/patch.h"
+#include "lv2/options/options.h"
+#include "lv2/state/state.h"
+#include "lv2/worker/worker.h"
 
 #define PLUGIN_URI "https://github.com/brummer10/Fluida.lv2"
 #define PLUGIN_UI_URI "https://github.com/brummer10/Fluida_gui"
diff --git a/Fluida/lv2_plugin.h b/Fluida/lv2_plugin.h
index d44383f..5845d4a 100644
--- a/Fluida/lv2_plugin.h
+++ b/Fluida/lv2_plugin.h
@@ -19,8 +19,8 @@
  */
 
 
-#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
-#include "lv2/lv2plug.in/ns/extensions/ui/ui.h"
+#include "lv2/core/lv2.h"
+#include "lv2/ui/ui.h"
 
 // xwidgets.h includes xputty.h and all defined widgets from Xputty
 #include "xwidgets.h"
diff --git a/libxputty b/libxputty
--- a/libxputty
+++ b/libxputty
@@ -1 +1 @@
-Subproject commit 10aac63b6d3fde177ef0cf07d014c3bff3d72688
+Subproject commit 10aac63b6d3fde177ef0cf07d014c3bff3d72688-dirty

tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Mamba goes microtonal.

Post by tramp »

So scala *.scl support is implemented in Fluida now. Keyboard mapping is still missing for now.
I've switched the LV2 include path as well to match the ones used in debian 11. There was a version of LV2-dev released (was it last year?) which didn't work with the short include path, hope that this is now gone to archive.

On the road again.
Post Reply