Page 1 of 1

Mamba goes microtonal.

Posted: Thu May 11, 2023 5:45 pm
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


Re: Mamba goes microtonal.

Posted: Fri May 12, 2023 2:45 pm
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.


Re: Mamba goes microtonal.

Posted: Sun May 14, 2023 10:15 am
by tramp

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


Re: Mamba goes microtonal.

Posted: Sun May 14, 2023 10:29 am
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.


Re: Mamba goes microtonal.

Posted: Tue May 16, 2023 5:46 pm
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


Re: Mamba goes microtonal.

Posted: Tue May 16, 2023 7:12 pm
by sysrqer

Excellent decision!


Re: Mamba goes microtonal.

Posted: Thu May 18, 2023 8:40 am
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.


Re: Mamba goes microtonal.

Posted: Thu May 18, 2023 5:19 pm
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?


Re: Mamba goes microtonal.

Posted: Thu May 18, 2023 6:00 pm
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.


Re: Mamba goes microtonal.

Posted: Thu May 18, 2023 9:53 pm
by oddy.o.lynx

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


Re: Mamba goes microtonal.

Posted: Fri May 19, 2023 3:20 am
by tramp

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

Image

I would implement microtonal support there as well.


Re: Mamba goes microtonal.

Posted: Mon May 22, 2023 5:21 am
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


Re: Mamba goes microtonal.

Posted: Thu Jun 08, 2023 4:40 am
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.