ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Use this forum to ask questions or make comments about using the WARBL Configuration Tool.
DRKCOSTAS
Posts: 12
Joined: Sun Apr 12, 2020 12:13 am

ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by DRKCOSTAS »

I must say that I am impressed and delighted with WARBL , as it starts with the smartest and simplest and most ergonomic of all fingerings, that of the Irish whistle and builds on it. Many other digital winds, they even omit the Irish whistle fingering and focus on recorder fingering which is not so smart and ergonomic or start with saxophone fingering which is not smart and ergonomic either.I must congratulate the designers , I bought a WARBL and I am looking forward to play it.

I understand that there is not much space on the hardware of WARBL to store many fingering systems. But I believe there is also a smart solution to this too. Modern standards of digital musical instruments (e.g. Artiphone a digital guitar fretboard without strings ) allow in customization and configuration to correspond any note to any of the musical buttons (e.g. Artiphone allows in the configuration software to correspond any note not only to any string but also to any fret of the fretboard!). Even companies thar produce hardware harmonicas like Seydel and Hohner allow customers to design their own tunings for the produced harware harmonica. Of course the same is with midi controllers harmonicas like LEKHOLM DM48. Thus the economic choice for WARBL with a maximum degrees of freedom for the user would be to allow in the configuration to correspond any note of any scale on the optical holes. As storage volume on the hardware would simply be one fingering system only, changing each time. Thus e.g, we might create harmonic -minor scale tunings of the WARBLE (very common chromatic scale in Eastern cultures ) , or augmented scale tunings (all steps major thirds) or dimished scales (all steps minor 3rds) etc. This obviously would allow to play easily chord arpeggios , sequentially on the holes etc. Compared to the configuration possibilities of other digital wind midi controllers that are 3 or 4 times more expensive, this small freedom in the configuration would put WARBL ahead in possibilities.
Last edited by DRKCOSTAS on Sun Apr 12, 2020 5:04 pm, edited 2 times in total.
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by admin »

Thanks for your kind comments!

Because WARBL is open-source you can add your own fingering charts if you have some coding skills, and some users have done that, but I realize it's not an option for most users. The main problem with adding the ability for users to add their own fingering charts is that there are two types of memory on the microcontroller: The EEPROM, which can be changed by the user and is used for storing settings, which has a very small amount of storage, and the RAM, which can only be changed by replacing the entire firmware. Currently the EEPROM is mostly used up by storing the settings that can be changed by the user, so unfortunately there's no room for the user to store even a single custom fingering chart. However, if at some point I change to a chip with more memory, I'll take this suggestion into consideration. I agree it would be a very useful feature.
Andrew Mowry
info@warbl.xyz
DRKCOSTAS
Posts: 12
Joined: Sun Apr 12, 2020 12:13 am

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by DRKCOSTAS »

Thank you again! I understand about the memory of the chip. I encourage you to allow it in the future as setting your own scales forthe holes is a fundamental advantage of the digital midi controller musical instruments and will find many new customers of ethnic winds and jazz that do not use diatonic scales but rather chromatic scales even inside the 12-notes western musical universe. Many ethnic musiciians would want of course scales outside the 12-notes western universe and basically midi coding can support that too. But unfortunatly most of the midi controllers in the market do not support that microtonal ability. For example the midi controller harmonica LEKHOLM DM48 is allowing any scale and tuning but within the 12-notes westernuniverse. The fact that wind midi controllers like AKAI EWI, Roland or Sylphyo although they have too many fingering types , they do not support any scale and tuning in its full freedom even inside the 12-notes western universe , is only because of non-smart design as far as this issue is concerned.

Yes I do have coding skills, I was a computer programmer too. I wonder how could I do it with the open source software . Do you have any hints?
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by admin »

That makes perfect sense, and I agree, it would be very useful for users to be able to develop their own fingering chart. Part of the challenge with wind instruments is that there are so many possible fingering combinations (with 8 tone holes there are 256 combinations), and the device needs to know what note to play for every one.

I use the Arduino IDE for writing the WARBL code, and if you go to the WARBL GitHub, the ReadMe tells how to set up the IDE for WARBL:

https://github.com/amowry/warbl

It's a bit different than programming an Arduino because WARBL uses a custom bootloader and needs to be programmed to be a Class-Compliant MIDI device.

The code is also there on the Github site. Version 1.6 is the current release version, but I'll have 1.7 ready in a few weeks. You'll see there's a "fingering chart" file that contains all the chart. What others have done is replace one of the existing charts with one of their own.
Andrew Mowry
info@warbl.xyz
DRKCOSTAS
Posts: 12
Joined: Sun Apr 12, 2020 12:13 am

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by DRKCOSTAS »

Thank you again! I opened the "fingering charts" file at the tin-whsitle fingering and downloaded the firware code. As soon as the warbl hardware will be delivered to me I will try it. Although I have not programmed particularly in this programming language, I assume all I have to do is to change the C, C# , B etc to the notes I want (or not only ?). I will experiment.
BJG
Posts: 8
Joined: Tue Apr 14, 2020 8:19 pm

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by BJG »

Hi drkcostas -

It's a little more complicated than that, but logical once you get used to it.

In the "fingering_charts" file, you'll see an "explicit entry" list for various different instruments, which might look something like this.

{70}, //0000000 Bb
{70}, //0000001
{70}, //0000010
{70}, //0000011
{70}, //0000100
...
...
...
{64}, //1111110 E
{62} //1111111 D

In this example, the first column is a note value, while the binary number represents a seven-hole fingering pattern where 0=open, 1=closed. (I think the note names are an optional mnemonic.)

You could create your own fingering as follows:

1) Work out the binary pattern and note value for your fingering system
2) Set up a spreadsheet containing all the numbers 0000000 -> 1111111 in order
3) Fill in the entries for your fingering pattern
4) Pad out the remaining list, eg by extending/duplicating each entry down to the next slot
5) Tweak individual fingering patterns according to taste if necessary

Different instrument presets are handled in different ways. Following some guidance, I was recently able to create a new one to replace the North American Flute, which uses a straightforward seven-hole template. (I haven't delved into patterns which use the thumb-hole.)

As for implementing different scales, I guess you could use search/replace to swap out the note values in the list, though it's a bit of a long-winded way of doing it.

Incidentally, re: alternative scales and microtonal tunings, have you come across Scala...?

http://www.huygens-fokker.org/scala/

I haven't looked at it closely, but I get the impression that it could be used to configure alternative tunings on a number of compatible MIDI hardware and software synthesisers that could be controlled with Warbl (or other instruments like the DM48).
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by admin »

Yep, that’s the way to do it. Thanks for outlining that. Sorry that the process is not more intuitive.

By the way, everything after the “//“ is just a comment so you can see what fingering pattern goes with each MIDI note, but it doesn’t have to be there. So, instead of:

{70}, //0000000 Bb

You could just have:

{70},

It would be harder to debug, though.
Andrew Mowry
info@warbl.xyz
DRKCOSTAS
Posts: 12
Joined: Sun Apr 12, 2020 12:13 am

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by DRKCOSTAS »

Thank you both of you (BJG and ADMIN) ! I will follow your instructions and if I have something to ask I will come back to you.
User avatar
admin
Site Admin
Posts: 669
Joined: Tue Mar 26, 2019 5:17 pm
Contact:

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by admin »

I've been thinking more about your suggestion for the ability to add a custom fingering chart. Were you thinking that it would start with the basic tin whistle chart, with the ability to set each fingering pattern in that chart to any MIDI note?

Or, were you hoping to be able to set any possible fingering pattern to any MIDI note? This second one is what I originally had in mind, and like I mentioned above it would be tricky because there are so many possible patterns. However, the first option might be feasible, because I would have to store far less data.
Andrew Mowry
info@warbl.xyz
User avatar
danjcla
Posts: 29
Joined: Sat Aug 01, 2020 8:52 pm

Re: ANY SCALE AND ANY TUNING ON THE OPTICAL HOLES

Post by danjcla »

admin wrote: Wed Apr 15, 2020 3:40 am So, instead of:

{70}, //0000000 Bb

You could just have:

{70},

It would be harder to debug, though.
I haven't used C++ in so long that I didn't fully remember // was its line-comment character, and while trying to figure out what the numbers were, I came to the conclusion they couldn't possibly be note values, because they didn't always correspond to the same notes.

So I guess this means either I can't read straight at 2am, or there are some comment bugs.

The ways I can think to do fix this and make sure it doesn't happen again:

(1) Write some trivial lint-like program that must run clean before a git commit, that just stupidly makes sure the same number always corresponds to the same note.

(2) Make it a generated file that actually generates the {number} lists code, along with the comment, from a slightly formalized version of the comment syntax you've been using (e.g. always specify octave as well). This could also be useful for experimenting with algorithmically-generated fingerings, as I'm guessing it's good to have that stuff hardcoded for latency reasons even if it's the result of an algorithm.

If you like either of those ideas, or have your own, but not time, I'd be happy to take a whack at it, although be forewarned, I am a duffer of a programmer :-)

(I can transfer this to a github issue or the bugs forum if you'd rather stuff like this be in one of those places.)
Post Reply